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
+9 -13
View File
@@ -16,6 +16,7 @@ from datetime import date, timedelta
from db.database import get_db_stats
from db.models import get_all_games, get_last_draw, get_draw_count, get_predictions
from core.analyzer import frequency_analysis
from ui.widgets import BallsBar
# Weekday indices: Monday=0 … Sunday=6
_DRAW_DAYS: dict[str, list[int]] = {
@@ -131,13 +132,10 @@ class DashboardScreen(ttk.Frame):
else:
ttk.Label(card, text=draw["draw_date"],
foreground="#555555", font=_CARD_FONT).pack(anchor="w")
ttk.Label(card,
text=_fmt_numbers(draw["numbers"]),
font=_NUMBER_FONT, foreground="#1a1a2e").pack(anchor="w", pady=(6, 2))
if game["bonus_count"] > 0 and draw["bonus"]:
bonus_label = "Bonus" if game["name"] != "Powerball" else "Powerball"
ttk.Label(card, text=f"{bonus_label}: {draw['bonus']}",
foreground="#2471a3", font=_CARD_FONT).pack(anchor="w")
nums = [int(n) for n in draw["numbers"].split(",") if n.strip().isdigit()]
bonus = (int(draw["bonus"]) if draw["bonus"] and str(draw["bonus"]).isdigit()
and game["bonus_count"] > 0 else None)
BallsBar(card, numbers=nums, bonus=bonus).pack(anchor="w", pady=(6, 2))
if draw["multiplier"]:
ttk.Label(card, text=f"Multiplier: {draw['multiplier']}",
foreground="#777777", font=_CARD_FONT).pack(anchor="w")
@@ -191,10 +189,8 @@ class DashboardScreen(ttk.Frame):
font=_CARD_FONT).pack(side="left")
continue
top5 = sorted(freq, key=freq.get, reverse=True)[:5]
nums_str = " ".join(f"{n:02d}" for n in sorted(top5))
ttk.Label(row, text=nums_str, font=_CARD_FONT,
foreground="#1a5276").pack(side="left")
counts_str = " ".join(f"({freq[n]}×)" for n in sorted(top5))
ttk.Label(row, text=f" {counts_str}", foreground="#aaaaaa",
top5 = sorted(sorted(freq, key=freq.get, reverse=True)[:5])
BallsBar(row, numbers=top5, radius=11).pack(side="left", padx=(0, 6))
counts_str = " ".join(f"({freq[n]}×)" for n in top5)
ttk.Label(row, text=counts_str, foreground="#aaaaaa",
font=_CARD_FONT).pack(side="left")