diff --git a/catalyst_voices/lib/pages/registration/link_wallet/select_wallet/select_wallet_panel.dart b/catalyst_voices/lib/pages/registration/link_wallet/select_wallet/select_wallet_panel.dart deleted file mode 100644 index 855808d8f0f..00000000000 --- a/catalyst_voices/lib/pages/registration/link_wallet/select_wallet/select_wallet_panel.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:flutter/material.dart'; - -class SelectWalletPanel extends StatelessWidget { - const SelectWalletPanel({super.key}); - - @override - Widget build(BuildContext context) { - return const Placeholder(); - } -} diff --git a/catalyst_voices/lib/pages/registration/link_wallet/wallet_link_panel.dart b/catalyst_voices/lib/pages/registration/link_wallet/wallet_link_panel.dart deleted file mode 100644 index dcb668f4e9e..00000000000 --- a/catalyst_voices/lib/pages/registration/link_wallet/wallet_link_panel.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:catalyst_voices/pages/registration/link_wallet/intro/intro_panel.dart'; -import 'package:catalyst_voices/pages/registration/link_wallet/select_wallet/select_wallet_panel.dart'; -import 'package:catalyst_voices_models/catalyst_voices_models.dart'; -import 'package:flutter/material.dart'; - -class WalletLinkPanel extends StatelessWidget { - final WalletLinkStage stage; - - const WalletLinkPanel({ - super.key, - required this.stage, - }); - - @override - Widget build(BuildContext context) { - return switch (stage) { - WalletLinkStage.intro => const IntroPanel(), - WalletLinkStage.selectWallet => const SelectWalletPanel(), - }; - } -} diff --git a/catalyst_voices/lib/pages/registration/registration_dialog.dart b/catalyst_voices/lib/pages/registration/registration_dialog.dart index 653764e7461..f2115810bd1 100644 --- a/catalyst_voices/lib/pages/registration/registration_dialog.dart +++ b/catalyst_voices/lib/pages/registration/registration_dialog.dart @@ -1,8 +1,8 @@ import 'package:catalyst_voices/dependency/dependencies.dart'; import 'package:catalyst_voices/pages/registration/create_keychain/create_keychain_panel.dart'; import 'package:catalyst_voices/pages/registration/get_started/get_started_panel.dart'; -import 'package:catalyst_voices/pages/registration/link_wallet/wallet_link_panel.dart'; import 'package:catalyst_voices/pages/registration/registration_info_panel.dart'; +import 'package:catalyst_voices/pages/registration/wallet_link/wallet_link_panel.dart'; import 'package:catalyst_voices/widgets/widgets.dart'; import 'package:catalyst_voices_blocs/catalyst_voices_blocs.dart'; import 'package:flutter/material.dart'; diff --git a/catalyst_voices/lib/pages/registration/registration_info_panel.dart b/catalyst_voices/lib/pages/registration/registration_info_panel.dart index e33113d3511..85842d255f5 100644 --- a/catalyst_voices/lib/pages/registration/registration_info_panel.dart +++ b/catalyst_voices/lib/pages/registration/registration_info_panel.dart @@ -47,7 +47,7 @@ class RegistrationInfoPanel extends StatelessWidget { // TODO(damian-molinski): Extract to l10n in next step CreateKeychainStage.seedPhrase => _HeaderStrings( title: 'Catalyst Keychain', - subtitle: 'Write down your 12 Catalyst 
security words', + subtitle: 'Write down your 12 Catalyst security words', body: 'Make sure you create an offline backup ' 'of your recovery phrase as well.', ), @@ -61,15 +61,24 @@ class RegistrationInfoPanel extends StatelessWidget { }; } - _HeaderStrings buildWalletStageHeader(WalletLinkStage stage) { + _HeaderStrings buildWalletLinkStageHeader(WalletLinkStage stage) { return switch (stage) { - WalletLinkStage.intro => _HeaderStrings( - title: 'Link keys to your 
Catalyst Keychain', - subtitle: 'Link your Cardano wallet', + WalletLinkStage.intro || + WalletLinkStage.selectWallet || + WalletLinkStage.walletDetails => + _HeaderStrings( + title: context.l10n.walletLinkHeader, + subtitle: context.l10n.walletLinkWalletSubheader, ), - WalletLinkStage.selectWallet => _HeaderStrings( - title: 'Link keys to your 
Catalyst Keychain', - subtitle: 'Link your Cardano wallet', + WalletLinkStage.rolesChooser || + WalletLinkStage.rolesSummary => + _HeaderStrings( + title: context.l10n.walletLinkHeader, + subtitle: context.l10n.walletLinkRolesSubheader, + ), + WalletLinkStage.rbacTransaction => _HeaderStrings( + title: context.l10n.walletLinkHeader, + subtitle: context.l10n.walletLinkTransactionSubheader, ), }; } @@ -79,7 +88,7 @@ class RegistrationInfoPanel extends StatelessWidget { FinishAccountCreation() => _HeaderStrings(title: 'TODO'), Recover() => _HeaderStrings(title: 'TODO'), CreateKeychain(:final stage) => buildKeychainStageHeader(stage), - WalletLink(:final stage) => buildWalletStageHeader(stage), + WalletLink(:final stage) => buildWalletLinkStageHeader(stage), }; } } diff --git a/catalyst_voices/lib/pages/registration/link_wallet/intro/intro_panel.dart b/catalyst_voices/lib/pages/registration/wallet_link/intro/intro_panel.dart similarity index 91% rename from catalyst_voices/lib/pages/registration/link_wallet/intro/intro_panel.dart rename to catalyst_voices/lib/pages/registration/wallet_link/intro/intro_panel.dart index c55a067c1da..d61ce2af09a 100644 --- a/catalyst_voices/lib/pages/registration/link_wallet/intro/intro_panel.dart +++ b/catalyst_voices/lib/pages/registration/wallet_link/intro/intro_panel.dart @@ -14,12 +14,12 @@ class IntroPanel extends StatelessWidget { children: [ const SizedBox(height: 24), Text( - context.l10n.walletLink_intro_title, + context.l10n.walletLinkIntroTitle, style: Theme.of(context).textTheme.titleMedium, ), const SizedBox(height: 24), Text( - context.l10n.walletLink_intro_content, + context.l10n.walletLinkIntroContent, style: Theme.of(context).textTheme.bodyMedium, ), const Spacer(), diff --git a/catalyst_voices/lib/pages/registration/wallet_link/rbac_transaction/rbac_transaction_panel.dart b/catalyst_voices/lib/pages/registration/wallet_link/rbac_transaction/rbac_transaction_panel.dart new file mode 100644 index 00000000000..4848892b935 --- /dev/null +++ b/catalyst_voices/lib/pages/registration/wallet_link/rbac_transaction/rbac_transaction_panel.dart @@ -0,0 +1,34 @@ +import 'package:catalyst_voices/widgets/buttons/voices_filled_button.dart'; +import 'package:catalyst_voices_assets/catalyst_voices_assets.dart'; +import 'package:catalyst_voices_blocs/catalyst_voices_blocs.dart'; +import 'package:flutter/material.dart'; + +// TODO(dtscalac): define content +class RbacTransactionPanel extends StatelessWidget { + const RbacTransactionPanel({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Spacer(), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const PreviousStepEvent()); + }, + child: const Text('Previous'), + ), + const SizedBox(height: 12), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const NextStepEvent()); + }, + child: const Text('Next'), + ), + ], + ); + } +} diff --git a/catalyst_voices/lib/pages/registration/wallet_link/roles_chooser/roles_chooser_panel.dart b/catalyst_voices/lib/pages/registration/wallet_link/roles_chooser/roles_chooser_panel.dart new file mode 100644 index 00000000000..5fbf8589dfa --- /dev/null +++ b/catalyst_voices/lib/pages/registration/wallet_link/roles_chooser/roles_chooser_panel.dart @@ -0,0 +1,34 @@ +import 'package:catalyst_voices/widgets/buttons/voices_filled_button.dart'; +import 'package:catalyst_voices_assets/catalyst_voices_assets.dart'; +import 'package:catalyst_voices_blocs/catalyst_voices_blocs.dart'; +import 'package:flutter/material.dart'; + +// TODO(dtscalac): define content +class RolesChooserPanel extends StatelessWidget { + const RolesChooserPanel({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Spacer(), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const PreviousStepEvent()); + }, + child: const Text('Previous'), + ), + const SizedBox(height: 12), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const NextStepEvent()); + }, + child: const Text('Next'), + ), + ], + ); + } +} diff --git a/catalyst_voices/lib/pages/registration/wallet_link/roles_summary/roles_summary_panel.dart b/catalyst_voices/lib/pages/registration/wallet_link/roles_summary/roles_summary_panel.dart new file mode 100644 index 00000000000..c8af179f27e --- /dev/null +++ b/catalyst_voices/lib/pages/registration/wallet_link/roles_summary/roles_summary_panel.dart @@ -0,0 +1,34 @@ +import 'package:catalyst_voices/widgets/buttons/voices_filled_button.dart'; +import 'package:catalyst_voices_assets/catalyst_voices_assets.dart'; +import 'package:catalyst_voices_blocs/catalyst_voices_blocs.dart'; +import 'package:flutter/material.dart'; + +// TODO(dtscalac): define content +class RolesSummaryPanel extends StatelessWidget { + const RolesSummaryPanel({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Spacer(), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const PreviousStepEvent()); + }, + child: const Text('Previous'), + ), + const SizedBox(height: 12), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const NextStepEvent()); + }, + child: const Text('Next'), + ), + ], + ); + } +} diff --git a/catalyst_voices/lib/pages/registration/wallet_link/select_wallet/select_wallet_panel.dart b/catalyst_voices/lib/pages/registration/wallet_link/select_wallet/select_wallet_panel.dart new file mode 100644 index 00000000000..89e5dc1681f --- /dev/null +++ b/catalyst_voices/lib/pages/registration/wallet_link/select_wallet/select_wallet_panel.dart @@ -0,0 +1,34 @@ +import 'package:catalyst_voices/widgets/buttons/voices_filled_button.dart'; +import 'package:catalyst_voices_assets/catalyst_voices_assets.dart'; +import 'package:catalyst_voices_blocs/catalyst_voices_blocs.dart'; +import 'package:flutter/material.dart'; + +// TODO(dtscalac): define content +class SelectWalletPanel extends StatelessWidget { + const SelectWalletPanel({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Spacer(), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const PreviousStepEvent()); + }, + child: const Text('Previous'), + ), + const SizedBox(height: 12), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const NextStepEvent()); + }, + child: const Text('Next'), + ), + ], + ); + } +} diff --git a/catalyst_voices/lib/pages/registration/wallet_link/wallet_details/wallet_details_panel.dart b/catalyst_voices/lib/pages/registration/wallet_link/wallet_details/wallet_details_panel.dart new file mode 100644 index 00000000000..8c1bc2cbfbe --- /dev/null +++ b/catalyst_voices/lib/pages/registration/wallet_link/wallet_details/wallet_details_panel.dart @@ -0,0 +1,34 @@ +import 'package:catalyst_voices/widgets/buttons/voices_filled_button.dart'; +import 'package:catalyst_voices_assets/catalyst_voices_assets.dart'; +import 'package:catalyst_voices_blocs/catalyst_voices_blocs.dart'; +import 'package:flutter/material.dart'; + +// TODO(dtscalac): define content +class WalletDetailsPanel extends StatelessWidget { + const WalletDetailsPanel({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Spacer(), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const PreviousStepEvent()); + }, + child: const Text('Previous'), + ), + const SizedBox(height: 12), + VoicesFilledButton( + leading: VoicesAssets.icons.wallet.buildIcon(), + onTap: () { + RegistrationBloc.of(context).add(const NextStepEvent()); + }, + child: const Text('Next'), + ), + ], + ); + } +} diff --git a/catalyst_voices/lib/pages/registration/wallet_link/wallet_link_panel.dart b/catalyst_voices/lib/pages/registration/wallet_link/wallet_link_panel.dart new file mode 100644 index 00000000000..a6bae7b7c72 --- /dev/null +++ b/catalyst_voices/lib/pages/registration/wallet_link/wallet_link_panel.dart @@ -0,0 +1,29 @@ +import 'package:catalyst_voices/pages/registration/wallet_link/intro/intro_panel.dart'; +import 'package:catalyst_voices/pages/registration/wallet_link/rbac_transaction/rbac_transaction_panel.dart'; +import 'package:catalyst_voices/pages/registration/wallet_link/roles_chooser/roles_chooser_panel.dart'; +import 'package:catalyst_voices/pages/registration/wallet_link/roles_summary/roles_summary_panel.dart'; +import 'package:catalyst_voices/pages/registration/wallet_link/select_wallet/select_wallet_panel.dart'; +import 'package:catalyst_voices/pages/registration/wallet_link/wallet_details/wallet_details_panel.dart'; +import 'package:catalyst_voices_models/catalyst_voices_models.dart'; +import 'package:flutter/material.dart'; + +class WalletLinkPanel extends StatelessWidget { + final WalletLinkStage stage; + + const WalletLinkPanel({ + super.key, + required this.stage, + }); + + @override + Widget build(BuildContext context) { + return switch (stage) { + WalletLinkStage.intro => const IntroPanel(), + WalletLinkStage.selectWallet => const SelectWalletPanel(), + WalletLinkStage.walletDetails => const WalletDetailsPanel(), + WalletLinkStage.rolesChooser => const RolesChooserPanel(), + WalletLinkStage.rolesSummary => const RolesSummaryPanel(), + WalletLinkStage.rbacTransaction => const RbacTransactionPanel(), + }; + } +} diff --git a/catalyst_voices/packages/catalyst_voices_blocs/lib/src/registration/controllers/wallet_link_controller.dart b/catalyst_voices/packages/catalyst_voices_blocs/lib/src/registration/controllers/wallet_link_controller.dart index 826ad044738..1ab12796496 100644 --- a/catalyst_voices/packages/catalyst_voices_blocs/lib/src/registration/controllers/wallet_link_controller.dart +++ b/catalyst_voices/packages/catalyst_voices_blocs/lib/src/registration/controllers/wallet_link_controller.dart @@ -17,7 +17,15 @@ final class RegistrationWalletLinkController final nextStep = switch (_stage) { WalletLinkStage.intro => const WalletLink(stage: WalletLinkStage.selectWallet), - WalletLinkStage.selectWallet => null, + WalletLinkStage.selectWallet => + const WalletLink(stage: WalletLinkStage.walletDetails), + WalletLinkStage.walletDetails => + const WalletLink(stage: WalletLinkStage.rolesChooser), + WalletLinkStage.rolesChooser => + const WalletLink(stage: WalletLinkStage.rolesSummary), + WalletLinkStage.rolesSummary => + const WalletLink(stage: WalletLinkStage.rbacTransaction), + WalletLinkStage.rbacTransaction => null, }; if (nextStep != null) { @@ -33,6 +41,14 @@ final class RegistrationWalletLinkController WalletLinkStage.intro => null, WalletLinkStage.selectWallet => const WalletLink(stage: WalletLinkStage.intro), + WalletLinkStage.walletDetails => + const WalletLink(stage: WalletLinkStage.selectWallet), + WalletLinkStage.rolesChooser => + const WalletLink(stage: WalletLinkStage.walletDetails), + WalletLinkStage.rolesSummary => + const WalletLink(stage: WalletLinkStage.rolesChooser), + WalletLinkStage.rbacTransaction => + const WalletLink(stage: WalletLinkStage.rolesSummary), }; if (previousStep != null) { diff --git a/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations.dart b/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations.dart index 96ed9fe09f0..39521ede2f3 100644 --- a/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations.dart +++ b/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations.dart @@ -680,25 +680,37 @@ abstract class VoicesLocalizations { /// /// In en, this message translates to: /// **'Link keys to your Catalyst Keychain'** - String get walletLink_header; + String get walletLinkHeader; - /// A subheader in link wallet flow in registration. + /// A subheader in link wallet flow in registration for wallet connection. /// /// In en, this message translates to: /// **'Link your Cardano wallet'** - String get walletLink_subheader; + String get walletLinkWalletSubheader; + + /// A subheader in link wallet flow in registration for role chooser state. + /// + /// In en, this message translates to: + /// **'Select your Catalyst roles'** + String get walletLinkRolesSubheader; + + /// A subheader in link wallet flow in registration for RBAC transaction. + /// + /// In en, this message translates to: + /// **'Sign your Catalyst roles to the\nCardano mainnet'** + String get walletLinkTransactionSubheader; /// A title in link wallet flow on intro screen. /// /// In en, this message translates to: /// **'Link Cardano Wallet & Catalyst Roles to you Catalyst Keychain.'** - String get walletLink_intro_title; + String get walletLinkIntroTitle; /// A message (content) in link wallet flow on intro screen. /// /// In en, this message translates to: /// **'You\'re almost there! This is the final and most important step in your account setup.\n\nWe\'re going to link a Cardano Wallet to your Catalyst Keychain, so you can start collecting Role Keys.\n\nRole Keys allow you to enter new spaces, discover new ways to participate, and unlock new ways to earn rewards.\n\nWe\'ll start with your Voter Key by default. You can decide to add a Proposer Key and Drep key if you want, or you can always add them later.'** - String get walletLink_intro_content; + String get walletLinkIntroContent; /// No description provided for @accountCreationCreate. /// diff --git a/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_en.dart b/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_en.dart index 4cd757de9e7..6de0f1cd165 100644 --- a/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_en.dart +++ b/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_en.dart @@ -353,16 +353,22 @@ class VoicesLocalizationsEn extends VoicesLocalizations { String get learnMore => 'Learn More'; @override - String get walletLink_header => 'Link keys to your Catalyst Keychain'; + String get walletLinkHeader => 'Link keys to your Catalyst Keychain'; @override - String get walletLink_subheader => 'Link your Cardano wallet'; + String get walletLinkWalletSubheader => 'Link your Cardano wallet'; @override - String get walletLink_intro_title => 'Link Cardano Wallet & Catalyst Roles to you Catalyst Keychain.'; + String get walletLinkRolesSubheader => 'Select your Catalyst roles'; @override - String get walletLink_intro_content => 'You\'re almost there! This is the final and most important step in your account setup.\n\nWe\'re going to link a Cardano Wallet to your Catalyst Keychain, so you can start collecting Role Keys.\n\nRole Keys allow you to enter new spaces, discover new ways to participate, and unlock new ways to earn rewards.\n\nWe\'ll start with your Voter Key by default. You can decide to add a Proposer Key and Drep key if you want, or you can always add them later.'; + String get walletLinkTransactionSubheader => 'Sign your Catalyst roles to the\nCardano mainnet'; + + @override + String get walletLinkIntroTitle => 'Link Cardano Wallet & Catalyst Roles to you Catalyst Keychain.'; + + @override + String get walletLinkIntroContent => 'You\'re almost there! This is the final and most important step in your account setup.\n\nWe\'re going to link a Cardano Wallet to your Catalyst Keychain, so you can start collecting Role Keys.\n\nRole Keys allow you to enter new spaces, discover new ways to participate, and unlock new ways to earn rewards.\n\nWe\'ll start with your Voter Key by default. You can decide to add a Proposer Key and Drep key if you want, or you can always add them later.'; @override String get accountCreationCreate => 'Create a new 
Catalyst Keychain'; diff --git a/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_es.dart b/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_es.dart index 338ca7acb5d..ccef81b46cf 100644 --- a/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_es.dart +++ b/catalyst_voices/packages/catalyst_voices_localization/lib/generated/catalyst_voices_localizations_es.dart @@ -353,16 +353,22 @@ class VoicesLocalizationsEs extends VoicesLocalizations { String get learnMore => 'Learn More'; @override - String get walletLink_header => 'Link keys to your Catalyst Keychain'; + String get walletLinkHeader => 'Link keys to your Catalyst Keychain'; @override - String get walletLink_subheader => 'Link your Cardano wallet'; + String get walletLinkWalletSubheader => 'Link your Cardano wallet'; @override - String get walletLink_intro_title => 'Link Cardano Wallet & Catalyst Roles to you Catalyst Keychain.'; + String get walletLinkRolesSubheader => 'Select your Catalyst roles'; @override - String get walletLink_intro_content => 'You\'re almost there! This is the final and most important step in your account setup.\n\nWe\'re going to link a Cardano Wallet to your Catalyst Keychain, so you can start collecting Role Keys.\n\nRole Keys allow you to enter new spaces, discover new ways to participate, and unlock new ways to earn rewards.\n\nWe\'ll start with your Voter Key by default. You can decide to add a Proposer Key and Drep key if you want, or you can always add them later.'; + String get walletLinkTransactionSubheader => 'Sign your Catalyst roles to the\nCardano mainnet'; + + @override + String get walletLinkIntroTitle => 'Link Cardano Wallet & Catalyst Roles to you Catalyst Keychain.'; + + @override + String get walletLinkIntroContent => 'You\'re almost there! This is the final and most important step in your account setup.\n\nWe\'re going to link a Cardano Wallet to your Catalyst Keychain, so you can start collecting Role Keys.\n\nRole Keys allow you to enter new spaces, discover new ways to participate, and unlock new ways to earn rewards.\n\nWe\'ll start with your Voter Key by default. You can decide to add a Proposer Key and Drep key if you want, or you can always add them later.'; @override String get accountCreationCreate => 'Create a new 
Catalyst Keychain'; diff --git a/catalyst_voices/packages/catalyst_voices_localization/lib/l10n/intl_en.arb b/catalyst_voices/packages/catalyst_voices_localization/lib/l10n/intl_en.arb index a97306a76d4..c9bad9cabdd 100644 --- a/catalyst_voices/packages/catalyst_voices_localization/lib/l10n/intl_en.arb +++ b/catalyst_voices/packages/catalyst_voices_localization/lib/l10n/intl_en.arb @@ -434,20 +434,28 @@ "@learnMore": { "description": "A label on a clickable element that can show more content." }, - "walletLink_header": "Link keys to your Catalyst Keychain", - "@walletLink_header": { + "walletLinkHeader": "Link keys to your Catalyst Keychain", + "@walletLinkHeader": { "description": "A header in link wallet flow in registration." }, - "walletLink_subheader": "Link your Cardano wallet", - "@walletLink_subheader": { - "description": "A subheader in link wallet flow in registration." + "walletLinkWalletSubheader": "Link your Cardano wallet", + "@walletLinkWalletSubheader": { + "description": "A subheader in link wallet flow in registration for wallet connection." }, - "walletLink_intro_title": "Link Cardano Wallet & Catalyst Roles to you Catalyst Keychain.", - "@walletLink_intro_title": { + "walletLinkRolesSubheader": "Select your Catalyst roles", + "@walletLinkRolesSubheader": { + "description": "A subheader in link wallet flow in registration for role chooser state." + }, + "walletLinkTransactionSubheader": "Sign your Catalyst roles to the\nCardano mainnet", + "@walletLinkTransactionSubheader": { + "description": "A subheader in link wallet flow in registration for RBAC transaction." + }, + "walletLinkIntroTitle": "Link Cardano Wallet & Catalyst Roles to you Catalyst Keychain.", + "@walletLinkIntroTitle": { "description": "A title in link wallet flow on intro screen." }, - "walletLink_intro_content": "You're almost there! This is the final and most important step in your account setup.\n\nWe're going to link a Cardano Wallet to your Catalyst Keychain, so you can start collecting Role Keys.\n\nRole Keys allow you to enter new spaces, discover new ways to participate, and unlock new ways to earn rewards.\n\nWe'll start with your Voter Key by default. You can decide to add a Proposer Key and Drep key if you want, or you can always add them later.", - "@walletLink_intro_content": { + "walletLinkIntroContent": "You're almost there! This is the final and most important step in your account setup.\n\nWe're going to link a Cardano Wallet to your Catalyst Keychain, so you can start collecting Role Keys.\n\nRole Keys allow you to enter new spaces, discover new ways to participate, and unlock new ways to earn rewards.\n\nWe'll start with your Voter Key by default. You can decide to add a Proposer Key and Drep key if you want, or you can always add them later.", + "@walletLinkIntroContent": { "description": "A message (content) in link wallet flow on intro screen." }, "accountCreationCreate": "Create a new \u2028Catalyst Keychain", diff --git a/catalyst_voices/packages/catalyst_voices_models/lib/src/registration/wallet_link_stage.dart b/catalyst_voices/packages/catalyst_voices_models/lib/src/registration/wallet_link_stage.dart index 364571f6c15..4b03ab1e873 100644 --- a/catalyst_voices/packages/catalyst_voices_models/lib/src/registration/wallet_link_stage.dart +++ b/catalyst_voices/packages/catalyst_voices_models/lib/src/registration/wallet_link_stage.dart @@ -5,4 +5,16 @@ enum WalletLinkStage { /// A screen where the user is asked to connect the cardano wallet. selectWallet, + + /// Wallet details after successfully connecting a wallet. + walletDetails, + + /// A user is asked to select the user roles. + rolesChooser, + + /// Summary of chosen user roles. + rolesSummary, + + /// The user submits an RBAC transaction to finish the registration. + rbacTransaction, }