From 3f66e14db3f41796f423cda74155b58011b8044b Mon Sep 17 00:00:00 2001 From: LynithDev <61880709+LynithDev@users.noreply.github.com> Date: Sat, 5 Sep 2026 23:42:57 +0200 Subject: [PATCH] fix: declining TOS no longer skips onboarding --- packages/oneclient_app/src/hooks/actions.rs | 1 - packages/oneclient_app/src/view/onboarding/terms.rs | 6 ++++-- packages/oneclient_app/src/view/startup.rs | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/oneclient_app/src/hooks/actions.rs b/packages/oneclient_app/src/hooks/actions.rs index b563dcd1..73855c58 100644 --- a/packages/oneclient_app/src/hooks/actions.rs +++ b/packages/oneclient_app/src/hooks/actions.rs @@ -318,7 +318,6 @@ impl Actions { settings.declined_tos = true; settings.accepted_tos_version = 0; settings.accepted_privacy_version = 0; - settings.seen_onboarding = true; }) { self.persist(updated); } diff --git a/packages/oneclient_app/src/view/onboarding/terms.rs b/packages/oneclient_app/src/view/onboarding/terms.rs index 490bd24c..f3cfa433 100644 --- a/packages/oneclient_app/src/view/onboarding/terms.rs +++ b/packages/oneclient_app/src/view/onboarding/terms.rs @@ -102,12 +102,13 @@ impl Component for OnboardingTerms { .into_element(); let accept_dispatch = dispatch.clone(); + let accept_next = next.clone(); let nav = terms_nav( back, !loading, move || { accept_dispatch.accept_tos(terms_version, privacy_version); - let _ = RouterContext::get().replace(next.clone()); + let _ = RouterContext::get().replace(accept_next.clone()); }, move || { let mut confirming = confirming_decline; @@ -116,9 +117,10 @@ impl Component for OnboardingTerms { ); let modal = confirming_decline.read().then(|| { + let next = next.clone(); decline_modal(confirming_decline, move || { dispatch.decline_tos(); - let _ = RouterContext::get().replace(Route::Home {}); + let _ = RouterContext::get().replace(next.clone()); }) }); diff --git a/packages/oneclient_app/src/view/startup.rs b/packages/oneclient_app/src/view/startup.rs index 884afa6b..c377c405 100644 --- a/packages/oneclient_app/src/view/startup.rs +++ b/packages/oneclient_app/src/view/startup.rs @@ -105,10 +105,10 @@ impl Component for Startup { let stale = settings.settings.accepted_tos_version < required_terms || settings.settings.accepted_privacy_version < required_privacy; - let destination = if settings.settings.declined_tos { - Route::Home {} - } else if !settings.settings.seen_onboarding { + let destination = if !settings.settings.seen_onboarding { Route::OnboardingWelcome {} + } else if settings.settings.declined_tos { + Route::Home {} } else if stale { Route::OnboardingTerms {} } else {