import flet as ft from pages.auth.auth import Auth from pages.home.dashboard import Dashboard import os os.environ["FLET_SECRET_KEY"] = os.urandom(12).hex() def main(page: ft.Page): page.title = "Solar DB" page.theme_mode = ft.ThemeMode.LIGHT page.theme = ft.Theme(color_scheme=ft.ColorScheme(primary=ft.Colors.BLUE)) page.vertical_alignment = ft.MainAxisAlignment.CENTER page.horizontal_alignment = ft.CrossAxisAlignment.CENTER page.padding = 0 def route_change(route): page.controls.clear() if route == "/auth": if page.client_storage.get("is_authenticated"): page.go("/dashboard") return login = Auth(page) page.add(login.build()) page.update() return if route in ("/dashboard", "/", None): if not page.client_storage.get("is_authenticated"): page.go("/auth") return dashboard = Dashboard(page) page.add(dashboard.build()) page.update() return # 5) Fallback 404 page.add(ft.Text("404: Page not found")) page.update() page.on_route_change = lambda _: route_change(page.route) page.go("/auth") ft.app( target=main, assets_dir="assets", upload_dir="uploads", view=ft.WEB_BROWSER, port=5555 )