feat(web): migrate screenshots-by-path surface off bespoke CSS (migration phase 3, surface 4) - #793
Conversation
…tion phase 3, surface 4) Converts the wsp-* structural/typography rules in account-content.css to Tailwind utilities directly on ScreenshotsByPath.tsx markup; legacy class names stay as DOM/test hooks. Kept as CSS: the custom-property-driven thumb/strip sizing (JS-set --wsp-ar aspect ratio, --wsp-strip-h) and the flip-aware hover-preview popover chrome (#776) — both are subtle, JS-coupled layout left alone per the migration plan's risk guidance. - .wsp/.wsp-project/.wsp-group/.wsp-drill*/.wsp-grid/.wsp-filter*/ .wsp-suggest*/.wsp-toggle*/.wsp-state/.wsp-pair -> Tailwind utilities, deleted from account-content.css. - Sibling-selector .wsp-project + .wsp-project (border between project sections) replaced with an index>0 bordered prop, since React map output has no adjacent-sibling CSS selector to hook. - :hover/:focus-visible view-all disclosure replaced with group/group-hover/ group-focus-visible; @media(hover:none) replaced with the matching Tailwind arbitrary variant. - No client:* directive changes; manual hydrateRoot mount in screenshots.astro untouched.
The root .wsp rule (display:grid; gap:32px) was deleted with the rest of the family but the element never received the replacement utilities, which collapsed the between-project rhythm.
|
|
Maintained by uploads.sh · add media: |
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (2)
🚫 Excluded labels (none allowed) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |

Fourth phase-3 surface (follows #787/#789/#791; plan in
.context/2026-08-22-tailwind-shadcn-migration-plan.md, local doc).What
ScreenshotsByPath.tsx+screenshots.astro: the.wsp*families (project/group/drill layout, grid, filter + suggestions, segmented toggle, empty states, skeletons) moved to Tailwind utilities; legacy class names stay as DOM hooks. The.wsp-project + .wsp-projecthairline became an index-basedborderedprop (React map output has no sibling selector); hover/focus disclosure usesgroup-hover:/group-focus-visible:;@media (hover:none)via arbitrary variant.--wsp-ar/--wsp-strip-hcustom properties) and the entire flip-aware hover-preview block (fix(web): flip-aware hover-preview placement + keyboard focus parity #776) — placement logic and its CSS untouched.ws-empty-state,ws-skel,wft-*) untouched — they serve other surfaces.Verification
astro build, lint green; screenshots vitest suites 49/49 (includes the fix(web): flip-aware hover-preview placement + keyboard focus parity #776 placement tests)..wspgrid/32px-gap rule was deleted without its replacement utilities, collapsing between-project spacing).Screenshot attaches via the managed comment.