from textual.app import App from .db import db from .kimaiapi import KimaiAPI from .screens.hamster import HamsterScreen from .screens.kimai import KimaiScreen class HamsterToolsApp(App): CSS_PATH = "app.tcss" BINDINGS = [ ("h", "switch_mode('hamster')", "Hamster"), ("k", "switch_mode('kimai')", "Kimai"), ("q", "quit", "Quit"), ] def __init__(self, kimai_api=None): self.add_mode("hamster", HamsterScreen()) self.add_mode("kimai", KimaiScreen()) # self.mode MODES = { # "hamster": HamsterScreen(), # "kimai": KimaiScreen(), # } self.api = kimai_api super().__init__() def on_mount(self) -> None: self.switch_mode("hamster") async def action_quit(self) -> None: db.close() self.exit()