100 lines
2.7 KiB
Python
100 lines
2.7 KiB
Python
import flet as ft
|
|
from pages.auth.auth import Auth
|
|
from pages.home.home import Home
|
|
from admin.dashboard import Dashboard
|
|
from pages.categories.category import Category
|
|
from pages.products.product import ProductPage
|
|
from pages.profile.profilepage import ProfilePage
|
|
from pages.shopping_cart.cart import Cart
|
|
from pages.shopping_cart.peload_card import PreloadCard
|
|
from pages.shopping_cart.payment_redirect import PaymentRedirect
|
|
|
|
import os
|
|
os.environ["FLET_SECRET_KEY"] = os.urandom(12).hex()
|
|
|
|
from dotenv import load_dotenv
|
|
load_dotenv()
|
|
|
|
def main(page: ft.Page):
|
|
page.title = "Taina Gustului"
|
|
page.theme_mode = ft.ThemeMode.LIGHT
|
|
page.theme = ft.Theme(color_scheme=ft.ColorScheme(primary=ft.Colors.BROWN))
|
|
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":
|
|
login = Auth(page)
|
|
page.add(login.build())
|
|
page.update()
|
|
return
|
|
|
|
if route in ("/home", "/", None):
|
|
home = Home(page)
|
|
page.add(home.build())
|
|
page.update()
|
|
return
|
|
|
|
if route == "/admin":
|
|
if not page.client_storage.get("is_authenticated"):
|
|
page.go("/auth")
|
|
return
|
|
dashbaord = Dashboard(page)
|
|
page.add(dashbaord.build())
|
|
page.update()
|
|
return
|
|
|
|
if 'categorie' in route:
|
|
category = Category(page)
|
|
page.add(category.build())
|
|
page.update()
|
|
return
|
|
|
|
if 'produs' in route:
|
|
produs = ProductPage(page)
|
|
page.add(produs.build())
|
|
page.update()
|
|
return
|
|
|
|
if route == "/profil":
|
|
profile = ProfilePage(page)
|
|
page.add(profile.build())
|
|
page.update()
|
|
return
|
|
|
|
if route == "/cos":
|
|
cart = Cart(page)
|
|
page.add(cart.build())
|
|
page.update()
|
|
return
|
|
|
|
if route == "/pre_load_cos":
|
|
preload = PreloadCard(page)
|
|
page.add(preload.build())
|
|
page.update()
|
|
return
|
|
|
|
if route == '/payment/redirect':
|
|
redirect = PaymentRedirect(page)
|
|
page.add(redirect.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("/")
|
|
|
|
ft.app(
|
|
target=main,
|
|
assets_dir="assets",
|
|
upload_dir="uploads",
|
|
view=ft.WEB_BROWSER,
|
|
port=8080,
|
|
host="0.0.0.0"
|
|
) |