Files
Manoel Freitas cf1589c916 feat: recreate public frontend with Heritage Editorial identity (#5)
* feat: recreate public frontend with Heritage Editorial identity

Replace placeholder visual system with EB Garamond/olive tokens, brand assets, editorial home narrative, São Paulo settings, real testimonials, and regenerated visual baselines.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: archive recreate-public-frontend and sync Heritage Editorial specs

Merge delta requirements into main OpenSpec capabilities and move the completed change into the dated archive.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 23:39:00 -03:00

58 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1. Tokens, fonts and brand assets
- [x] 1.1 Write failing feature/CSS contract tests (or extend existing token/layout assertions) for Heritage Editorial palette, EB Garamond family, radius 0 and container `1120px`
- [x] 1.2 Rewrite `resources/css/tokens.css` + `@theme` mapping in `app.css` to Heritage Editorial; remove card-shadow hierarchy for public content
- [x] 1.3 Swap Vite font from Instrument Sans to self-hosted EB Garamond (400/500/600) and update `components/fonts.blade.php` consumption
- [x] 1.4 Add optimized logo assets under `public/brand/` (light/dark variants) from the provided lockup without redrawing geometry; add `<x-brand.logo>` with accessible alt
- [x] 1.5 Run focused feature/static checks covering tokens/fonts and `npm run build`
## 2. Site settings and CMS editorial fields
- [x] 2.1 Add failing feature tests for new typed `site_settings` fields (logo, hero secondary CTA/note, manifesto, method steps, principles) and São Paulo seed city
- [x] 2.2 Create migration + model fillable/casts for the new typed columns (JSONB for method steps/principles preferred)
- [x] 2.3 Update Filament `ManageSiteSettings` with pt-BR editorial sections and logo alt validation
- [x] 2.4 Update `ContentSeeder` / factory defaults with editorial copy and São Paulo; keep optional fields nullable with safe view defaults
- [x] 2.5 Run `composer test:feature` for site-settings coverage
## 3. Real testimonials
- [x] 3.1 Add failing tests for multi-paragraph quote rendering and seeder expectations for the five couples from `depoimentos.md`
- [x] 3.2 Replace fictional testimonials in content/visual seeders with the real quotes, author names and context/dates
- [x] 3.3 Update testimonials Blade to render paragraph breaks; keep unpublished-by-default path documented for production authorization
- [x] 3.4 Run testimonials feature tests
## 4. Public layout and navigation
- [x] 4.1 Add/extend failing tests for brand mark in header, landmarks, skip link, and mobile menu `aria-expanded` behavior
- [x] 4.2 Redesign `layouts/public.blade.php` header/footer for Heritage Editorial (logo, route nav, contact CTA, footer groups)
- [x] 4.3 Implement minimal mobile menu toggle in `resources/js/app.js` with reduced-motion safety
- [x] 4.4 Run layout/accessibility structure feature tests
## 5. Home editorial reconstruction
- [x] 5.1 Update failing `HomePageContentTest` (and related) for new section order: hero → manifesto → services → portfolio → method → testimonials → positioning → final CTA; empty catalog sections omitted; CTA → contact; preserve `data-testid="home-primary-cta"`
- [x] 5.2 Rebuild home components/pages to match editorial composition (merge proof+cases into one portfolio block; add manifesto + positioning; four method steps)
- [x] 5.3 Wire settings-driven copy and demo-image disclosure note; keep single `h1`
- [x] 5.4 Run home feature tests
## 6. Internal public pages as chapters
- [x] 6.1 Extend/adjust public page feature tests for services, portfolio index/show, about, contact (presentation-only), privacy and branded errors under the new layout
- [x] 6.2 Restyle `pages/services`, `pages/portfolio/*`, `pages/about`, `pages/contact`, `pages/privacy`, `errors/404`, `errors/500` to Heritage Editorial without changing route contracts or inventing proof
- [x] 6.3 Confirm contact page shows settings channels and creates no leads
- [x] 6.4 Run `PublicPagesTest` and related SEO/N+1 tests
## 7. Accessibility, browser and visual gates
- [x] 7.1 Update browser accessibility tests for brand mark name, keyboard path to primary CTA, mobile menu operability, axe on covered routes, reduced motion and clean console
- [x] 7.2 Update `VisualContentSeeder` for deterministic Heritage Editorial content (SP + real testimonial subset + fixtures)
- [x] 7.3 Run browser a11y/smoke suites; fix regressions
- [x] 7.4 Run `composer visual:update` and review desktop `1440×1000` / mobile `390×844` diffs for home, services, portfolio, portfolio detail before committing baselines
## 8. Quality closeout
- [x] 8.1 Run `composer pint` and `composer phpstan` on touched PHP
- [x] 8.2 Run `composer test:feature` and `composer test:browser`
- [x] 8.3 Run `composer quality` (or equivalent full gate) and fix remaining failures
- [x] 8.4 Update surface brief / note remaining unresolved items (official contacts, final testimonial authorization, authorized photography) without inventing facts