Files
Redesnigned-Finamp/lib/components/confirmation_prompt_dialog.dart
T
Zakaria 1563409cb1
Build / Build for Android (push) Has been cancelled
Build / Build for iOS (push) Has been cancelled
first commit
2026-05-18 14:15:38 -04:00

73 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import '../models/jellyfin_models.dart';
import '../services/downloads_helper.dart';
import 'error_snackbar.dart';
class ConfirmationPromptDialog extends AlertDialog {
const ConfirmationPromptDialog({
Key? key,
required this.promptText,
required this.confirmButtonText,
required this.abortButtonText,
required this.onConfirmed,
required this.onAborted,
}) : super(key: key);
final String promptText;
final String confirmButtonText;
final String abortButtonText;
final void Function()? onConfirmed;
final void Function()? onAborted;
@override
Widget build(BuildContext context) {
return AlertDialog(
buttonPadding: const EdgeInsets.all(0.0),
contentPadding: const EdgeInsets.all(0.0),
insetPadding: const EdgeInsets.all(32.0),
actionsPadding: const EdgeInsets.all(0.0),
actionsAlignment: MainAxisAlignment.spaceAround,
actionsOverflowAlignment: OverflowBarAlignment.center,
actionsOverflowDirection: VerticalDirection.up,
title: Text(
promptText,
style: const TextStyle(fontSize: 18),
),
actions: [
Container(
constraints: const BoxConstraints(
maxWidth: 150.0,
),
child: TextButton(
child: Text(abortButtonText,
textAlign: TextAlign.center,
),
onPressed: () {
Navigator.of(context).pop();
onAborted?.call();
},
),
),
Container(
constraints: const BoxConstraints(
maxWidth: 150.0,
),
child: TextButton(
child: Text(confirmButtonText,
textAlign: TextAlign.center,
softWrap: true,
),
onPressed: () {
Navigator.of(context).pop(); // Close the dialog
onConfirmed?.call();
},
),
),
],
);
}
}