mirror of
https://github.com/simon-ding/polaris.git
synced 2026-05-27 04:57:42 +08:00
feat: second confirmation on deletion
This commit is contained in:
@@ -112,17 +112,37 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
return Tooltip(
|
return Tooltip(
|
||||||
message: widget.details.mediaType == "tv" ? "删除剧集" : "删除电影",
|
message: widget.details.mediaType == "tv" ? "删除剧集" : "删除电影",
|
||||||
child: IconButton(
|
child: IconButton(
|
||||||
onPressed: () {
|
onPressed: () => showConfirmDialog(), icon: const Icon(Icons.delete)),
|
||||||
var f = ref
|
);
|
||||||
.read(
|
}
|
||||||
mediaDetailsProvider(widget.details.id.toString()).notifier)
|
|
||||||
.delete()
|
Future<void> showConfirmDialog() {
|
||||||
.then((v) => context.go(widget.details.mediaType == "tv"
|
return showDialog<void>(
|
||||||
? WelcomePage.routeTv
|
context: context,
|
||||||
: WelcomePage.routeMoivie));
|
barrierDismissible: true,
|
||||||
showLoadingWithFuture(f);
|
builder: (BuildContext context) {
|
||||||
},
|
return AlertDialog(
|
||||||
icon: const Icon(Icons.delete)),
|
title: const Text("确认删除:"),
|
||||||
|
content: Text("${widget.details.name}"),
|
||||||
|
actions: [
|
||||||
|
TextButton(
|
||||||
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
child: const Text("取消")),
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
var f = ref
|
||||||
|
.read(mediaDetailsProvider(widget.details.id.toString())
|
||||||
|
.notifier)
|
||||||
|
.delete()
|
||||||
|
.then((v) => context.go(widget.details.mediaType == "tv"
|
||||||
|
? WelcomePage.routeTv
|
||||||
|
: WelcomePage.routeMoivie));
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
child: const Text("确认"))
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,13 +203,13 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.saveAndValidate()) {
|
if (_formKey.currentState!.saveAndValidate()) {
|
||||||
final values = _formKey.currentState!.value;
|
final values = _formKey.currentState!.value;
|
||||||
var f = ref
|
var f = ref
|
||||||
.read(mediaDetailsProvider(widget.details.id.toString())
|
.read(mediaDetailsProvider(widget.details.id.toString())
|
||||||
.notifier)
|
.notifier)
|
||||||
.edit(values["resolution"], values["target_dir"], values["limiter"])
|
.edit(values["resolution"], values["target_dir"],
|
||||||
.then((v) => Navigator.of(context).pop());
|
values["limiter"])
|
||||||
showLoadingWithFuture(f);
|
.then((v) => Navigator.of(context).pop());
|
||||||
|
showLoadingWithFuture(f);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: const Text("确认"))
|
child: const Text("确认"))
|
||||||
|
|||||||
Reference in New Issue
Block a user