diff --git a/app/lifecycle/app_close_handler.py b/app/lifecycle/app_close_handler.py index 6117e36..ec8e870 100644 --- a/app/lifecycle/app_close_handler.py +++ b/app/lifecycle/app_close_handler.py @@ -38,6 +38,10 @@ async def handle_app_close(page: ft.Page, app, save_progress_overlay) -> None: async def close_dialog_dismissed(e): app.recording_enabled = False + + app.settings.user_config["last_route"] = page.route + await app.config_manager.save_user_config(app.settings.user_config) + logger.info(f"Saved last route: {page.route}") # check if there are active recordings active_recordings = [p for p in app.process_manager.ffmpeg_processes if p.returncode is None] diff --git a/config/default_settings.json b/config/default_settings.json index d2506c6..fec50e0 100644 --- a/config/default_settings.json +++ b/config/default_settings.json @@ -63,5 +63,6 @@ "theme_color": "blue", "is_grid_view": true, "theme_mode": "light", - "platform_max_concurrent_requests": "3" + "platform_max_concurrent_requests": "3", + "last_route": "/home" } \ No newline at end of file diff --git a/main.py b/main.py index c731cc0..5197410 100644 --- a/main.py +++ b/main.py @@ -143,7 +143,10 @@ async def main(page: ft.Page) -> None: logger.error(f"Failed to start tray manager: {err}") page.update() - page.on_route_change(ft.RouteChangeEvent(route=page.route)) + + last_route = app.settings.user_config.get("last_route", "/home") + logger.info(f"Restored last route: {last_route}") + page.go(last_route) if is_web: auth_manager = AuthManager(app)