Introduces Filament management for site settings, services, portfolio cases, and testimonials with admin-only policies, validated media uploads, and deterministic seeding. Includes comprehensive design and task documentation for the implementation. Co-authored-by: Cursor <cursoragent@cursor.com>
1.3 KiB
1.3 KiB
ADDED Requirements
Requirement: Site settings singleton is manageable by admin only
The system SHALL persist site-wide settings in a site_settings table as a typed singleton (SPEC WEB-06, §8.2). Fields MUST include brand name, hero copy (eyebrow, title, subtitle, CTA label), about summary, contact email/phone/city, social links (jsonb), default meta title/description, default OG image path and alt text, and optional analytics fields disabled by default.
Scenario: Admin updates site settings
- WHEN an admin saves the site settings form in Filament
- THEN the singleton record is updated
- AND labels and validation messages are in pt-BR
Scenario: Assistant cannot access site settings
- WHEN an assistant navigates to site settings in Filament
- THEN access MUST be denied with HTTP 403
Scenario: Default OG image requires alt text
- WHEN an admin uploads a default OG image without alt text
- THEN validation MUST fail with a pt-BR error message
- AND alt text MUST remain optional when no default OG image is present
Scenario: Singleton avoids generic key-value store
- WHEN site settings are stored
- THEN the system MUST use typed columns on
site_settings - AND MUST NOT introduce a generic key/value configuration table