logoutConfirmationDialog function

void logoutConfirmationDialog(
  1. dynamic context,
  2. dynamic ref
)

Implementation

void logoutConfirmationDialog(BuildContext context, WidgetRef ref) {
  showDialog(
    context: context,
    builder: (BuildContext context) {
      return AlertDialog(
        backgroundColor: Theme.of(context).colorScheme.surface,
        title: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Icon(
              Atlas.warning,
              color: Theme.of(context).colorScheme.error,
            ),
            const SizedBox(
              height: 10,
            ),
            Text(L10n.of(context).logOut),
          ],
        ),
        content: RichText(
          textAlign: TextAlign.left,
          text: TextSpan(
            text: L10n.of(context).logOutConformationDescription1,
            style: Theme.of(context).textTheme.bodyLarge,
            children: <TextSpan>[
              TextSpan(
                text: L10n.of(context).logOutConformationDescription2,
              ),
              TextSpan(
                text: L10n.of(context).logOutConformationDescription3,
              ),
            ],
          ),
        ),
        actionsAlignment: MainAxisAlignment.spaceEvenly,
        actions: <Widget>[
          OutlinedButton(
            onPressed: () => Navigator.pop(context),
            child: Text(
              L10n.of(context).no,
              key: LogoutDialogKeys.cancel,
            ),
          ),
          ActerDangerActionButton(
            onPressed: () async {
              await ref.read(authStateProvider.notifier).logout(context);
            },
            child: Text(
              L10n.of(context).yes,
              key: LogoutDialogKeys.confirm,
            ),
          ),
        ],
      );
    },
  );
}