diff --git a/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource.dart b/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource.dart index f3952b19..a07a5282 100644 --- a/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource.dart +++ b/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource.dart @@ -1,7 +1,7 @@ import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart'; abstract class DevicesRemoteDatasource { - Future deleteDevice({required String userId, required String deviceId}); + Future deleteDevice({required String deviceId}); - Future updateDevice({required String userId, required UpdateDeviceRequestEntity request}); + Future updateDevice({required UpdateDeviceRequestEntity request}); } diff --git a/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource_impl.dart b/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource_impl.dart index 87e20da3..6f01fe3b 100644 --- a/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource_impl.dart +++ b/modules/legacy/modules/account/lib/src/core/data/datasource/devices_remote_datasource_impl.dart @@ -12,7 +12,7 @@ class DevicesRemoteDatasourceImpl implements DevicesRemoteDatasource { final QuestiaRepository _repository; @override - Future deleteDevice({required String userId, required String deviceId}) async { + Future deleteDevice({required String deviceId}) async { try { await _repository.delete( '/devices/$deviceId', @@ -23,7 +23,7 @@ class DevicesRemoteDatasourceImpl implements DevicesRemoteDatasource { } @override - Future updateDevice({required String userId, required UpdateDeviceRequestEntity request}) async { + Future updateDevice({required UpdateDeviceRequestEntity request}) async { try { final body = request.toModel().toJson(); await _repository.put( diff --git a/modules/legacy/modules/account/lib/src/core/data/repositories/devices_repository_impl.dart b/modules/legacy/modules/account/lib/src/core/data/repositories/devices_repository_impl.dart index 460d6e86..d26cf3c7 100644 --- a/modules/legacy/modules/account/lib/src/core/data/repositories/devices_repository_impl.dart +++ b/modules/legacy/modules/account/lib/src/core/data/repositories/devices_repository_impl.dart @@ -9,12 +9,12 @@ class DevicesRepositoryImpl implements DevicesRepository { final DevicesRemoteDatasource _remote; @override - Future deleteDevice({required String userId, required String deviceId}) { - return _remote.deleteDevice(userId: userId, deviceId: deviceId); + Future deleteDevice({required String deviceId}) { + return _remote.deleteDevice(deviceId: deviceId); } @override - Future updateDevice({required String userId, required UpdateDeviceRequestEntity request}) { - return _remote.updateDevice(userId: userId, request: request); + Future updateDevice({required UpdateDeviceRequestEntity request}) { + return _remote.updateDevice(request: request); } } diff --git a/modules/legacy/modules/account/lib/src/core/domain/repositories/devices_repository.dart b/modules/legacy/modules/account/lib/src/core/domain/repositories/devices_repository.dart index 868842b9..8637b265 100644 --- a/modules/legacy/modules/account/lib/src/core/domain/repositories/devices_repository.dart +++ b/modules/legacy/modules/account/lib/src/core/domain/repositories/devices_repository.dart @@ -1,10 +1,9 @@ import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart'; abstract class DevicesRepository { - Future deleteDevice({required String userId, required String deviceId}); + Future deleteDevice({required String deviceId}); Future updateDevice({ - required String userId, required UpdateDeviceRequestEntity request }); } diff --git a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/linked_devices_screen.dart b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/linked_devices_screen.dart index 56673a72..c474e4b6 100644 --- a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/linked_devices_screen.dart +++ b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/linked_devices_screen.dart @@ -27,16 +27,20 @@ class LinkedDevicesScreen extends ConsumerWidget { title: context.translate(I18n.linkedDevices), showEdit: true, onEditChange: vm.toggleIsEditing, - body: ListView.separated( - itemBuilder: (BuildContext context, int index)=>_LinkedDeviceCard( - device: state.linkedDevices[index], - isEditing: state.isEditing, - onDelete: ()=>vm.deleteDevice(state.linkedDevices[index]), + body: Padding( + padding: EdgeInsets.symmetric(horizontal: SizeUtils.getByScreen(small: 10, big: 12)), + child: ListView.separated( + itemBuilder: (BuildContext context, int index)=>_LinkedDeviceCard( + navigationContract: navigationContract, + device: state.linkedDevices[index], + isEditing: state.isEditing, + onDelete: ()=>vm.deleteDevice(state.linkedDevices[index]), + ), + separatorBuilder: (BuildContext context, int index)=>SizedBox( + height: SizeUtils.getByScreen(small: 18, big: 17) + ), + itemCount: state.linkedDevices.length ), - separatorBuilder: (BuildContext context, int index)=>SizedBox( - height: SizeUtils.getByScreen(small: 18, big: 17) - ), - itemCount: state.linkedDevices.length ), ); } @@ -44,11 +48,13 @@ class LinkedDevicesScreen extends ConsumerWidget { class _LinkedDeviceCard extends ConsumerWidget { + final NavigationContract navigationContract; final DeviceEntity device; final bool isEditing; final Function onDelete; const _LinkedDeviceCard({ + required this.navigationContract, required this.device, required this.isEditing, required this.onDelete, @@ -76,7 +82,7 @@ class _LinkedDeviceCard extends ConsumerWidget { shape: BoxShape.circle, color: theme.getColorFor(ThemeCode.backgroundPrimary), ), - padding: EdgeInsets.all(SizeUtils.getByScreen(small: 4, big: 12)), + padding: EdgeInsets.all(SizeUtils.getByScreen(small: 8, big: 12)), child: Icon(SFIcons.watch, size: SizeUtils.getByScreen(small: 40, big: 44), color: theme.getColorFor(ThemeCode.legacyPrimary), @@ -110,7 +116,10 @@ class _LinkedDeviceCard extends ConsumerWidget { ), child: IconButton( onPressed: (){showDialog(context: context, builder: (context)=>Dialog( - child: DeleteDeviceDialog(device: device), + child: DeleteDeviceDialog( + navigationContract: navigationContract, + device: device, + ), ));}, icon: Icon( Icons.close, diff --git a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart index 4ef024d2..d56c2145 100644 --- a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart +++ b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart @@ -70,19 +70,32 @@ class LinkedDevicesViewModel extends Notifier { ); } - Future deleteDevice(DeviceEntity device) async { + Future deleteDevice(DeviceEntity device) async { try { - await _devicesRepository.deleteDevice(userId: state.loggedUser!.id, deviceId: device.identificator); - List newList = state.linkedDevices; - newList.remove(device); - state = state.copyWith( - linkedDevices: newList + isLoading: true, + isComplete: false, ); - return true; + await _devicesRepository.deleteDevice(deviceId: device.id); + List newList = state.linkedDevices.toList(); + newList.remove(device); + + if (device == state.selectedDevice) { + ref.invalidate(selectedDeviceProvider); + } + + state = state.copyWith( + linkedDevices: newList, + isLoading: false, + isComplete: true, + ); } catch (e) { - return false; + state = state.copyWith( + isLoading: false, + errorMessage: e.toString(), + ); + return; } } @@ -102,9 +115,7 @@ class LinkedDevicesViewModel extends Notifier { if (deviceName.isEmpty) return; try { - final userId = state.loggedUser!.id; _devicesRepository.updateDevice( - userId: userId, request: _toRequest(device)); } catch(e) { @@ -114,8 +125,6 @@ class LinkedDevicesViewModel extends Notifier { errorMessage: e.toString() ); } - - } void disposeControllers() { diff --git a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/widgets/delete_device_dialog.dart b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/widgets/delete_device_dialog.dart index 5408a4f0..6923c5a5 100644 --- a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/widgets/delete_device_dialog.dart +++ b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/widgets/delete_device_dialog.dart @@ -2,15 +2,20 @@ import 'package:account/src/features/linked_devices/presentation/state/linked_de import 'package:design_system/design_system.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:navigation/navigation.dart'; import 'package:sf_localizations/sf_localizations.dart'; import 'package:sf_shared/sf_shared.dart'; import 'package:utils/utils.dart'; class DeleteDeviceDialog extends ConsumerWidget { + final NavigationContract navigationContract; final DeviceEntity device; - const DeleteDeviceDialog({required this.device}); + const DeleteDeviceDialog({ + required this.navigationContract, + required this.device + }); @override Widget build(BuildContext context, WidgetRef ref) { @@ -21,15 +26,15 @@ class DeleteDeviceDialog extends ConsumerWidget { return Container( padding: SizeUtils.getByScreen( small: EdgeInsets.symmetric(horizontal: 32, vertical: 30), - big: EdgeInsets.symmetric(horizontal: 30, vertical: 28) + big: EdgeInsets.symmetric(horizontal: 24, vertical: 18) ), width: SizeUtils.getByScreen(small: 360, big: 350), - height: SizeUtils.getByScreen(small: 195, big: 185), + height: SizeUtils.getByScreen(small: 195, big: 160), child: Column( children: [ Text(context.translate(I18n.deleteDeviceDialog), textAlign: TextAlign.center, - style: TextStyle(fontSize: SizeUtils.getByScreen(small: 19, big: 18)), + style: TextStyle(fontSize: SizeUtils.getByScreen(small: 19, big: 16)), ), SizedBox(height: SizeUtils.getByScreen(small: 28, big: 27)), Row( @@ -46,7 +51,20 @@ class DeleteDeviceDialog extends ConsumerWidget { Expanded(child: PrimaryButton( onPressed: () async { await vm.deleteDevice(device); - Navigator.pop(context); + + final isComplete = ref.read( + linkedDevicesViewModelProvider.select((s)=>s.isComplete) + ); + if (isComplete) { + Navigator.pop(context); + } + + final noMoreDevices = ref.read( + linkedDevicesViewModelProvider.select((s)=>s.linkedDevices) + ).isEmpty; + if (noMoreDevices) { + navigationContract.goTo(AppRoutes.legacyDeviceSetup); + } }, text: context.translate(I18n.delete), color: theme.getColorFor(ThemeCode.legacyPrimary), diff --git a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/device_setup_screen.dart b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/device_setup_screen.dart index 6b90acf6..e0f03fc5 100644 --- a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/device_setup_screen.dart +++ b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/device_setup_screen.dart @@ -8,6 +8,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:navigation/navigation_contract.dart'; import 'package:sf_localizations/sf_localizations.dart'; +import 'package:utils/utils.dart'; + +import 'widgets/activation_code_dialog.dart'; class LegacyDeviceSetupScreen extends ConsumerWidget { final NavigationContract navigationContract; @@ -54,7 +57,7 @@ class LegacyDeviceSetupScreen extends ConsumerWidget { child: Column( children: [ Padding( - padding: const EdgeInsets.only(top: 12, left: 8, right: 8), + padding: EdgeInsets.only(top: SizeUtils.getByScreen(small: 4, big: 12), left: 8, right: 8), child: Row( children: [ if (isIntro) @@ -114,6 +117,9 @@ class LegacyDeviceSetupScreen extends ConsumerWidget { } return; } + if (state.step == LegacyAddKidStep.scanWatch) { + showActivationCodeDialog(context); + } await vm.next(); }, theme: theme, diff --git a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/intro_step.dart b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/intro_step.dart index 64ed419e..cacf3e37 100644 --- a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/intro_step.dart +++ b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/intro_step.dart @@ -3,6 +3,7 @@ import 'package:design_system/design_system.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:sf_localizations/sf_localizations.dart'; +import 'package:utils/utils.dart'; class LegacyIntroStepScreen extends ConsumerWidget { const LegacyIntroStepScreen({super.key}); @@ -11,29 +12,34 @@ class LegacyIntroStepScreen extends ConsumerWidget { Widget build(BuildContext context, WidgetRef ref) { final theme = ref.watch(themePortProvider); - return Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - context.translate(I18n.deviceSetup_intro_title), - style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold), - ), - const SizedBox(height: 30), - Text( - context.translate(I18n.deviceSetup_intro_subtitle), - style: TextStyle(fontSize: 18), - textAlign: TextAlign.center, - ), - SizedBox(height: 40), - LegacyNumberedSteps( - steps: [ - context.translate(I18n.deviceSetup_intro_step_1), - context.translate(I18n.deviceSetup_intro_step_2), - ], - color: theme.getColorFor(ThemeCode.legacyPrimary), - ), - ], + return Padding( + padding: EdgeInsets.symmetric( + horizontal: SizeUtils.getByScreen(small: 8, big: 2) + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + context.translate(I18n.deviceSetup_intro_title), + style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 30), + Text( + context.translate(I18n.deviceSetup_intro_subtitle), + style: TextStyle(fontSize: 18), + textAlign: TextAlign.center, + ), + SizedBox(height: 40), + LegacyNumberedSteps( + steps: [ + context.translate(I18n.deviceSetup_intro_step_1), + context.translate(I18n.deviceSetup_intro_step_2), + ], + color: theme.getColorFor(ThemeCode.legacyPrimary), + ), + ], + ), ); } } diff --git a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/link_info_step.dart b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/link_info_step.dart index 88e529b7..a23d66f3 100644 --- a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/link_info_step.dart +++ b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/link_info_step.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:sf_localizations/sf_localizations.dart'; +import 'package:utils/utils.dart'; class LegacyLinkInfoStepScreen extends ConsumerWidget { const LegacyLinkInfoStepScreen({super.key}); @@ -13,7 +14,7 @@ class LegacyLinkInfoStepScreen extends ConsumerWidget { mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.center, children: [ - const SizedBox(height: 30), + SizedBox(height: SizeUtils.getByScreen(small: 8, big: 30)), Padding( padding: const EdgeInsets.symmetric(horizontal: 65), child: Text( diff --git a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/profile_step.dart b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/profile_step.dart index 726dfa5c..9d6a086f 100644 --- a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/profile_step.dart +++ b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/steps/profile_step.dart @@ -147,7 +147,7 @@ class LegacyProfileStepScreen extends ConsumerWidget { CustomTextField( label: context.translate(I18n.activationKeyLabel), - hint: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', + hint: 'XXXXXXXX', controller: vm.activationKeyController, ), diff --git a/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/widgets/activation_code_dialog.dart b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/widgets/activation_code_dialog.dart new file mode 100644 index 00000000..a5ae14ca --- /dev/null +++ b/modules/legacy/modules/legacy_auth/lib/src/features/device_setup/presentation/widgets/activation_code_dialog.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; +import 'package:sf_localizations/sf_localizations.dart'; +import 'package:utils/utils.dart'; + +void showActivationCodeDialog(BuildContext context) { + showDialog(context: context, builder: (context) => + Dialog( + backgroundColor: Colors.transparent, + child: _ActivationCodeDialog(), + ) + ); +} + +class _ActivationCodeDialog extends StatelessWidget { + + const _ActivationCodeDialog(); + + @override + Widget build(BuildContext context) { + return Container( + padding: SizeUtils.getByScreen( + small: EdgeInsets.symmetric(horizontal: 14, vertical: 24), + big: EdgeInsets.symmetric(horizontal: 12, vertical: 20), + ), + color: Colors.white, + child: Text(context.translate(I18n.activationCodeMessage), + textAlign: TextAlign.center, + style: TextStyle(fontSize: SizeUtils.getByScreen(small: 16, big: 15)), + ), + ); + } + +} \ No newline at end of file diff --git a/modules/legacy/modules/legacy_auth/lib/src/features/login/presentation/widgets/two_factor_bottom_sheet.dart b/modules/legacy/modules/legacy_auth/lib/src/features/login/presentation/widgets/two_factor_bottom_sheet.dart index f983a53b..9eed2bff 100644 --- a/modules/legacy/modules/legacy_auth/lib/src/features/login/presentation/widgets/two_factor_bottom_sheet.dart +++ b/modules/legacy/modules/legacy_auth/lib/src/features/login/presentation/widgets/two_factor_bottom_sheet.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:legacy_auth/src/features/login/presentation/widgets/otp_code_fields.dart'; import 'package:design_system/design_system.dart'; import 'package:flutter/material.dart'; +import 'package:utils/utils.dart'; class LegacyTwoFactorBottomSheetView extends StatelessWidget { const LegacyTwoFactorBottomSheetView({ @@ -88,6 +89,7 @@ class LegacyTwoFactorBottomSheetView extends StatelessWidget { if (isOtpLoading || !_isValidOtp) return; unawaited(onVerify()); }, + gap: SizeUtils.getByScreen(small: 10, big: 8), ), const SizedBox(height: 20), diff --git a/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml b/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml index 28301667..a264b49f 100644 --- a/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml +++ b/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml @@ -7,6 +7,6 @@ 2.6.4 - 20260316000000 + 20260318000000 diff --git a/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.md5 b/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.md5 index 9d12d556..66e064a1 100644 --- a/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.md5 +++ b/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.md5 @@ -1 +1 @@ -a0ed8b315dd3aaa92839422686f00f9d \ No newline at end of file +f9e85f64806f37132f0c0cc4ef8a67ec \ No newline at end of file diff --git a/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.sha1 b/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.sha1 index a2a39a3d..d0a4a597 100644 --- a/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.sha1 +++ b/packages/flutter_treezor_entrust_sdk_bridge/android/build/com/entrust/antelop/antelop/maven-metadata.xml.sha1 @@ -1 +1 @@ -4888c373e3701bd965ce8ff0daaa19071f7d9a9e \ No newline at end of file +b7a72907f1f917f7b7d0cd57cb170901965b4113 \ No newline at end of file diff --git a/packages/sf_localizations/assets/l10n/en.json b/packages/sf_localizations/assets/l10n/en.json index 3d2e121e..bebf1b55 100755 --- a/packages/sf_localizations/assets/l10n/en.json +++ b/packages/sf_localizations/assets/l10n/en.json @@ -582,7 +582,7 @@ "deviceSetup_weightHint": "30", "deviceSetup_heightLabel": "Height (cm)", "deviceSetup_heightHint": "120", - "activationKeyLabel": "Activation key", + "activationKeyLabel": "Activation key (check your email)", "rewardsMessage": "*Using this feature you can reward your child for goals achieved or good actions.", "sendRewards": "Send rewards!", "rewardsSent": "Rewards sent!", @@ -705,5 +705,6 @@ "wifiBssidHint": "e.g. 0c:80:63:e4:cb:e1", "editChildProfile": "Edit profile", "editChildProfileSaveSuccess": "Child profile updated successfully", - "editChildProfileTitle": "Edit child profile" + "editChildProfileTitle": "Edit child profile", + "activationCodeMessage": "An activation key has been sent to your email" } \ No newline at end of file diff --git a/packages/sf_localizations/assets/l10n/es.json b/packages/sf_localizations/assets/l10n/es.json index f2f5f9b9..42de9849 100644 --- a/packages/sf_localizations/assets/l10n/es.json +++ b/packages/sf_localizations/assets/l10n/es.json @@ -580,7 +580,7 @@ "deviceSetup_weightHint": "30", "deviceSetup_heightLabel": "Altura (cm)", "deviceSetup_heightHint": "120", - "activationKeyLabel": "Clave de activación", + "activationKeyLabel": "Clave de activación (consulta tu correo electrónico)", "rewardsMessage": "*Usando esta función puedes recompensar a tu hijo por metas alcanzadas o buenas acciones.", "sendRewards": "¡Enviar recompensas!", "rewardsSent": "¡Recompensas enviadas!", @@ -703,5 +703,6 @@ "wifiBssidHint": "ej. 0c:80:63:e4:cb:e1", "editChildProfile": "Editar perfil", "editChildProfileTitle": "Editar perfil del niño", - "editChildProfileSaveSuccess": "Perfil del niño actualizado correctamente" + "editChildProfileSaveSuccess": "Perfil del niño actualizado correctamente", + "activationCodeMessage": "Se ha enviado un código de activación a tu correo electrónico" } \ No newline at end of file diff --git a/packages/sf_localizations/lib/src/generated/i18n.dart b/packages/sf_localizations/lib/src/generated/i18n.dart index ba36512e..495d9e03 100755 --- a/packages/sf_localizations/lib/src/generated/i18n.dart +++ b/packages/sf_localizations/lib/src/generated/i18n.dart @@ -829,4 +829,5 @@ class I18n { static const String editChildProfile = 'editChildProfile'; static const String editChildProfileTitle = 'editChildProfileTitle'; static const String editChildProfileSaveSuccess = 'editChildProfileSaveSuccess'; + static const String activationCodeMessage = 'activationCodeMessage'; }