42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
import flet as ft
|
|
import flet.fastapi as flet_fastapi
|
|
|
|
import designer as d
|
|
import theme_manager
|
|
from router import handle_route
|
|
|
|
|
|
async def main(page: ft.Page):
|
|
page.title = "Новости"
|
|
page.padding = 0
|
|
page.spacing = 0
|
|
page.window.width = 1280
|
|
page.window.min_width = 360
|
|
|
|
page.fonts = {
|
|
"Merriweather": "https://cdn.jsdelivr.net/npm/@fontsource/merriweather@latest/files/merriweather-latin-400-normal.woff2",
|
|
"Inter": "https://cdn.jsdelivr.net/npm/@fontsource/inter@latest/files/inter-latin-400-normal.woff2",
|
|
"Playfair Display": "https://cdn.jsdelivr.net/npm/@fontsource/playfair-display@latest/files/playfair-display-latin-400-normal.woff2",
|
|
"JetBrains Mono": "https://cdn.jsdelivr.net/npm/@fontsource/jetbrains-mono@latest/files/jetbrains-mono-latin-400-normal.woff2",
|
|
"Roboto": "https://cdn.jsdelivr.net/npm/@fontsource/roboto@latest/files/roboto-latin-400-normal.woff2",
|
|
}
|
|
|
|
theme_manager.apply(page, "light")
|
|
|
|
async def on_route_change(e: ft.RouteChangeEvent):
|
|
theme_manager.reset_font(page)
|
|
await handle_route(page)
|
|
|
|
def on_view_pop(e: ft.ViewPopEvent):
|
|
page.views.pop()
|
|
if page.views:
|
|
page.go(page.views[-1].route)
|
|
|
|
page.on_route_change = on_route_change
|
|
page.on_view_pop = on_view_pop
|
|
|
|
await handle_route(page)
|
|
|
|
|
|
app = flet_fastapi.app(main)
|