feat: add TalibPatternPanel, TrainingPanel, ModelSelector UI components (tasks 5-8)
- TalibPatternPanel: pattern checkboxes, detect button, results summary, clear-all and per-pattern delete - TrainingPanel: model type selector, dataset info, start training, polling, run history - ModelSelector: dropdown of completed runs, wired into PredictionPanel for model switching - page.tsx: integrate all three panels into sidebar, wire callbacks (model load, annotations refresh) - tasks.md: mark all 39 tasks complete
This commit is contained in:
parent
2a02669222
commit
12a9603fce
7 changed files with 849 additions and 23 deletions
|
|
@ -29,34 +29,34 @@
|
|||
|
||||
## 5. TA-Lib Pattern UI Panel
|
||||
|
||||
- [ ] 5.1 Create `TalibPatternPanel` component with collapsible section, fetching available patterns from `/api/patterns/available` on mount
|
||||
- [ ] 5.2 Add pattern checkboxes grouped by category with "Select All" / "Deselect All" toggle
|
||||
- [ ] 5.3 Add "Detect Patterns" button that sends selected patterns + chart candles to `/api/patterns/detect`, shows loading state
|
||||
- [ ] 5.4 Save detection results as span annotations via `POST /api/span-annotations` with `source: "talib"` and refresh the annotation list
|
||||
- [ ] 5.5 Add detection results summary showing pattern counts grouped by name
|
||||
- [ ] 5.6 Add "Clear All TA-Lib" bulk delete button calling `DELETE /api/span-annotations?source=talib&chartId=X`
|
||||
- [ ] 5.7 Add per-pattern-type delete in results summary
|
||||
- [x] 5.1 Create `TalibPatternPanel` component with collapsible section, fetching available patterns from `/api/patterns/available` on mount
|
||||
- [x] 5.2 Add pattern checkboxes grouped by category with "Select All" / "Deselect All" toggle
|
||||
- [x] 5.3 Add "Detect Patterns" button that sends selected patterns + chart candles to `/api/patterns/detect`, shows loading state
|
||||
- [x] 5.4 Save detection results as span annotations via `POST /api/span-annotations` with `source: "talib"` and refresh the annotation list
|
||||
- [x] 5.5 Add detection results summary showing pattern counts grouped by name
|
||||
- [x] 5.6 Add "Clear All TA-Lib" bulk delete button calling `DELETE /api/span-annotations?source=talib&chartId=X`
|
||||
- [x] 5.7 Add per-pattern-type delete in results summary
|
||||
|
||||
## 6. Training UI Panel
|
||||
|
||||
- [ ] 6.1 Create `TrainingPanel` component with collapsible section
|
||||
- [ ] 6.2 Add model type dropdown (Random Forest / XGBoost) defaulting to Random Forest
|
||||
- [ ] 6.3 Add dataset info display fetching from `/api/training/dataset-info`, showing warning if missing
|
||||
- [ ] 6.4 Add "Start Training" button with loading state, disabled when training active or dataset missing
|
||||
- [ ] 6.5 Add training status polling (5s interval) while a run is active, showing progress indicator
|
||||
- [ ] 6.6 Add training completion/failure handling with success message and metrics display
|
||||
- [ ] 6.7 Add training run history list fetching from `/api/training/runs`, showing 5 most recent runs with model type, status, date, metrics
|
||||
- [x] 6.1 Create `TrainingPanel` component with collapsible section
|
||||
- [x] 6.2 Add model type dropdown (Random Forest / XGBoost) defaulting to Random Forest
|
||||
- [x] 6.3 Add dataset info display fetching from `/api/training/dataset-info`, showing warning if missing
|
||||
- [x] 6.4 Add "Start Training" button with loading state, disabled when training active or dataset missing
|
||||
- [x] 6.5 Add training status polling (5s interval) while a run is active, showing progress indicator
|
||||
- [x] 6.6 Add training completion/failure handling with success message and metrics display
|
||||
- [x] 6.7 Add training run history list fetching from `/api/training/runs`, showing 5 most recent runs with model type, status, date, metrics
|
||||
|
||||
## 7. Model Selector Integration
|
||||
|
||||
- [ ] 7.1 Create `ModelSelector` dropdown component fetching completed training runs from `/api/training/runs`
|
||||
- [ ] 7.2 Integrate `ModelSelector` into `PredictionPanel` above action buttons, showing current model as active
|
||||
- [ ] 7.3 Wire model switch: on selection call `POST /api/model/load`, clear prediction cache, refresh model info
|
||||
- [ ] 7.4 Handle model load errors: show error toast, keep previous model active
|
||||
- [x] 7.1 Create `ModelSelector` dropdown component fetching completed training runs from `/api/training/runs`
|
||||
- [x] 7.2 Integrate `ModelSelector` into `PredictionPanel` above action buttons, showing current model as active
|
||||
- [x] 7.3 Wire model switch: on selection call `POST /api/model/load`, clear prediction cache, refresh model info
|
||||
- [x] 7.4 Handle model load errors: show error toast, keep previous model active
|
||||
|
||||
## 8. Sidebar Layout Integration
|
||||
|
||||
- [ ] 8.1 Add `TalibPatternPanel` to the sidebar in `page.tsx` between SpanAnnotationList and PredictionPanel
|
||||
- [ ] 8.2 Add `TrainingPanel` to the sidebar between TalibPatternPanel and PredictionPanel
|
||||
- [ ] 8.3 Make TalibPatternPanel, TrainingPanel, and PredictionPanel collapsible (default collapsed for new panels)
|
||||
- [ ] 8.4 Wire all new component state and callbacks in `page.tsx`
|
||||
- [x] 8.1 Add `TalibPatternPanel` to the sidebar in `page.tsx` between SpanAnnotationList and PredictionPanel
|
||||
- [x] 8.2 Add `TrainingPanel` to the sidebar between TalibPatternPanel and PredictionPanel
|
||||
- [x] 8.3 Make TalibPatternPanel, TrainingPanel, and PredictionPanel collapsible (default collapsed for new panels)
|
||||
- [x] 8.4 Wire all new component state and callbacks in `page.tsx`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue