Files

44 lines
1.1 KiB
Python

import flet as ft
from app.widgets.adaptive_menu import adaptive_menu, get_selected_index_from_route
MOBILE_BREAKPOINT = 600
def get_layout_mode(page: ft.Page):
width = page.width if page.width and page.width > 0 else 1024
return "mobile" if width < MOBILE_BREAKPOINT else "desktop"
def main_layout(page: ft.Page, content_container: ft.Container):
print(">>> ENTER main_layout")
mode = get_layout_mode(page)
# เก็บ mode instance ไว้ที่ page
page._layout_mode = mode
selected_index = get_selected_index_from_route(page.route)
menu = adaptive_menu(page, selected_index)
# เก็บ menu instance ไว้ที่ page
page._menu_control = menu
print(f">>> Device mode: {mode}")
if mode == "mobile":
return ft.Column(
controls=[
content_container,
menu
],
expand=True
)
else:
return ft.Row(
controls=[
menu,
ft.VerticalDivider(width=1),
content_container
],
expand=True
)