showExitConfirmationDialog static method

dynamic showExitConfirmationDialog(
  1. BuildContext context,
  2. String key,
  3. String contentKey
)

Método para mostrar una alerta cuando el usuario intente salir del perfil sin guardar los cambios.

Parámetros:

  • context: Contexto de la aplicación donde se mostrará el diálogo.
  • key: Clave para la localización del título del diálogo.
  • contentKey: Clave para la localización del contenido del diálogo.

Implementation

static showExitConfirmationDialog(
    BuildContext context, String key, String contentKey) {
  // SE MUESTRA EL DIALOG
  return showDialog(
      context: context,
      builder: (context) {
        return AlertDialog(
          // TITULO DE LA ALERTA
          title: Internationalization.internationalization
              .createLocalizedSemantics(
            context,
            '${key}_label',
            '${key}_hint',
            key,
            const TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
          ),
          content: Internationalization.internationalization
              .createLocalizedSemantics(
            context,
            '${contentKey}_label',
            '${contentKey}_hint',
            contentKey,
            const TextStyle(fontSize: 16),
          ),
          actions: <Widget>[
            // BOTONES PARA CANCELAR O DARLE OK
            TextButton(
              onPressed: () {
                // CIERRA LA ALERTA
                Navigator.pop(context);
              },
              child: Internationalization.internationalization
                  .createLocalizedSemantics(
                context,
                'cancel_label',
                'cancel_hint',
                'cancel_label',
                const TextStyle(fontSize: 16, color: Colors.blue),
              ),
            ),
            TextButton(
              onPressed: () {
                // CUANDO ACEPTA SIN GUARDAR LOS CAMBIOS, SE VA AL TIMER
                ChangeScreen.changeScreen(const BottomNavigation(), context);
              },
              child: Internationalization.internationalization
                  .createLocalizedSemantics(
                context,
                'accept_label',
                'accept_hint',
                'accept_label',
                const TextStyle(fontSize: 16, color: Colors.blue),
              ),
            ),
          ],
        );
      });
}