feat(design_system): add shared contacts permission dialog
This commit is contained in:
@@ -16,3 +16,4 @@ export 'src/containers/footer_container.dart';
|
||||
export 'src/rows/editable_row.dart';
|
||||
export 'src/loading/app_loading_indicator.dart';
|
||||
export 'src/confetti/confetti_overlay.dart';
|
||||
export 'src/dialogs/contacts_permission_dialog.dart';
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
|
||||
Future<void> showContactsPermissionDialog(
|
||||
BuildContext context, {
|
||||
required Future<void> Function() onOpenSettings,
|
||||
}) {
|
||||
return showDialog<void>(
|
||||
context: context,
|
||||
builder: (dialogContext) => AlertDialog(
|
||||
content: Text(context.translate(I18n.contactsPermissionBlocked)),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.pop(dialogContext),
|
||||
child: Text(context.translate(I18n.cancel)),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
Navigator.pop(dialogContext);
|
||||
await onOpenSettings();
|
||||
},
|
||||
child: Text(context.translate(I18n.openSettings)),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -14,6 +14,8 @@ dependencies:
|
||||
|
||||
utils:
|
||||
path: ../utils
|
||||
sf_localizations:
|
||||
path: ../sf_localizations
|
||||
flutter_riverpod: ^3.0.3
|
||||
get_it: ^9.0.5
|
||||
country_code_picker: ^3.4.1
|
||||
|
||||
@@ -863,5 +863,7 @@
|
||||
"appUpdateRequiredTitle": "Update erforderlich",
|
||||
"appUpdateRequiredMessage": "Du musst SaveFamily aktualisieren, um die App weiterhin zu nutzen.",
|
||||
"appUpdateLater": "Später",
|
||||
"appUpdateNow": "Jetzt aktualisieren"
|
||||
"appUpdateNow": "Jetzt aktualisieren",
|
||||
"contactsPermissionBlocked": "Aktiviere die Kontakte-Berechtigung in den Systemeinstellungen, um zu importieren.",
|
||||
"openSettings": "Einstellungen öffnen"
|
||||
}
|
||||
|
||||
@@ -863,5 +863,7 @@
|
||||
"appUpdateRequiredTitle": "Update required",
|
||||
"appUpdateRequiredMessage": "You need to update SaveFamily to keep using the app.",
|
||||
"appUpdateLater": "Later",
|
||||
"appUpdateNow": "Update now"
|
||||
"appUpdateNow": "Update now",
|
||||
"contactsPermissionBlocked": "Enable the contacts permission in system settings to import.",
|
||||
"openSettings": "Open settings"
|
||||
}
|
||||
|
||||
@@ -863,5 +863,7 @@
|
||||
"appUpdateRequiredTitle": "Actualización requerida",
|
||||
"appUpdateRequiredMessage": "Necesitas actualizar SaveFamily para seguir usando la app.",
|
||||
"appUpdateLater": "Más tarde",
|
||||
"appUpdateNow": "Actualizar ahora"
|
||||
"appUpdateNow": "Actualizar ahora",
|
||||
"contactsPermissionBlocked": "Activa el permiso de contactos en los ajustes del sistema para importar.",
|
||||
"openSettings": "Abrir ajustes"
|
||||
}
|
||||
|
||||
@@ -863,5 +863,7 @@
|
||||
"appUpdateRequiredTitle": "Mise à jour requise",
|
||||
"appUpdateRequiredMessage": "Vous devez mettre à jour SaveFamily pour continuer à utiliser l'application.",
|
||||
"appUpdateLater": "Plus tard",
|
||||
"appUpdateNow": "Mettre à jour maintenant"
|
||||
"appUpdateNow": "Mettre à jour maintenant",
|
||||
"contactsPermissionBlocked": "Active la permission des contacts dans les paramètres pour importer.",
|
||||
"openSettings": "Ouvrir les paramètres"
|
||||
}
|
||||
|
||||
@@ -863,5 +863,7 @@
|
||||
"appUpdateRequiredTitle": "Aggiornamento richiesto",
|
||||
"appUpdateRequiredMessage": "Devi aggiornare SaveFamily per continuare a usare l'app.",
|
||||
"appUpdateLater": "Più tardi",
|
||||
"appUpdateNow": "Aggiorna ora"
|
||||
"appUpdateNow": "Aggiorna ora",
|
||||
"contactsPermissionBlocked": "Attiva il permesso dei contatti nelle impostazioni per importare.",
|
||||
"openSettings": "Apri impostazioni"
|
||||
}
|
||||
|
||||
@@ -863,5 +863,7 @@
|
||||
"appUpdateRequiredTitle": "Atualização necessária",
|
||||
"appUpdateRequiredMessage": "Precisas atualizar o SaveFamily para continuar a usar a app.",
|
||||
"appUpdateLater": "Mais tarde",
|
||||
"appUpdateNow": "Atualizar agora"
|
||||
"appUpdateNow": "Atualizar agora",
|
||||
"contactsPermissionBlocked": "Ativa a permissão de contactos nas definições para importar.",
|
||||
"openSettings": "Abrir definições"
|
||||
}
|
||||
|
||||
@@ -370,6 +370,8 @@ class I18n {
|
||||
static const String errorMessagePasswordTooShort =
|
||||
'errorMessagePasswordTooShort';
|
||||
static const String errorMessagePhoneIsEmpty = 'errorMessagePhoneIsEmpty';
|
||||
static const String contactsPermissionBlocked = 'contactsPermissionBlocked';
|
||||
static const String openSettings = 'openSettings';
|
||||
static const String errorMessagePhoneIsInvalid = 'errorMessagePhoneIsInvalid';
|
||||
static const String errorMessageUnequalPasswords =
|
||||
'errorMessageUnequalPasswords';
|
||||
|
||||
Reference in New Issue
Block a user