from textual.app import App from .db import db from .screens.hamster import CategoryListScreen, ActivityListScreen from .screens.kimai import KimaiProjectListScreen class HamsterToolsApp(App): CSS_PATH = "app.tcss" BINDINGS = [ ("a", "switch_mode('activities')", "Activities"), ("c", "switch_mode('categories')", "Categories"), ("k", "switch_mode('kimai')", "Kimai"), ("q", "quit", "Quit"), ] def __init__(self): db.init("hamster-testing.db") self.MODES = { "categories": CategoryListScreen(), "activities": ActivityListScreen(), "kimai": KimaiProjectListScreen(), } super().__init__() def on_mount(self) -> None: self.switch_mode("activities") def action_quit(self) -> None: db.close() self.exit()