first commit
This commit is contained in:
50
client/main.py
Normal file
50
client/main.py
Normal file
@@ -0,0 +1,50 @@
|
||||
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=5000
|
||||
)
|
||||
Reference in New Issue
Block a user