From e65e4e81e925b6c2a9b8a86fc24019aec450811c Mon Sep 17 00:00:00 2001 From: ihmily <114978440+ihmily@users.noreply.github.com> Date: Fri, 22 Aug 2025 16:37:11 +0800 Subject: [PATCH] feat: record page route --- app/lifecycle/app_close_handler.py | 4 ++++ config/default_settings.json | 3 ++- main.py | 5 ++++- 3 files changed, 10 insertions(+), 2 deletions(-) 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)