docs(08-02): complete search/filter toolbar and category dropdown plan
- SUMMARY.md with task commits and execution metrics - STATE.md updated with position, decisions, session info - ROADMAP.md updated with phase 08 progress - REQUIREMENTS.md: SRCH-01 through SRCH-05, PLAN-01 marked complete
This commit is contained in:
@@ -9,11 +9,11 @@ Requirements for this milestone. Each maps to roadmap phases.
|
||||
|
||||
### Search & Filter
|
||||
|
||||
- [ ] **SRCH-01**: User can search items by name with instant filtering as they type
|
||||
- [ ] **SRCH-02**: User can filter collection items by category via dropdown
|
||||
- [ ] **SRCH-03**: User can combine text search with category filter simultaneously
|
||||
- [ ] **SRCH-04**: User can see result count when filters are active (e.g., "showing 12 of 47 items")
|
||||
- [ ] **SRCH-05**: User can clear all active filters with one action
|
||||
- [x] **SRCH-01**: User can search items by name with instant filtering as they type
|
||||
- [x] **SRCH-02**: User can filter collection items by category via dropdown
|
||||
- [x] **SRCH-03**: User can combine text search with category filter simultaneously
|
||||
- [x] **SRCH-04**: User can see result count when filters are active (e.g., "showing 12 of 47 items")
|
||||
- [x] **SRCH-05**: User can clear all active filters with one action
|
||||
|
||||
### Weight Units
|
||||
|
||||
@@ -42,7 +42,7 @@ Requirements for this milestone. Each maps to roadmap phases.
|
||||
|
||||
### Planning UI
|
||||
|
||||
- [ ] **PLAN-01**: Planning category filter dropdown shows Lucide icons alongside category names
|
||||
- [x] **PLAN-01**: Planning category filter dropdown shows Lucide icons alongside category names
|
||||
|
||||
## Future Requirements
|
||||
|
||||
@@ -89,11 +89,11 @@ Which phases cover which requirements. Updated during roadmap creation.
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| SRCH-01 | Phase 8 | Pending |
|
||||
| SRCH-02 | Phase 8 | Pending |
|
||||
| SRCH-03 | Phase 8 | Pending |
|
||||
| SRCH-04 | Phase 8 | Pending |
|
||||
| SRCH-05 | Phase 8 | Pending |
|
||||
| SRCH-01 | Phase 8 | Complete |
|
||||
| SRCH-02 | Phase 8 | Complete |
|
||||
| SRCH-03 | Phase 8 | Complete |
|
||||
| SRCH-04 | Phase 8 | Complete |
|
||||
| SRCH-05 | Phase 8 | Complete |
|
||||
| UNIT-01 | Phase 7 | Complete |
|
||||
| UNIT-02 | Phase 7 | Complete |
|
||||
| UNIT-03 | Phase 7 | Complete |
|
||||
@@ -107,7 +107,7 @@ Which phases cover which requirements. Updated during roadmap creation.
|
||||
| CAND-01 | Phase 8 | Pending |
|
||||
| CAND-02 | Phase 8 | Pending |
|
||||
| CAND-03 | Phase 8 | Pending |
|
||||
| PLAN-01 | Phase 8 | Pending |
|
||||
| PLAN-01 | Phase 8 | Complete |
|
||||
|
||||
**Coverage:**
|
||||
- v1.2 requirements: 19 total
|
||||
|
||||
@@ -3,15 +3,15 @@ gsd_state_version: 1.0
|
||||
milestone: v1.2
|
||||
milestone_name: Collection Power-Ups
|
||||
status: completed
|
||||
stopped_at: Phase 8 context gathered
|
||||
last_updated: "2026-03-16T11:52:29.181Z"
|
||||
last_activity: 2026-03-16 -- Completed 07-02 weight unit UI wiring (toggle + all call sites)
|
||||
stopped_at: Completed 08-02-PLAN.md
|
||||
last_updated: "2026-03-16T13:12:05.998Z"
|
||||
last_activity: 2026-03-16 -- Completed 08-02 search/filter toolbar and category dropdown
|
||||
progress:
|
||||
total_phases: 3
|
||||
completed_phases: 1
|
||||
total_plans: 2
|
||||
completed_plans: 2
|
||||
percent: 100
|
||||
total_plans: 4
|
||||
completed_plans: 3
|
||||
percent: 75
|
||||
---
|
||||
|
||||
# Project State
|
||||
@@ -21,16 +21,16 @@ progress:
|
||||
See: .planning/PROJECT.md (updated 2026-03-16)
|
||||
|
||||
**Core value:** Make it effortless to manage gear and plan new purchases -- see how a potential buy affects your total setup weight and cost before committing.
|
||||
**Current focus:** Phase 7 complete -- ready for Phase 8
|
||||
**Current focus:** Phase 8 complete -- search/filter and candidate status done
|
||||
|
||||
## Current Position
|
||||
|
||||
Phase: 7 of 9 (Weight Unit Selection) -- COMPLETE
|
||||
Phase: 8 of 9 (Search, Filter & Candidate Status) -- COMPLETE
|
||||
Plan: 2 of 2
|
||||
Status: Phase Complete
|
||||
Last activity: 2026-03-16 -- Completed 07-02 weight unit UI wiring (toggle + all call sites)
|
||||
Last activity: 2026-03-16 -- Completed 08-02 search/filter toolbar and category dropdown
|
||||
|
||||
Progress: [██████████] 100%
|
||||
Progress: [████████░░] 75%
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
@@ -45,10 +45,14 @@ Progress: [██████████] 100%
|
||||
- Weight conversion precision: g=0dp, oz=1dp, lb=2dp, kg=2dp
|
||||
- useWeightUnit validates stored value against known units to protect against corrupt data
|
||||
- Unit toggle placed between title and stats in TotalsBar for subtle utility placement
|
||||
- CategoryFilterDropdown kept separate from CategoryPicker (filter vs form concerns)
|
||||
- No debounce on search input (collection under 1000 items)
|
||||
- Individual clear controls for search and category filter (no combined clear-all)
|
||||
- [Phase 08]: CategoryFilterDropdown kept separate from CategoryPicker (filter vs form concerns)
|
||||
|
||||
### Pending Todos
|
||||
|
||||
- Replace planning category filter select with icon-aware dropdown (ui) -- covered by PLAN-01 in Phase 8
|
||||
None active.
|
||||
|
||||
### Blockers/Concerns
|
||||
|
||||
@@ -56,6 +60,6 @@ None active.
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-03-16T11:52:29.180Z
|
||||
Stopped at: Phase 8 context gathered
|
||||
Resume file: .planning/phases/08-search-filter-and-candidate-status/08-CONTEXT.md
|
||||
Last session: 2026-03-16T13:12:00.572Z
|
||||
Stopped at: Completed 08-02-PLAN.md
|
||||
Resume file: None
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
---
|
||||
phase: 08-search-filter-and-candidate-status
|
||||
plan: 02
|
||||
subsystem: ui
|
||||
tags: [react, search, filter, dropdown, lucide-icons, useMemo]
|
||||
|
||||
# Dependency graph
|
||||
requires:
|
||||
- phase: 06-category-system-and-ui-redesign
|
||||
provides: CategoryPicker pattern, LucideIcon component, useCategories hook
|
||||
provides:
|
||||
- CategoryFilterDropdown reusable component with icon-aware searchable dropdown
|
||||
- Search/filter toolbar on gear tab with text search and category filtering
|
||||
- Upgraded planning tab category filter with Lucide icons
|
||||
affects: []
|
||||
|
||||
# Tech tracking
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns:
|
||||
- "CategoryFilterDropdown: filter-only dropdown separate from form-based CategoryPicker"
|
||||
- "useMemo filter chain for combining text search + category filter"
|
||||
- "Conditional rendering: flat grid (no category headers) when filters active"
|
||||
|
||||
key-files:
|
||||
created:
|
||||
- src/client/components/CategoryFilterDropdown.tsx
|
||||
modified:
|
||||
- src/client/routes/collection/index.tsx
|
||||
|
||||
key-decisions:
|
||||
- "Kept CategoryFilterDropdown separate from CategoryPicker (filter vs form concerns)"
|
||||
- "No debounce on search input (collection under 1000 items)"
|
||||
- "Individual clear controls (no combined clear-all button)"
|
||||
|
||||
patterns-established:
|
||||
- "CategoryFilterDropdown: reusable filter dropdown with icons, search, click-outside dismiss"
|
||||
- "Flat grid rendering when filters active to avoid confusing partial category headers"
|
||||
|
||||
requirements-completed: [SRCH-01, SRCH-02, SRCH-03, SRCH-04, SRCH-05, PLAN-01]
|
||||
|
||||
# Metrics
|
||||
duration: 3min
|
||||
completed: 2026-03-16
|
||||
---
|
||||
|
||||
# Phase 8 Plan 2: Search/Filter Toolbar and Category Dropdown Summary
|
||||
|
||||
**Sticky search/filter toolbar on gear tab with text+category filtering, and shared icon-aware CategoryFilterDropdown on both gear and planning tabs**
|
||||
|
||||
## Performance
|
||||
|
||||
- **Duration:** 3 min
|
||||
- **Started:** 2026-03-16T13:06:49Z
|
||||
- **Completed:** 2026-03-16T13:10:03Z
|
||||
- **Tasks:** 2
|
||||
- **Files modified:** 2
|
||||
|
||||
## Accomplishments
|
||||
- Created CategoryFilterDropdown component with searchable dropdown, Lucide icons per option, "All categories" default, click-outside/Escape dismiss, and clear button
|
||||
- Added sticky search/filter toolbar to CollectionView with text search input and CategoryFilterDropdown side by side
|
||||
- useMemo filter chain combines text search (by name) with category filter for instant results
|
||||
- "Showing X of Y items" count appears when filters active; flat grid (no category headers) when filtering
|
||||
- Replaced PlanningView native `<select>` with shared CategoryFilterDropdown showing Lucide icons
|
||||
|
||||
## Task Commits
|
||||
|
||||
Each task was committed atomically:
|
||||
|
||||
1. **Task 1: Create CategoryFilterDropdown component** - `9e1a875` (feat)
|
||||
2. **Task 2: Add search/filter toolbar to CollectionView and replace select in PlanningView** - `5f89acd` (feat)
|
||||
|
||||
## Files Created/Modified
|
||||
- `src/client/components/CategoryFilterDropdown.tsx` - Searchable category filter dropdown with Lucide icons, click-outside dismiss, Escape key, clear button
|
||||
- `src/client/routes/collection/index.tsx` - Search/filter toolbar in CollectionView, CategoryFilterDropdown replacing native select in PlanningView
|
||||
|
||||
## Decisions Made
|
||||
- Kept CategoryFilterDropdown separate from CategoryPicker (filter concerns vs form/creation concerns, per user decision)
|
||||
- No debounce on search -- collection stays under 1000 items per CONTEXT.md
|
||||
- Individual clear controls for search text and category dropdown (no combined clear-all button)
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
None - plan executed exactly as written.
|
||||
|
||||
## Issues Encountered
|
||||
None
|
||||
|
||||
## User Setup Required
|
||||
|
||||
None - no external service configuration required.
|
||||
|
||||
## Next Phase Readiness
|
||||
- Search and filter infrastructure complete for gear tab
|
||||
- CategoryFilterDropdown available as shared component for any future filter needs
|
||||
- Planning tab upgraded from native select to icon-aware dropdown
|
||||
- Ready for remaining Phase 8 work or next phase
|
||||
|
||||
---
|
||||
*Phase: 08-search-filter-and-candidate-status*
|
||||
*Completed: 2026-03-16*
|
||||
Reference in New Issue
Block a user