05/23 Phase 16

This commit is contained in:
2026-05-23 16:11:16 -04:00
parent 4edc527458
commit 57c777dc82
6 changed files with 385 additions and 13 deletions
+13
View File
@@ -341,6 +341,19 @@ All actions are logged to console and optionally to a log file:
---
### ✅ Phase 16 — Lottery Ball Display
- [x] Write `ui/widgets.py`
- [x] `ball_color(number, is_bonus) -> (bg, fg)` — range-based colour lookup (pure, no Tk)
- [x] `BallsBar(tk.Canvas)` — draws numbered balls; supports `highlights` dict for per-ball colour override; inherits parent background
- [x] Update `ui/dashboard.py` — last-draw cards use `BallsBar` for numbers; hot-numbers section uses small-radius (`r=11`) balls
- [x] Update `ui/history.py` — ball detail strip below treeview; shows `BallsBar` for selected row; clears on filter/populate
- [x] Update `ui/predictor_ui.py`
- [x] Generate tab: detail strip shows selected ticket as balls
- [x] Check Ticket tab: detail strip shows ticket (green=matched, grey=unmatched) and draw numbers (green=matched) side by side
- [x] Write `tests/test_widgets.py` — 12 tests (308/308 total passing)
---
### ✅ Phase 15 — Odds Calculator
- [x] Write `core/odds.py`
- [x] `total_combinations(main_count, main_max, bonus_count, bonus_max) -> int`