Welcome screen: start a new session or load a saved one.
WelcomeScreen
Bases: Screen
Landing screen shown on startup.
Source code in src/logos_tui/welcome.py
| class WelcomeScreen(Screen):
"""Landing screen shown on startup."""
CSS_PATH = "welcome.tcss"
def compose(self) -> ComposeResult:
with Center():
with Middle():
with Vertical(id="welcome-box"):
yield Static(
"[bold]LOGos[/bold]", id="logo-title"
)
yield Static(
"From Logs to Causal Diagnosis",
id="logo-subtitle",
)
with Center(id="btn-row"):
yield Button(
"New Session", id="btn_new", variant="primary"
)
yield Button(
"Load Session", id="btn_load", variant="default"
)
with Horizontal(classes="exit-bar"):
yield Button("💾 Save & Exit", id="btn_save_exit", variant="success", disabled=True)
yield Button("✗ Exit", id="btn_exit_no_save", variant="error")
def on_button_pressed(self, event: Button.Pressed) -> None:
if event.button.id == "btn_new":
self.app.push_screen(FileSelectScreen())
elif event.button.id == "btn_load":
self.app.action_load_session()
|