app/main.py

62 lines
2.1 KiB
Python
Raw Permalink Normal View History

2024-04-19 16:59:43 +00:00
import flet as ft
from utils import views_handler
2024-04-20 08:00:17 +00:00
from modules.settings.functions import config
from utils import checkInternet
2024-04-19 16:59:43 +00:00
2024-04-20 16:59:36 +00:00
2024-04-19 16:59:43 +00:00
def main(page: ft.Page):
2024-04-19 20:02:44 +00:00
page.title = 'BillPay'
2024-04-20 08:00:17 +00:00
print('Initial route:', page.route)
config.save('general', 'ignore_network', '0')
2024-04-19 20:02:44 +00:00
def route_change(e: ft.ControlEvent):
2024-04-20 08:00:17 +00:00
print('Route change:', e.route)
2024-04-19 16:59:43 +00:00
page.views.clear()
page.views.append(
2024-04-19 20:02:44 +00:00
views_handler(page)[page.route],
2024-04-19 16:59:43 +00:00
)
page.update()
if not config.getint('general', 'ignore_network') and not checkInternet():
dlg = ft.CupertinoActionSheet(
title=ft.Text('No Internet'),
message=ft.Text(
'Please check your network connectivity and try again',
),
cancel=ft.CupertinoActionSheetAction(
content=ft.Text('Okay'),
on_click=lambda _: (
page.close_bottom_sheet() if checkInternet(
) else None, page.update(), None if e.route == '/' else page.go('/'),
),
),
actions=[
ft.CupertinoActionSheetAction(
content=ft.Text('Ignore Completely'),
is_destructive_action=True,
on_click=lambda e: (
page.close_bottom_sheet(), config.save(
'general', 'ignore_network', '1',
),
),
),
],
)
page.show_bottom_sheet(ft.CupertinoBottomSheet(dlg))
2024-04-19 20:02:44 +00:00
def view_pop(e: ft.ControlEvent):
2024-04-20 08:00:17 +00:00
print('View pop:', e.view)
2024-04-19 16:59:43 +00:00
page.views.pop()
top_view = page.views[-1]
page.go(top_view.route)
2024-04-20 08:00:17 +00:00
if config.get('general', 'theme') == 'dark':
page.theme_mode = ft.ThemeMode.DARK
else:
page.theme_mode = ft.ThemeMode.LIGHT
2024-04-19 16:59:43 +00:00
page.on_route_change = route_change
page.on_view_pop = view_pop
page.go(page.route)
2024-04-19 20:02:44 +00:00
ft.app(target=main, assets_dir='assets')