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 )