Skip to content

Commit a5970a7

Browse files
authored
Merge pull request #470 from OpenPecha/onboarding-fixer
feat: updated onboarding flow
2 parents b350a43 + 71b3528 commit a5970a7

26 files changed

Lines changed: 623 additions & 907 deletions

lib/core/config/router/route_guard.dart

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -59,32 +59,26 @@ class RouteGuard {
5959
String? Function() getPendingRoute,
6060
void Function(String?) setPendingRoute,
6161
) async {
62-
// Onboarding is temporarily disabled for everyone. Never force it, and
63-
// send any direct navigation to /onboarding back to home. This also fixes
64-
// the offline case, where the original check below defaulted to "not
65-
// onboarded" and wrongly forced onboarding.
66-
if (path == AppRoutes.onboarding) {
67-
return AppRoutes.home;
62+
final onboardingResult = await onboardingRepo.isOnboardingCompleted();
63+
final bool? hasOnboarded = onboardingResult.fold((failure) {
64+
_logger.warning(
65+
'Onboarding status unavailable (${failure.message}); '
66+
'skipping onboarding enforcement',
67+
);
68+
return null;
69+
}, (hasCompleted) => hasCompleted);
70+
71+
// Force onboarding only when status was fetched and is not completed.
72+
if (hasOnboarded == false &&
73+
path != AppRoutes.onboarding &&
74+
path != AppRoutes.login) {
75+
return AppRoutes.onboarding;
6876
}
6977

70-
// Original force-onboarding logic, preserved (commented out) so it can be
71-
// re-enabled later by deleting the redirect above and uncommenting this.
72-
// final hasOnboarded = await onboardingRepo.isOnboardingCompleted().then(
73-
// (result) =>
74-
// result.fold((failure) => false, (hasCompleted) => hasCompleted),
75-
// );
76-
//
77-
// // Force onboarding if not completed
78-
// if (!hasOnboarded &&
79-
// path != AppRoutes.onboarding &&
80-
// path != AppRoutes.login) {
81-
// return AppRoutes.onboarding;
82-
// }
83-
//
84-
// // Skip onboarding if already done
85-
// if (hasOnboarded && path == AppRoutes.onboarding) {
86-
// return AppRoutes.home;
87-
// }
78+
// Completed users, and offline/unreachable checks, go to home — not onboarding.
79+
if (hasOnboarded != false && path == AppRoutes.onboarding) {
80+
return AppRoutes.home;
81+
}
8882

8983
// Redirect from login or splash to pending route or home
9084
if (path == AppRoutes.login || path == AppRoutes.splash) {

lib/core/l10n/app_bo.arb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,11 @@
206206
"something_went_wrong": "ནོར་འཁྲུལ་ཞིག་བྱུང་སོང་། བསྐྱར་དུ་ཚོད་ལྟ་བྱོས།",
207207
"onboarding_quote_citation": "— ཆོས་ཀྱི་ཚིགས་སུ་བཅད་པ། ༡༢༢",
208208
"onboarding_traditions_question": "ཁྱེད་རང་ཆོས་བརྒྱུད་གང་གི་རྗེས་འཇུག་ཡིན་ནམ།",
209-
"onboarding_tradition_chat_title": "ཁྱེད་ཀྱི་ཆོས་བརྒྱུད།",
210-
"onboarding_tradition_chat_subtitle": "གཅིག་འདེམ་རོགས — ང་ཚོས་ཁྱེད་ཀྱི་ཉམས་ལེན་སྒེར་སྐྱོང་བྱ་རྒྱུ་ཡིན།",
211-
"onboarding_tradition_type_hint": "ཡང་ན་ཁྱེད་ཀྱི་ཆོས་བརྒྱུད་ཡིག་འབྲི་རོགས།",
209+
"onboarding_tradition_title": "ཁྱེད་ཀྱིས་སངས་རྒྱས་ཀྱི་རྗེས་སུ་ཇི་ལྟར་འབྲང་ངམ།",
210+
"onboarding_tradition_subtitle": "ང་ཚོས་ཁྱེད་ལ་འཚམ་པའི་ལམ་གྱི་ཉམས་ལེན་དང་གསུང་རབ་རྣམས་བསྟན་པར་བྱ། འདེམས་ཁ་འདི་ཉིད་མཉེན་ཆས་ཀྱི་སྒྲིག་བཀོད་ནང་ནས་ག་དུས་ཡིན་ཡང་སྒྱུར་བཅོས་གཏང་ཆོག",
211+
"onboarding_tradition_option_intro": "བརྒྱུད་ནས།",
212+
"onboarding_tradition_show_all_title": "ཡོངས་རྫོགས་སྟོན་རོགས།",
213+
"onboarding_tradition_show_all_description": "ལམ་ཐམས་ཅད་ཀྱི་སྒྲུབ་པ་དང་གཞུང་ལུགས།",
212214
"onboarding_skip_for_now": "ད་ལྟ་བསྲུབ་རོགས།",
213215
"onboarding_add_another_tradition": "ཆོས་བརྒྱུད་གཞན་པ་སྣོན།",
214216
"onboarding_select_all": "ཚང་མ་འདེམས།",

lib/core/l10n/app_en.arb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,11 @@
206206
"something_went_wrong": "Something went wrong. Please try again",
207207
"onboarding_quote_citation": "— Dhammapada 122",
208208
"onboarding_traditions_question": "Which traditions\ndo you follow?",
209-
"onboarding_tradition_chat_title": "Your tradition:",
210-
"onboarding_tradition_chat_subtitle": "Choose one: we'll use it to personalize your experience.",
211-
"onboarding_tradition_type_hint": "Or type your tradition...",
209+
"onboarding_tradition_title": "How do you follow the Buddha?",
210+
"onboarding_tradition_subtitle": "We'll show you the practices and texts of your path. You can change this anytime in the app settings.",
211+
"onboarding_tradition_option_intro": "Through:",
212+
"onboarding_tradition_show_all_title": "Show me everything",
213+
"onboarding_tradition_show_all_description": "Practices and texts from every path",
212214
"onboarding_skip_for_now": "Skip for now",
213215
"onboarding_add_another_tradition": "Add another tradition",
214216
"onboarding_select_all": "Select all",

lib/core/l10n/app_hi.arb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,11 @@
206206
"something_went_wrong": "कुछ गलत हो गया। कृपया फिर से प्रयास करें",
207207
"onboarding_quote_citation": "— Dhammapada 122",
208208
"onboarding_traditions_question": "आप किन परंपराओं\nका पालन करते हैं?",
209-
"onboarding_tradition_chat_title": "आपकी परंपरा:",
210-
"onboarding_tradition_chat_subtitle": "एक या अधिक चुनें — हम इन्हें आपके अनुभव को वैयक्तिकृत करने के लिए उपयोग करेंगे।",
211-
"onboarding_tradition_type_hint": "या अपनी परंपरा लिखें...",
209+
"onboarding_tradition_title": "आप बुद्ध का अनुसरण कैसे करते हैं?",
210+
"onboarding_tradition_subtitle": "हम आपको आपके मार्ग की प्रथाएं और ग्रंथ दिखाएंगे। आप इसे ऐप सेटिंग्स में कभी भी बदल सकते हैं।",
211+
"onboarding_tradition_option_intro": "के माध्यम से:",
212+
"onboarding_tradition_show_all_title": "मुझे सब कुछ दिखाएँ",
213+
"onboarding_tradition_show_all_description": "हर मार्ग की साधनाएँ और ग्रंथ",
212214
"onboarding_skip_for_now": "अभी के लिए छोड़ें",
213215
"onboarding_add_another_tradition": "एक और परंपरा जोड़ें",
214216
"onboarding_select_all": "सभी चुनें",

lib/core/l10n/app_mn.arb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,11 @@
206206
"something_went_wrong": "Алдаа гарлаа. Дахин оролдоно уу",
207207
"onboarding_quote_citation": "— Дхаммапада 122",
208208
"onboarding_traditions_question": "Та ямар уламжлал\nдагадаг вэ?",
209-
"onboarding_tradition_chat_title": "Таны уламжлал:",
210-
"onboarding_tradition_chat_subtitle": "Нэг эсвэл хэд хэдийг сонгоно уу — бид тэдгээрийг таны туршлагыг хувийн болгоход ашиглана.",
211-
"onboarding_tradition_type_hint": "Эсвэл уламжлалаа бичнэ үү...",
209+
"onboarding_tradition_title": "Та Бурхан багшийг хэрхэн дагадаг вэ?",
210+
"onboarding_tradition_subtitle": "Бид танд өөрийн сонгосон замын дагуух бясалгал, практик болон судар бичгүүдийг харуулах болно. Та үүнийг аппликейшний тохиргоо хэсгээс хэдийд ч өөрчлөх боломжтой.",
211+
"onboarding_tradition_option_intro": "Дараах:",
212+
"onboarding_tradition_show_all_title": "Бүгдийг харуулах",
213+
"onboarding_tradition_show_all_description": "Бүх замын дадлага, бичиг",
212214
"onboarding_skip_for_now": "Одоохондоо алгасах",
213215
"onboarding_add_another_tradition": "Өөр уламжлал нэмэх",
214216
"onboarding_select_all": "Бүгдийг сонгох",

lib/core/l10n/app_ne.arb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,11 @@
206206
"something_went_wrong": "केही गडबड भयो। कृपया फेरि प्रयास गर्नुहोस्",
207207
"onboarding_quote_citation": "— धम्मपद 122",
208208
"onboarding_traditions_question": "तपाईं कुन परम्पराहरू\nपालना गर्नुहुन्छ?",
209-
"onboarding_tradition_chat_title": "तपाईंको परम्परा:",
210-
"onboarding_tradition_chat_subtitle": "एक वा बढी छान्नुहोस् — हामी तिनीहरूलाई तपाईंको अनुभव व्यक्तिगत बनाउन प्रयोग गर्नेछौं।",
211-
"onboarding_tradition_type_hint": "वा आफ्नो परम्परा टाइप गर्नुहोस्...",
209+
"onboarding_tradition_title": "तपाईं बुद्धको अनुसरण कसरी गर्नुहुन्छ?",
210+
"onboarding_tradition_subtitle": "हामी तपाईंलाई तपाईंको मार्गका अभ्यासहरू र ग्रन्थहरू देखाउनेछौं। तपाईं यसलाई एप सेटिङमा जुनसुकै बेला परिवर्तन गर्न सक्नुहुन्छ।",
211+
"onboarding_tradition_option_intro": "मार्फत:",
212+
"onboarding_tradition_show_all_title": "मलाई सबै देखाउनुहोस्",
213+
"onboarding_tradition_show_all_description": "हरेक मार्गका अभ्यास र ग्रन्थहरू",
212214
"onboarding_skip_for_now": "अहिलेलाई छोड्नुहोस्",
213215
"onboarding_add_another_tradition": "अर्को परम्परा थप्नुहोस्",
214216
"onboarding_select_all": "सबै चयन गर्नुहोस्",

lib/core/l10n/app_zh.arb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,11 @@
206206
"something_went_wrong": "出了點問題。請再試一次",
207207
"onboarding_quote_citation": "— 法句經 122",
208208
"onboarding_traditions_question": "您跟隨哪些傳承?",
209-
"onboarding_tradition_chat_title": "您的傳承:",
210-
"onboarding_tradition_chat_subtitle": "選擇一個或多個 — 我們將用來個性化您的體驗。",
211-
"onboarding_tradition_type_hint": "或輸入您的傳承...",
209+
"onboarding_tradition_title": "您如何追随佛陀的教导?",
210+
"onboarding_tradition_subtitle": "我们将为您展示您所选修行路径的实践与经典。您可以随时在应用设置中更改此设置。",
211+
"onboarding_tradition_option_intro": "通過:",
212+
"onboarding_tradition_show_all_title": "顯示所有內容",
213+
"onboarding_tradition_show_all_description": "每條道路的實踐和經典",
212214
"onboarding_skip_for_now": "暫時跳過",
213215
"onboarding_add_another_tradition": "添加另一個傳承",
214216
"onboarding_select_all": "全選",

lib/core/l10n/generated/app_localizations.dart

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,23 +1054,35 @@ abstract class AppLocalizations {
10541054
/// **'Which traditions\ndo you follow?'**
10551055
String get onboarding_traditions_question;
10561056

1057-
/// No description provided for @onboarding_tradition_chat_title.
1057+
/// No description provided for @onboarding_tradition_title.
10581058
///
10591059
/// In en, this message translates to:
1060-
/// **'Your tradition:'**
1061-
String get onboarding_tradition_chat_title;
1060+
/// **'How do you follow the Buddha?'**
1061+
String get onboarding_tradition_title;
10621062

1063-
/// No description provided for @onboarding_tradition_chat_subtitle.
1063+
/// No description provided for @onboarding_tradition_subtitle.
10641064
///
10651065
/// In en, this message translates to:
1066-
/// **'Choose one: we\'ll use it to personalize your experience.'**
1067-
String get onboarding_tradition_chat_subtitle;
1066+
/// **'We\'ll show you the practices and texts of your path. You can change this anytime in the app settings.'**
1067+
String get onboarding_tradition_subtitle;
10681068

1069-
/// No description provided for @onboarding_tradition_type_hint.
1069+
/// No description provided for @onboarding_tradition_option_intro.
10701070
///
10711071
/// In en, this message translates to:
1072-
/// **'Or type your tradition...'**
1073-
String get onboarding_tradition_type_hint;
1072+
/// **'Through:'**
1073+
String get onboarding_tradition_option_intro;
1074+
1075+
/// No description provided for @onboarding_tradition_show_all_title.
1076+
///
1077+
/// In en, this message translates to:
1078+
/// **'Show me everything'**
1079+
String get onboarding_tradition_show_all_title;
1080+
1081+
/// No description provided for @onboarding_tradition_show_all_description.
1082+
///
1083+
/// In en, this message translates to:
1084+
/// **'Practices and texts from every path'**
1085+
String get onboarding_tradition_show_all_description;
10741086

10751087
/// No description provided for @onboarding_skip_for_now.
10761088
///

lib/core/l10n/generated/app_localizations_bo.dart

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -537,15 +537,22 @@ class AppLocalizationsBo extends AppLocalizations {
537537
'ཁྱེད་རང་ཆོས་བརྒྱུད་གང་གི་རྗེས་འཇུག་ཡིན་ནམ།';
538538

539539
@override
540-
String get onboarding_tradition_chat_title => 'ཁྱེད་ཀྱི་ཆོས་བརྒྱུད།';
540+
String get onboarding_tradition_title =>
541+
'ཁྱེད་ཀྱིས་སངས་རྒྱས་ཀྱི་རྗེས་སུ་ཇི་ལྟར་འབྲང་ངམ།';
541542

542543
@override
543-
String get onboarding_tradition_chat_subtitle =>
544-
'གཅིག་འདེམ་རོགས — ང་ཚོས་ཁྱེད་ཀྱི་ཉམས་ལེན་སྒེར་སྐྱོང་བྱ་རྒྱུ་ཡིན';
544+
String get onboarding_tradition_subtitle =>
545+
'ང་ཚོས་ཁྱེད་ལ་འཚམ་པའི་ལམ་གྱི་ཉམས་ལེན་དང་གསུང་རབ་རྣམས་བསྟན་པར་བྱ། འདེམས་ཁ་འདི་ཉིད་མཉེན་ཆས་ཀྱི་སྒྲིག་བཀོད་ནང་ནས་ག་དུས་ཡིན་ཡང་སྒྱུར་བཅོས་གཏང་ཆོག';
545546

546547
@override
547-
String get onboarding_tradition_type_hint =>
548-
'ཡང་ན་ཁྱེད་ཀྱི་ཆོས་བརྒྱུད་ཡིག་འབྲི་རོགས།';
548+
String get onboarding_tradition_option_intro => 'བརྒྱུད་ནས།';
549+
550+
@override
551+
String get onboarding_tradition_show_all_title => 'ཡོངས་རྫོགས་སྟོན་རོགས།';
552+
553+
@override
554+
String get onboarding_tradition_show_all_description =>
555+
'ལམ་ཐམས་ཅད་ཀྱི་སྒྲུབ་པ་དང་གཞུང་ལུགས།';
549556

550557
@override
551558
String get onboarding_skip_for_now => 'ད་ལྟ་བསྲུབ་རོགས།';

lib/core/l10n/generated/app_localizations_en.dart

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -529,14 +529,21 @@ class AppLocalizationsEn extends AppLocalizations {
529529
'Which traditions\ndo you follow?';
530530

531531
@override
532-
String get onboarding_tradition_chat_title => 'Your tradition:';
532+
String get onboarding_tradition_title => 'How do you follow the Buddha?';
533533

534534
@override
535-
String get onboarding_tradition_chat_subtitle =>
536-
'Choose one: we\'ll use it to personalize your experience.';
535+
String get onboarding_tradition_subtitle =>
536+
'We\'ll show you the practices and texts of your path. You can change this anytime in the app settings.';
537537

538538
@override
539-
String get onboarding_tradition_type_hint => 'Or type your tradition...';
539+
String get onboarding_tradition_option_intro => 'Through:';
540+
541+
@override
542+
String get onboarding_tradition_show_all_title => 'Show me everything';
543+
544+
@override
545+
String get onboarding_tradition_show_all_description =>
546+
'Practices and texts from every path';
540547

541548
@override
542549
String get onboarding_skip_for_now => 'Skip for now';

0 commit comments

Comments
 (0)