QA: sticky nav, hover lift, body font and auth focus fixes; tasks 24 and 24-1..24-10 Done

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Naser Mansour
2026-10-31 19:23:46 +02:00
parent f1ca648672
commit 379f1f9de6
25 changed files with 89 additions and 26 deletions
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-1 Public Design Foundation
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/PublicFoundationTest.php`, 7 tests): public.css fully
scoped under `body.site`; `/` carries `<body class="site`, Markazi font link, hashed public css/js, `.site-progress`;
admin and client dashboards load none of them; head theme-color `#2D3624`. Also checked: manifest has both entries,
+11
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-10 Redesign Integration Verification
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
## Done by the QA pass (2026-10-31)
Automated (`tests/Feature/Design/RedesignIntegrationTest.php`, 6 tests, plus the whole Design directory): for all eight public pages in Arabic
@@ -39,3 +41,12 @@ Fixed by giving the template a single root `<div>`; a test now checks the neares
- `/login` and `/forgot-password` have no `<h1>` (Flux heading renders a div) and three inputs without a programmatic label: those come from `resources/views/livewire/auth/*`, which tasks 24-9/24-10 forbid editing.
- Old tests now stale against the redesign (they assert the previous markup/copy): in `HomePageTest`, `AboutPageTest`, `NavigationTest` (language toggle), `ResponsiveDesignTest` (public layout padding), plus failures that were already there before the redesign (footer copyright wording, `AuthBackgroundPatternTest`, focus-visible in `app.css`, admin `role="main"`).
## Full QA pass — defects found and fixed (2026-10-31)
1. **Sticky navigation did not stick** (24-2): `app.css` sets `overflow-x:hidden` on `body`, making it a scroll container. Fixed with `body.site{overflow-x:clip}`; nav also now exactly 72px (was 73).
2. **Hover lifts never showed** (24-4): the reveal rule's `transform:none` overrode the hover `transform`. Reveal now uses the `translate` property.
3. **Body font was Cairo/Montserrat, not IBM Plex Sans Arabic**: `app.css` sets `html[lang] body` font at higher specificity. Fixed with `html[lang] body.site` / `body.site-auth` (checked in Arabic and English).
4. **Auth inputs had a red border at rest and on focus** (24-9): Flux always renders a hidden error element, so the existing global rule painted every field red. Overridden inside the auth pages, so only a visible error is red (checked: wrong password still shows the red state and the message).
Each has a regression test. Browser checks: nav 72px, sticky after 1,500px scroll, `aria-current`, 1000px menu sheet open and Escape closes it, language pill (EN ↔ ع), footer four columns, hover (row forest + cream + gold arrow, card lift −6px, row lift −2px, medallion rotates, static goal rows inert), booking calendar (66×48 cells, gold dot, selected forest/cream, dimmed unavailable), login styles (48px inputs, 12px radius, gold pill button, serif heading), live search and clear, English and Arabic width sweeps at 390/768/1440 on all ten pages (no horizontal scroll). Full suite after the fixes: 1767 passed, 35 failed (34 in untouched areas, 1 flaky under full-suite ordering: `ConsultationManagementTest` passes alone).
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-2 Navigation and Footer
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/PublicNavFooterTest.php`, 7 tests): sticky header markup, five links,
aria-current on /about and /posts, language pill target, Dashboard/logout for client and admin, footer four columns with
phone/email/legal links and no "Unsplash", all 18 site.* keys in ar and en, `language-toggle`, `navigation.php`, `footer.php`
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-3 Signature Balance Component
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/SiteBalanceTest.php`, 5 tests): component renders `<svg data-balance>`
with viewBox, role/aria-label or aria-hidden, size and passthrough attributes; `balance.js` exports init/destroy, makes ids
unique per instance (`++uid`), uses the spec's spring constants and reduced-motion branch; wired into `public.js`; CSS scoped.
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-4 Home Page Sections
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/HomeRedesignTest.php`, 8 tests): sections `top`, pillars band, `founder`,
`services`, `mission`, `values`, `posts` in order in ar and en; copy from site/home keys; one h1 and non-empty alt on every
image; the four JPEGs exist (magic bytes); hero balance + static balance render; four service rows linking `#book` with chips;
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-5 Home Booking Card
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/HomeBookingCardTest.php`, 11 tests): strip variant lists ≤14 bookable days,
selects the first and loads its slots, other days load theirs; none-message when nothing is bookable; the default `month`
variant is unchanged; compact form order (name, phone, email, day strip, slots, summary, captcha, submit, note); a guest booking
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-6 Booking Page and Booking Success
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/BookingPageRedesignTest.php`, 7 tests): `/booking` shows section head, forest card
(contact, static balance), month calendar inside `.book-r`; slot selection reveals fields and the full flow books exactly once and
redirects; every validation error renders under its field; logged-in client sees the message and no form; calendar days carry the
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-7 About Page
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/AboutRedesignTest.php`, 5 tests): the sections in order with all existing about.*
content in ar and en (identity, vision, three mission cards, six values, seven goals, four service groups, CTA); one h1 and alt on
every image; four service rows link to `/booking`; goal rows carry the static-row CSS; no scholarship content; site keys in both
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-8 Articles and Legal Pages
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/ArticlesLegalRedesignTest.php`, 9 tests; Design dir 106 incl. old `PostsTest`): `/posts` section head,
one h1, debounced search input, text-only post cards; search filters, shows the count line and clear action; empty-state text;
pagination wrapper present with 12 posts; article page meta/h1/prose/back link, unpublished post is 404; `/page/terms` shows title,
+2
View File
@@ -1,5 +1,7 @@
# Manual tests — 24-9 Auth Pages Type and Controls
> **QA 2026-10-31:** every acceptance criterion for this task was verified by command or in-browser measurement and the task is Done. The items below are visual-impression checks for Naser, not outstanding criteria.
Automated (passed 2026-10-31, `tests/Feature/Design/AuthTypeControlsTest.php`, 4 tests; `tests/Feature/Auth` run: all green except
`AuthBackgroundPatternTest` — asserts `fill-opacity="0.06"` inside the pattern SVG, a file this task did not touch): `/login` and
`/forgot-password` load the hashed `public` CSS, `class="site-auth`, the Markazi font link, no public script and no inline font style;