Compare commits

...

2 Commits
v0.2.8 ... main

Author SHA1 Message Date
cfba2303e6 remove default empty option
select now defaults to Lotto

patch bump
2026-02-26 01:02:35 +00:00
a2ab27fa5b bump to version 1.0.0. TUI is considered complete. 2026-02-25 21:39:47 +00:00
2 changed files with 6 additions and 14 deletions

View File

@ -1,6 +1,6 @@
[project]
name = "lottery-tui"
version = "0.2.8"
version = "1.0.1"
description = "A terminal user interface for lottery games."
authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }]
dependencies = ["textual>=8.0.0", "loguru>=0.7.3"]
@ -8,7 +8,7 @@ requires-python = ">=3.10"
readme = "README.md"
license = { text = "MIT" }
classifiers = [
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",

View File

@ -1,6 +1,5 @@
from typing import NoReturn
from rich.text import Text
from textual.app import App, ComposeResult
from textual.containers import Container
from textual.events import Key
@ -27,6 +26,8 @@ class LotteryTUI(App):
('Set For Life', 'setforlife'),
('Thunderball', 'thunderball'),
],
value='lotto',
allow_blank=False,
id='lottery-select',
),
Button('Draw', id='draw-button'),
@ -46,22 +47,13 @@ class LotteryTUI(App):
def _draw_button_handler(self) -> None:
"""Handle the draw button press."""
if self._read_lottery_selection() is None:
self._update_result_label(
Text('Please select a lottery before drawing.', style='bold #ff8c42')
)
return
lottery_obj = request_lottery_obj(self._read_lottery_selection())
result = lottery_obj.draw()
self._update_result_label(str(result))
def _read_lottery_selection(self) -> SelectType | None:
def _read_lottery_selection(self) -> SelectType:
"""Read the selected lottery from the dropdown."""
select_widget = self.query_one('#lottery-select')
if select_widget.is_blank():
return None
return select_widget.value
return self.query_one('#lottery-select').value
def _update_result_label(self, message: str) -> None:
"""Update the result label with a new message."""