* feat: modalidades de casamento e etapas corporativas * feat: home editorial e header/footer conforme preview * docs: proposta openspec home editorial * test: CTA hero agora ancora #sobre conforme preview * test: speed browser suite via visit reuse Collapse route×viewport cartesian products, merge home motion asserts, skip existing VisualContentSeeder JPEGs, ignore Screenshots.
1.4 KiB
1.4 KiB
Wedding Packages
Purpose
Cadastro editorial das modalidades de acompanhamento de casamento oferecidas pela Amare (Essenza, Conduzione, Grand Jour). Fonte única de verdade para a seção 03 — Amare Casamentos da home.
Functional Requirements
- FR-1: Um pacote contém
eyebrow(ex.: "01 / COMPLETA"),title(ex.: "Essenza"),description, lista ordenada deitems(o que está incluído) esort_order. - FR-2: Publicação via
published_at(modelo usaHasPublication); pacotes rascunho nunca aparecem na home. - FR-3: A home renderiza pacotes publicados ordenados por
sort_order, cada um com CTA primário "Quero conhecer a {title}" apontando para o briefing (route('contact')). - FR-4: O recurso Filament "Modalidades" (grupo "Conteúdo do site") permite criar/editar/excluir pacotes e ajustar itens via repeater; acesso restrito a admins (
WeddingPackagePolicy).
Non-Requirements
- Nenhum vínculo com checkout/pagamento nesta capacidade.
- Nomenclaturas exibidas são provisórias até confirmação com a cliente (nota visível na home).
Data
- Tabela
wedding_packages(migration2026_08_11_000000):eyebrow string,title string,description text,items json,sort_order int,published_at timestamp nullable, timestamps. - Seed padrão (ambos os seeders): Essenza
01 / COMPLETA, Conduzione02 / PARCIAL, Grand Jour03 / FINAL, com copy exata do preview estrutural.