--- id: 24-10 title: 24-10 Redesign Integration Verification status: QA Review date: 2026-10-31 parent: 24 --- ## Description Verify the finished redesign as a whole before it is offered for deployment, and fix any defect found within the files touched by tasks 24-1 to 24-9. This task adds no feature. Build the assets (`npm run build`) first so the pages are not rendered from stale CSS. Check, on the local site (`https://libra.test` via Valet, or `php artisan serve`), with at least three published posts in the database and working hours configured so slots exist: 1. **Pages** — `/`, `/about`, `/posts`, one `/posts/{post}`, `/booking`, `/booking/success`, `/page/terms`, `/page/privacy`, `/login`, `/forgot-password`: each in Arabic (RTL) and English (LTR), each at 1440, 768 and 390px wide. 2. **Booking end-to-end** — one guest booking from the home card and one from `/booking`, each reaching `/booking/success` and each appearing in the admin's pending bookings (`/admin/bookings/pending`). 3. **Unchanged areas** — `/admin/dashboard`, `/admin/bookings/pending`, `/admin/posts`, `/client/dashboard`, `/client/consultations/book`, `/forms/nablus-workshop`. 4. **Motion** — load `/` with and without `prefers-reduced-motion: reduce` emulated. 5. **Navigation** — move between public pages with the navigation links (`wire:navigate`) and back to `/`. Fix defects in the redesign's own files only: `resources/css/public.css`, `resources/js/public.js`, `resources/js/site/*.js`, `resources/views/components/site/*.blade.php`, `resources/views/components/navigation.blade.php`, `resources/views/components/footer.blade.php`, `resources/views/components/layouts/public.blade.php`, `resources/views/components/layouts/auth/*.blade.php`, `resources/views/partials/site-fonts.blade.php`, `resources/views/livewire/pages/home.blade.php`, `about.blade.php`, `booking.blade.php`, `booking-success.blade.php`, `posts/index.blade.php`, `posts/show.blade.php`, `resources/views/livewire/availability-calendar.blade.php`, `resources/views/pages/legal.blade.php`, `terms.blade.php`, `privacy.blade.php`, `lang/ar/site.php`, `lang/en/site.php`. ## Acceptance Criteria - [ ] Every page in item 1, in both languages and at all three widths, has no horizontal scroll (`document.documentElement.scrollWidth <= innerWidth`), no console error, and no missing translation key (no raw `site.` or `home.` key text visible). - [ ] Each page in item 1 has exactly one `

`, every `` has a non-empty `alt`, and every interactive element in the navigation, footer and booking card is reachable by Tab with a visible gold focus ring. - [ ] Both bookings in item 2 succeed and appear in `/admin/bookings/pending`. - [ ] The pages in item 3 contain no `public.css`, `public.js`, `class="site` or `site-auth`, and `git diff BASE -- resources/css/app.css resources/views/livewire/admin resources/views/livewire/client resources/views/components/layouts/app.blade.php resources/views/components/layouts/app resources/views/livewire/pages/forms` (BASE = the commit recorded before task 24-1) is empty. - [ ] With reduced motion emulated, all `[data-reveal]` content is visible on load and every balance is level; without it, the hero balance settles and the finale levels on scroll. - [ ] After five `wire:navigate` hops ending on `/`, the hero balance and reveal still work and the finale still levels. - [ ] Contrast: body text on cream, `--gold-lt` text on forest, and the gold button text meet WCAG AA (4.5:1 for body text, 3:1 for large text) — measured, values noted in the task's QA record. - [ ] No page contains the text "Unsplash" or "mockup". ## Sub-tasks None.