diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index a57cca0..ac431b9 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -12,7 +12,7 @@ - [x] **FIX-02**: Item images display correctly on collection overview cards (no broken/missing images) - [x] **FIX-03**: Catalog and collection images load without noticeable delay (slow image loading resolved) - [x] **FIX-04**: Clicking the sign-in button on an auth prompt redirects the user directly to the Logto login page -- [ ] **FIX-05**: All clickable and interactive elements show a pointer cursor on hover throughout the app +- [x] **FIX-05**: All clickable and interactive elements show a pointer cursor on hover throughout the app ### Admin Role @@ -71,7 +71,7 @@ | FIX-02 | Phase 35 | Complete | | FIX-03 | Phase 35 | Complete | | FIX-04 | Phase 35 | Complete | -| FIX-05 | Phase 35 | Pending | +| FIX-05 | Phase 35 | Complete | | ROLE-01 | Phase 36 | Pending | | ROLE-02 | Phase 36 | Pending | | ADMN-01 | Phase 36 | Pending | diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index e11a51e..e616177 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -98,7 +98,7 @@ ### 🚧 v2.4 Admin Foundation (In Progress) -- [ ] **Phase 35: Bug Fixes** — Clear the v2.3 backlog: wrong modal, missing images, slow loading, auth redirect, cursor pointer +- [x] **Phase 35: Bug Fixes** — Clear the v2.3 backlog: wrong modal, missing images, slow loading, auth redirect, cursor pointer (completed 2026-04-19) - [ ] **Phase 36: Admin Role & Panel Foundation** — isAdmin flag, server mechanism to grant admin, gated /admin route with placeholder UI - [ ] **Phase 37: Admin — Global Item Management** — Browse, edit, and delete global catalog items from the admin panel - [ ] **Phase 38: Admin — Tag Management** — Full tag CRUD with parent-child hierarchy in the admin panel @@ -236,7 +236,7 @@ Plans: Plans: - [x] 35-01-PLAN.md — Thread modal fix, ItemWithCategory type extension, login auto-redirect (FIX-01, FIX-02, FIX-04) - [x] 35-02-PLAN.md — Lazy loading + image skeleton states on GearImage and all card components (FIX-03) -- [ ] 35-03-PLAN.md — Cursor-pointer audit across ItemCard, FabMenu, BottomTabBar (FIX-05) +- [x] 35-03-PLAN.md — Cursor-pointer audit across ItemCard, FabMenu, BottomTabBar (FIX-05) **UI hint**: yes @@ -318,7 +318,7 @@ Plans: | 32. Setup Sharing System | v2.3 | 4/4 | Complete | 2026-04-15 | | 33. Currency System | v2.3 | 6/6 | Complete | 2026-04-13 | | 34. i18n Foundation | v2.3 | 8/8 | Complete | 2026-04-18 | -| 35. Bug Fixes | v2.4 | 2/3 | In Progress| | +| 35. Bug Fixes | v2.4 | 3/3 | Complete | 2026-04-19 | | 36. Admin Role & Panel Foundation | v2.4 | 0/TBD | Not started | - | | 37. Admin — Global Item Management | v2.4 | 0/TBD | Not started | - | | 38. Admin — Tag Management | v2.4 | 0/TBD | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index c297304..c9b381b 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -3,15 +3,15 @@ gsd_state_version: 1.0 milestone: v2.4 milestone_name: Admin Foundation status: executing -stopped_at: Completed 35-01-PLAN.md — FIX-01, FIX-02, FIX-04 resolved -last_updated: "2026-04-19T17:48:30.721Z" +stopped_at: Completed 35-03-PLAN.md — FIX-05 (cursor-pointer audit) resolved +last_updated: "2026-04-19T17:52:29.345Z" last_activity: 2026-04-19 progress: total_phases: 20 - completed_phases: 7 + completed_phases: 8 total_plans: 32 - completed_plans: 31 - percent: 97 + completed_plans: 32 + percent: 100 --- # Project State @@ -26,9 +26,9 @@ See: .planning/PROJECT.md (updated 2026-04-19) ## Current Position Phase: 35 — Bug Fixes -Plan: 2 of 3 complete -Status: In progress — 35-01 and 35-02 complete, 35-03 remaining -Last activity: 2026-04-19 — 35-02 complete (FIX-03) +Plan: 3 of 3 complete +Status: Ready to execute +Last activity: 2026-04-19 Progress: [██████████] 97% @@ -75,6 +75,7 @@ Phase 35 decisions (35-02): - FIX-03: Browser-native loading=lazy used for image deferral — no library needed, zero bundle overhead - FIX-03: Skeleton is absolute inset-0 overlay removed on onLoad (not conditional branch swap) for stable layout - FIX-03: GearImage accepts optional onLoad prop forwarded to all three img render paths +- [Phase ?]: FIX-05: cursor-pointer explicitly added to ItemCard navigable case, FabMenu buttons, and BottomTabBar anonymous tab buttons ### Pending Todos @@ -105,9 +106,10 @@ Items carried forward from v2.3: | todo | 2026-04-10-investigate-slow-image-loading | promoted to v2.4 FIX-03 | | todo | 2026-04-13-auth-prompt-sign-in-button-should-redirect-directly-to-logto | promoted to v2.4 FIX-04 | | todo | 2026-04-13-fix-add-candidate-button-shows-wrong-modal-on-thread-page | promoted to v2.4 FIX-01 | +| Phase 35 P03 | 5m | 2 tasks | 3 files | ## Session Continuity -Last session: 2026-04-19 -Stopped at: Completed 35-02-PLAN.md — FIX-03 (image lazy loading + skeleton) resolved -Resume file: .planning/phases/35-bug-fixes/35-03-PLAN.md +Last session: 2026-04-19T17:52:29.341Z +Stopped at: Completed 35-03-PLAN.md — FIX-05 (cursor-pointer audit) resolved +Resume file: None diff --git a/.planning/phases/35-bug-fixes/35-03-SUMMARY.md b/.planning/phases/35-bug-fixes/35-03-SUMMARY.md new file mode 100644 index 0000000..f569e43 --- /dev/null +++ b/.planning/phases/35-bug-fixes/35-03-SUMMARY.md @@ -0,0 +1,85 @@ +--- +phase: 35-bug-fixes +plan: "03" +subsystem: client-ui +tags: [cursor, ux, bug-fix, FIX-05] +dependency_graph: + requires: [] + provides: [cursor-pointer-audit] + affects: [ItemCard, FabMenu, BottomTabBar] +tech_stack: + added: [] + patterns: [conditional-tailwind-class, explicit-cursor-pointer] +key_files: + modified: + - src/client/components/ItemCard.tsx + - src/client/components/FabMenu.tsx + - src/client/components/BottomTabBar.tsx +decisions: + - "Add cursor-pointer explicitly to each interactive element rather than relying on browser defaults" + - "Biome formatter requires multi-line attribute splitting for button elements with 3+ attributes" +metrics: + duration: "~5 minutes" + completed: "2026-04-19" + tasks_completed: 2 + files_modified: 3 +--- + +# Phase 35 Plan 03: Cursor-Pointer Audit Summary + +Explicit `cursor-pointer` added to all interactive elements that lacked it — ItemCard navigable outer button, FabMenu menu item buttons and main FAB, and BottomTabBar's three anonymous tab buttons. Resolves FIX-05. + +## Tasks Completed + +| Task | Name | Commit | Files | +|------|------|--------|-------| +| 1 | Add cursor-pointer to ItemCard navigable case | e1d516c | src/client/components/ItemCard.tsx | +| 2 | Add cursor-pointer to FabMenu and BottomTabBar buttons | d58f7fa | src/client/components/FabMenu.tsx, src/client/components/BottomTabBar.tsx | + +## What Was Built + +### Task 1 — ItemCard (FIX-05) + +The outer `