What's On v2: Home category menu without numbers (Paul)
pauljd/davidson-ci: Davidson CI / quality (push) Failing after 1m46s
pauljd/davidson-ci: Davidson CI / ai-review (push) Failing after 1m45s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-11-04 17:07:35 +00:00
co-authored by Claude Opus 5.5
parent 0c3ac45db0
commit 7bb600fb76
4 changed files with 5 additions and 7 deletions
+5 -7
View File
@@ -69,8 +69,8 @@ def home():
s.text(960, 290, "What would you like to watch?", 40, WHITE, HEAD, anchor="middle")
cats = [("all", "All Channels"), ("entertainment", "Entertainment"), ("movies", "Movies"), ("comedy", "Comedy"),
("cartoons", "Cartoons"), ("kids", "Kids"), ("documentaries", "Documentaries"), ("sport", "Sport")]
# A stacked, numbered menu after the classic satellite guide's category list (Paul, 17:06): one row per category,
# the focused row filled gold, and the remote's number keys jump straight to a row.
# A stacked menu after the classic satellite guide's category list (Paul, 17:06): one row per category, icon and name,
# the focused row filled gold. No numbers (Paul, 17:06).
x, w, h, gap = 560, 800, 62, 8
top = 330
for i, (key, label) in enumerate(cats):
@@ -78,10 +78,8 @@ def home():
focused = i == 0
s.group(f"Category {i + 1} {label}")
s.rect(x, y, w, h, GOLD if focused else PANEL, rx=6)
s.rect(x, y, 76, h, NAVY if focused else BLUE, rx=6, opacity=0.18 if focused else 1)
s.text(x + 38, y + 43, str(i + 1), 32, NAVY if focused else MUTED, COND, 500, "middle")
s.img(x + 98, y + 13, 36, 36, icon(key, NAVY if focused else WHITE), f"{label} icon")
s.text(x + 152, y + 43, label.upper(), 30, NAVY if focused else WHITE, BODY, 600, spacing=1)
s.img(x + 32, y + 13, 36, 36, icon(key, NAVY if focused else WHITE), f"{label} icon")
s.text(x + 92, y + 43, label.upper(), 30, NAVY if focused else WHITE, BODY, 600, spacing=1)
if focused:
s.text(x + w - 26, y + 43, "▶", 26, NAVY, BODY, 600, "end")
s.focus(x, y, w, h, 6)
@@ -90,7 +88,7 @@ def home():
s.group("Gentle pointer to What's On")
s.text(960, top + 8 * (h + gap) + 44, "Tonight's Pick and the evening's highlights are in What's On", 22, MUTED, anchor="middle")
s.end()
s.hints([("OK", "Open the category's channels"), ("1 – 8", "Jump to a category"), ("▲ ▼", "Move"), ("▲ at the top", "Top bar"), ("Back", "Close Orbit")])
s.hints([("OK", "Open the category's channels"), ("▲ ▼", "Move"), ("▲ at the top", "Top bar"), ("Back", "Close Orbit")])
s.save()
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 135 KiB