--- phase: 35-bug-fixes plan: 03 type: execute wave: 1 depends_on: [] files_modified: - src/client/components/ItemCard.tsx - src/client/components/FabMenu.tsx - src/client/components/BottomTabBar.tsx autonomous: true requirements: - FIX-05 must_haves: truths: - "ItemCard outer button shows cursor-pointer when linkTo is not null" - "ItemCard outer button shows cursor-default when linkTo === null (existing correct behavior, preserved)" - "FabMenu menu item buttons explicitly have cursor-pointer" - "FabMenu main FAB button explicitly has cursor-pointer" - "BottomTabBar anonymous tab buttons have cursor-pointer" artifacts: - path: "src/client/components/ItemCard.tsx" provides: "ItemCard with correct conditional cursor" contains: "cursor-pointer" - path: "src/client/components/FabMenu.tsx" provides: "FabMenu buttons with explicit cursor-pointer" contains: "cursor-pointer" - path: "src/client/components/BottomTabBar.tsx" provides: "BottomTabBar buttons with cursor-pointer" contains: "cursor-pointer" key_links: - from: "ItemCard outer button" to: "cursor-pointer class" via: "linkTo !== null conditional class" pattern: "cursor-pointer.*hover:border-gray-200" --- Audit and fix cursor-pointer coverage across interactive elements. The Tailwind utility cursor-pointer must be explicitly applied to all clickable elements that currently lack it. Purpose: Resolve FIX-05 — the pointer cursor must appear on hover over every interactive element to meet basic UX expectations. Output: Updated ItemCard, FabMenu, BottomTabBar with explicit cursor-pointer. @$HOME/.claude/get-shit-done/workflows/execute-plan.md @$HOME/.claude/get-shit-done/templates/summary.md @.planning/phases/35-bug-fixes/35-CONTEXT.md @.planning/phases/35-bug-fixes/35-UI-SPEC.md Current cursor state by component (from codebase audit): ItemCard (src/client/components/ItemCard.tsx, line 76): ```tsx // Current — missing cursor-pointer in the navigable case: className={`relative w-full text-left bg-white rounded-xl border border-gray-100 transition-all overflow-hidden group ${ linkTo === null ? "cursor-default" : "hover:border-gray-200 hover:shadow-sm" // ← cursor-pointer MISSING here }`} // Target — add cursor-pointer to the navigable case: className={`relative w-full text-left bg-white rounded-xl border border-gray-100 transition-all overflow-hidden group ${ linkTo === null ? "cursor-default" : "cursor-pointer hover:border-gray-200 hover:shadow-sm" }`} ``` ItemCard action span buttons (lines 106, 138, 170): already have cursor-pointer — DO NOT CHANGE. ClassificationBadge: already has cursor-pointer — DO NOT CHANGE. CandidateCard action spans: already have cursor-pointer — DO NOT CHANGE. FabMenu (src/client/components/FabMenu.tsx): - Line 85: menu item `motion.button` className — `"flex items-center gap-3 bg-white shadow-lg rounded-full px-4 py-3 hover:bg-gray-50 transition-colors"` — missing cursor-pointer - Line 108: main FAB `motion.button` className — `"fixed bottom-6 right-6 z-20 w-14 h-14 bg-gray-700 hover:bg-gray-800 text-white rounded-full shadow-lg hover:shadow-xl transition-colors flex items-center justify-center"` — missing cursor-pointer BottomTabBar (src/client/components/BottomTabBar.tsx): - Lines 68, 87, 97: `