import flet as ft from web.api_client import ApiClient from web.config import PORT import web.designer as d from web.views.main_view import MainView def main(page: ft.Page) -> None: page.title = "LLM-infa" page.theme_mode = ft.ThemeMode.DARK page.bgcolor = d.BG page.padding = 0 page.scroll = ft.ScrollMode.HIDDEN page.window.width = 1100 page.fonts = {} client = ApiClient() view = MainView(page, client) page.add(view.build()) # probe env-configured LLM and initial library load try: status = client.llm_status() if status.get("configured"): view._set_status(ok=True) if status.get("base_url") and not view.base_url.value: view.base_url.value = status["base_url"] if status.get("model") and not view.selected_model: view.selected_model = status["model"] view.model_input.value = status["model"] except Exception: pass view._refresh_library() page.update() if __name__ == "__main__": ft.app( target=main, view=ft.AppView.WEB_BROWSER, port=PORT, host="0.0.0.0", )