Skip to content

Commit 8fb073a

Browse files
committed
wip/link welcome: Show a dialog on first upgrading from legacy app
Fixes 1580.
1 parent 8411279 commit 8fb073a

17 files changed

+289
-0
lines changed

assets/l10n/app_en.arb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,22 @@
1515
"@aboutPageTapToView": {
1616
"description": "Item subtitle in About Zulip page to navigate to Licenses page"
1717
},
18+
"upgradeWelcomeDialogTitle": "Welcome to the new Zulip app!",
19+
"@upgradeWelcomeDialogTitle": {
20+
"description": "Title for dialog shown on first upgrade from the legacy Zulip app."
21+
},
22+
"upgradeWelcomeDialogMessage": "You’ll find a familiar experience in a faster, sleeker package.",
23+
"@upgradeWelcomeDialogMessage": {
24+
"description": "Message text for dialog shown on first upgrade from the legacy Zulip app."
25+
},
26+
"upgradeWelcomeDialogLinkText": "Check out the announcement blog post!",
27+
"@upgradeWelcomeDialogLinkText": {
28+
"description": "Text of link in dialog shown on first upgrade from the legacy Zulip app."
29+
},
30+
"upgradeWelcomeDialogDismiss": "Let's go",
31+
"@upgradeWelcomeDialogDismiss": {
32+
"description": "Label for button dismissing dialog shown on first upgrade from the legacy Zulip app."
33+
},
1834
"chooseAccountPageTitle": "Choose account",
1935
"@chooseAccountPageTitle": {
2036
"description": "Title for the page to choose between Zulip accounts."

lib/generated/l10n/zulip_localizations.dart

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,30 @@ abstract class ZulipLocalizations {
153153
/// **'Tap to view'**
154154
String get aboutPageTapToView;
155155

156+
/// Title for dialog shown on first upgrade from the legacy Zulip app.
157+
///
158+
/// In en, this message translates to:
159+
/// **'Welcome to the new Zulip app!'**
160+
String get upgradeWelcomeDialogTitle;
161+
162+
/// Message text for dialog shown on first upgrade from the legacy Zulip app.
163+
///
164+
/// In en, this message translates to:
165+
/// **'You’ll find a familiar experience in a faster, sleeker package.'**
166+
String get upgradeWelcomeDialogMessage;
167+
168+
/// Text of link in dialog shown on first upgrade from the legacy Zulip app.
169+
///
170+
/// In en, this message translates to:
171+
/// **'Check out the announcement blog post!'**
172+
String get upgradeWelcomeDialogLinkText;
173+
174+
/// Label for button dismissing dialog shown on first upgrade from the legacy Zulip app.
175+
///
176+
/// In en, this message translates to:
177+
/// **'Let\'s go'**
178+
String get upgradeWelcomeDialogDismiss;
179+
156180
/// Title for the page to choose between Zulip accounts.
157181
///
158182
/// In en, this message translates to:

lib/generated/l10n/zulip_localizations_ar.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Tap to view';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Choose account';
2539

lib/generated/l10n/zulip_localizations_de.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Tap to view';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Konto auswählen';
2539

lib/generated/l10n/zulip_localizations_en.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Tap to view';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Choose account';
2539

lib/generated/l10n/zulip_localizations_it.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsIt extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Tap per visualizzare';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Scegli account';
2539

lib/generated/l10n/zulip_localizations_ja.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Tap to view';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'アカウントを選択';
2539

lib/generated/l10n/zulip_localizations_nb.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Tap to view';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Choose account';
2539

lib/generated/l10n/zulip_localizations_pl.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Dotknij, aby pokazać';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Wybierz konto';
2539

lib/generated/l10n/zulip_localizations_ru.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsRu extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Нажмите для просмотра';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Выберите учетную запись';
2539

lib/generated/l10n/zulip_localizations_sk.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsSk extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Klepnutím zobraziť';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Zvoliť účet';
2539

lib/generated/l10n/zulip_localizations_sl.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsSl extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Dotaknite se za ogled';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Izberite račun';
2539

lib/generated/l10n/zulip_localizations_uk.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsUk extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Натисніть, щоб переглянути';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Обрати обліковий запис';
2539

lib/generated/l10n/zulip_localizations_zh.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ class ZulipLocalizationsZh extends ZulipLocalizations {
2020
@override
2121
String get aboutPageTapToView => 'Tap to view';
2222

23+
@override
24+
String get upgradeWelcomeDialogTitle => 'Welcome to the new Zulip app!';
25+
26+
@override
27+
String get upgradeWelcomeDialogMessage =>
28+
'You’ll find a familiar experience in a faster, sleeker package.';
29+
30+
@override
31+
String get upgradeWelcomeDialogLinkText =>
32+
'Check out the announcement blog post!';
33+
34+
@override
35+
String get upgradeWelcomeDialogDismiss => 'Let\'s go';
36+
2337
@override
2438
String get chooseAccountPageTitle => 'Choose account';
2539

lib/model/settings.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,9 @@ enum GlobalSettingType {
119119
/// we give it a placeholder value which isn't a real setting.
120120
placeholder,
121121

122+
/// Describes a pseudo-setting not directly exposed in the UI.
123+
internal,
124+
122125
/// Describes a setting which enables an in-progress feature of the app.
123126
///
124127
/// Sometimes when building a complex feature it's useful to merge PRs that
@@ -170,6 +173,10 @@ enum BoolGlobalSetting {
170173
/// (Having one stable value in this enum is also handy for tests.)
171174
placeholderIgnore(GlobalSettingType.placeholder, false),
172175

176+
/// A pseudo-setting recording whether the user has been shown the
177+
/// welcome dialog for upgrading from the legacy app.
178+
upgradeWelcomeDialogShown(GlobalSettingType.internal, false),
179+
173180
/// An experimental flag to toggle rendering KaTeX content in messages.
174181
renderKatex(GlobalSettingType.experimentalFeatureFlag, false),
175182

lib/widgets/app.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
160160
void initState() {
161161
super.initState();
162162
WidgetsBinding.instance.addObserver(this);
163+
UpgradeWelcomeDialog.maybeShow();
163164
}
164165

165166
@override

0 commit comments

Comments
 (0)