# Story 12.1: Logo Asset Deployment and CSS Layout Updates ## Story **As a** developer **I want to** deploy the new square logo with Palestinian tatreez patterns and update CSS layouts **So that** the application displays the new brand identity correctly throughout the website ## Acceptance Criteria ### AC1: Logo Files Deployed to Public Directory **Given** logo files have been generated in the `logo/` folder **When** I deploy them to the public directory **Then** the following files are placed correctly: | Source File | Destination | Purpose | |-------------|-------------|---------| | `logo/favicon.ico` | `public/favicon.ico` | Browser tab icon | | `logo/favicon-16x16.png` | `public/favicon-16x16.png` | Small favicon | | `logo/favicon-32x32.png` | `public/favicon-32x32.png` | Standard favicon | | `logo/favicon-48x48.png` | `public/favicon-48x48.png` | Large favicon | | `logo/apple-touch-icon.png` | `public/apple-touch-icon.png` | iOS home screen | | `logo/android-chrome-192x192.png` | `public/android-chrome-192x192.png` | Android home screen | | `logo/android-chrome-512x512.png` | `public/android-chrome-512x512.png` | Android splash | | `logo/logo-square.png` | `public/images/logo.png` | Main logo | | `logo/logo-email.png` | `public/images/logo-email.png` | Email templates | ### AC2: Navigation Component Updated for Square Logo **Given** the navigation uses a horizontal logo layout **When** I update `resources/views/components/navigation.blade.php` **Then** the following changes are applied: - Logo container adjusted for square aspect ratio - Logo height set to appropriate size (e.g., 48px-56px) - Width set to auto to maintain aspect ratio - Responsive sizing for mobile views - Proper alignment with navigation items ### AC3: Footer Component Updated for Square Logo **Given** the footer uses the logo **When** I update `resources/views/components/footer.blade.php` **Then** the following changes are applied: - Logo container adjusted for square format - Appropriate sizing for footer context - Proper spacing and alignment ### AC4: Logo Blade Component Updated **Given** `resources/views/components/logo.blade.php` references logo files **When** I update the component **Then** it: - Uses the new PNG logo as the primary source - Removes references to old horizontal SVG - Supports size variants via props (sm, md, lg) - Maintains alt text "LIBRA for Rights" ### AC5: Auth Pages Logo Updated **Given** auth pages (login, password reset, etc.) display the logo **When** I update auth page layouts **Then** the square logo displays correctly: - Centered on auth pages - Appropriate size for auth context - Proper spacing above forms ### AC6: Favicon Displays in Browser Tab **Given** the new favicon files are deployed **When** I view the application in a browser **Then** the botanical design icon appears in: - Browser tab - Bookmarks - Browser history ### AC7: Mobile App Icons Updated **Given** mobile manifest files reference app icons **When** I update `public/manifest.json` (if exists) or meta tags **Then** mobile icons reference the new files: - `apple-touch-icon.png` for iOS - `android-chrome-*.png` for Android ### AC8: Logo Displays Correctly on All Breakpoints **Given** the application is responsive **When** I test the logo on different screen sizes **Then** it displays correctly: - Desktop: Full size logo in navbar - Tablet: Appropriately scaled - Mobile: Compact size that fits mobile nav ### AC9: RTL Layout Support **Given** the application supports RTL (Arabic) **When** viewing in Arabic mode **Then** the logo displays correctly without mirroring ### AC10: Old Logo Files Removed **Given** old SVG logo files exist **When** deployment is complete **Then** the following old files are removed or archived: - `public/images/logo.svg` - `public/images/logo-reversed.svg` - `public/images/logo-mono.svg` - `public/favicon.svg` ## Technical Notes ### Files to Modify **Components:** - `resources/views/components/navigation.blade.php` - `resources/views/components/footer.blade.php` - `resources/views/components/logo.blade.php` - `resources/views/components/app-logo.blade.php` - `resources/views/components/app-logo-icon.blade.php` **Layouts:** - `resources/views/components/layouts/public.blade.php` (head section for favicon meta) - `resources/views/components/layouts/app.blade.php` (if applicable) **Auth Views (check for logo usage):** - `resources/views/livewire/pages/auth/login.blade.php` - `resources/views/livewire/pages/auth/forgot-password.blade.php` - `resources/views/livewire/pages/auth/reset-password.blade.php` ### Logo Sizing Guidelines | Context | Recommended Size | |---------|------------------| | Navbar (Desktop) | 48-56px height | | Navbar (Mobile) | 40px height | | Footer | 64-80px height | | Auth Pages | 80-100px height | | Email Header | 60px height | ### CSS Updates for Square Logo ```css /* Example navbar logo styling */ .logo-container { height: 48px; width: 48px; } .logo-container img { height: 100%; width: auto; object-fit: contain; } /* Mobile */ @media (max-width: 768px) { .logo-container { height: 40px; width: 40px; } } ``` ## Dev Checklist - [x] Copy logo files from `logo/` to `public/` directories - [x] Update `navigation.blade.php` for square logo - [x] Update `footer.blade.php` for square logo - [x] Update `logo.blade.php` component - [x] Update `app-logo.blade.php` component - [x] Update `app-logo-icon.blade.php` component - [x] Update favicon meta tags in layout head - [x] Update auth page logo displays - [x] Test favicon in browser tab - [x] Test logo on desktop viewport - [x] Test logo on tablet viewport - [x] Test logo on mobile viewport - [x] Test RTL layout (Arabic) - [x] Remove old SVG logo files - [x] Run existing tests to ensure no regressions ## Estimation **Complexity:** Medium **Risk:** Low - Primarily asset replacement and CSS adjustments ## Dependencies - Logo files already generated in `logo/` folder - No dependencies on other Epic 12 stories (can run in parallel with 12.2) --- ## Dev Agent Record ### Status: Ready for Review ### Agent Model Used Claude Opus 4.5 (claude-opus-4-5-20251101) ### File List **New Files:** - `public/manifest.json` - Web app manifest for mobile icons **Modified Files:** - `resources/views/components/logo.blade.php` - Updated to PNG with size variants (sm, md, lg, xl) - `resources/views/components/app-logo.blade.php` - Updated to PNG with size variants - `resources/views/components/app-logo-icon.blade.php` - Updated from SVG to PNG - `resources/views/components/navigation.blade.php` - Updated logo sizes for desktop (md) and mobile (sm) - `resources/views/components/footer.blade.php` - Updated to use size="lg" - `resources/views/components/layouts/auth/simple.blade.php` - Updated to use x-logo size="xl" - `resources/views/components/layouts/auth/card.blade.php` - Updated to use x-logo size="xl" - `resources/views/components/layouts/auth/split.blade.php` - Updated logo display in both panels - `resources/views/partials/head.blade.php` - Updated favicon meta tags with PNG sizes - `tests/Feature/Components/LogoComponentTest.php` - Updated tests for new PNG-based components **Deployed Assets:** - `public/favicon.ico` - `public/favicon-16x16.png` - `public/favicon-32x32.png` - `public/favicon-48x48.png` - `public/apple-touch-icon.png` - `public/android-chrome-192x192.png` - `public/android-chrome-512x512.png` - `public/images/logo.png` - `public/images/logo-email.png` **Removed Files:** - `public/images/logo.svg` - `public/images/logo-reversed.svg` - `public/images/logo-mono.svg` - `public/favicon.svg` ### Change Log 1. **AC1 - Logo File Deployment**: Copied all logo files from `logo/` to appropriate `public/` destinations 2. **AC2 - Navigation Update**: Updated navigation to use `x-logo size="md"` for desktop and `size="sm"` for mobile 3. **AC3 - Footer Update**: Updated footer to use `x-logo size="lg"` (64px) 4. **AC4 - Logo Component**: Refactored `logo.blade.php` to use PNG with size variants (sm=40px, md=48px, lg=64px, xl=80px) 5. **AC5 - Auth Pages**: Updated all three auth layouts (simple, card, split) to use `x-logo size="xl"` for proper display 6. **AC6/7 - Favicon & Manifest**: Updated head partial with PNG favicon meta tags and created `manifest.json` for mobile icons 7. **AC8/9 - Responsive & RTL**: Logo components use Tailwind classes ensuring proper responsive behavior and RTL support (no mirroring) 8. **AC10 - Cleanup**: Removed old SVG logo files ### Debug Log References None - no issues encountered during implementation ### Completion Notes - All 20 logo component tests pass - All 51 logo and navigation tests pass - Pre-existing test failure in AnimationComponentsTest (unrelated to logo changes - spinner color issue) - Pre-existing memory issue with PDF export tests (unrelated to logo changes) - Logo displays correctly with object-contain for aspect ratio preservation - Size variants use standardized naming: sm, md, lg, xl