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>
This commit is contained in:
57
openspec/changes/recreate-public-frontend/tasks.md
Normal file
57
openspec/changes/recreate-public-frontend/tasks.md
Normal file
@@ -0,0 +1,57 @@
|
||||
## 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
|
||||
Reference in New Issue
Block a user