showDeleteZoneDialog function
Show delete zone dialog.
Implementation
Future<void> showDeleteZoneDialog(BuildContext context, NmZoneController controller) async {
final zone = controller.selected;
if (zone == null) return;
final l10n = NmTelecom.l10n(context);
final confirmed = await showDialog<bool>(
context: context,
builder: (_) => AlertDialog(
title: Row(children: [const NmIcon(NmFugue.applicationBadgeMinus), const SizedBox(width: 8), Text(l10n.zoneDeleteConfirmTitle)]),
content: Text(l10n.zoneDeleteConfirmBody(zone.name, zone.id, zone.defCodes.length)),
actions: [
TextButton(onPressed: () => Navigator.pop(context, false), child: Text(NmL10n.of(context).actionCancel)),
FilledButton(
style: FilledButton.styleFrom(backgroundColor: context.nm.colors.dangerText),
onPressed: () => Navigator.pop(context, true),
child: Text(NmL10n.of(context).actionDelete),
),
],
),
);
if (confirmed == true) controller.deleteZone(zone.id, l10n);
}