NewTube/todo.md

27 lines
2.1 KiB
Markdown

- [x] Step 1: Audit current codebase for existing search and provider logic on frontend and server
- [x] Step 2: Design and scaffold Provider Registry on frontend and server
- [x] Step 3: Implement SearchService with multi-provider params and HTTP request
- [x] Step 8: Implement backend /api/search with providers param and fan-out to server/providers handlers
- [ ] Step 4: Build SearchBoxComponent with chips, @autocomplete, and keyboard shortcuts
- [ ] Step 5: Build ProviderPickerComponent (Ctrl/⌘+K modal) with filtering and apply
- [ ] Step 6: Build SearchSuggestionsComponent with grouped sections and empty-state handling
- [ ] Step 7: Add router query-param sync and default provider preference loading
- [ ] Step 9: Persist default providers preference in user profile (server + client integration points)
- [ ] Step 10: Add keyboard accessibility and a11y behaviors (Tab/Shift+Tab, Esc)
- [ ] Step 11: Write unit tests (SearchService, ProviderPicker toggle, @ parsing)
- [ ] Step 12: Write basic e2e scenarios for providers filtering and deep-link
- [ ] Step 13: Add minimal telemetry hooks and events
- [ ] Step 14: Update README UX GIF and usage notes
Updated TODO status
Step 4: Build SearchBoxComponent with chips, @autocomplete (initial), and keyboard shortcuts
Step 5: Build ProviderPickerComponent (Ctrl/⌘+K modal) with filtering and apply — finish History column + a11y in modal
Step 6: Build SearchSuggestionsComponent with grouped sections and empty-state handling — add per-provider unsupported rows + deep-links
Step 7: Add router query-param sync and default provider preference loading (initial sync in Search page)
Step 9: Persist default providers preference in user profile (client + server endpoints wired)
Step 10: Add keyboard accessibility and a11y behaviors (Tab/Shift+Tab, Esc) — finish trap/aria in modal
Step 11: Write unit tests (SearchService, ProviderPicker toggle, @ parsing)
Step 12: Write basic e2e scenarios for providers filtering and deep-link
Step 13: Add minimal telemetry hooks and events
Step 14: Update README UX GIF and usage notes