mirror of
https://github.com/simon-ding/polaris.git
synced 2026-06-02 07:57:45 +08:00
fix: context
This commit is contained in:
@@ -38,7 +38,7 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
margin: const EdgeInsets.all(4),
|
margin: const EdgeInsets.all(4),
|
||||||
clipBehavior: Clip.hardEdge,
|
clipBehavior: Clip.hardEdge,
|
||||||
child: Container(
|
child: Container(
|
||||||
constraints: BoxConstraints(maxHeight: 400),
|
constraints: const BoxConstraints(maxHeight: 400),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
@@ -52,7 +52,7 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
screenWidth < 600
|
screenWidth < 600
|
||||||
? SizedBox()
|
? const SizedBox()
|
||||||
: Flexible(
|
: Flexible(
|
||||||
flex: 2,
|
flex: 2,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -72,14 +72,14 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
children: [
|
children: [
|
||||||
//const Text(""),
|
//const Text(""),
|
||||||
Text(
|
Text(
|
||||||
"${widget.details.name} ${widget.details.name != widget.details.originalName ? widget.details.originalName : ''} ${widget.details.airDate == null? "": (widget.details.airDate!.split("-")[0])}",
|
"${widget.details.name} ${widget.details.name != widget.details.originalName ? widget.details.originalName : ''} ${widget.details.airDate == null ? "" : (widget.details.airDate!.split("-")[0])}",
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
height: 2.5),
|
height: 2.5),
|
||||||
),
|
),
|
||||||
const Divider(thickness: 1, height: 1),
|
const Divider(thickness: 1, height: 1),
|
||||||
Text(
|
const Text(
|
||||||
"",
|
"",
|
||||||
style: TextStyle(height: 0.2),
|
style: TextStyle(height: 0.2),
|
||||||
),
|
),
|
||||||
@@ -93,14 +93,14 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
label: Text(
|
label: Text(
|
||||||
"${widget.details.storage!.name}: ${widget.details.mediaType == "tv" ? widget.details.storage!.tvPath : widget.details.storage!.moviePath}"
|
"${widget.details.storage!.name}: ${widget.details.mediaType == "tv" ? widget.details.storage!.tvPath : widget.details.storage!.moviePath}"
|
||||||
"${widget.details.targetDir}"),
|
"${widget.details.targetDir}"),
|
||||||
padding: EdgeInsets.all(0),
|
padding: const EdgeInsets.all(0),
|
||||||
),
|
),
|
||||||
Chip(
|
Chip(
|
||||||
clipBehavior: Clip.hardEdge,
|
clipBehavior: Clip.hardEdge,
|
||||||
shape: ContinuousRectangleBorder(
|
shape: ContinuousRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(100.0)),
|
borderRadius: BorderRadius.circular(100.0)),
|
||||||
label: Text("${widget.details.resolution}"),
|
label: Text("${widget.details.resolution}"),
|
||||||
padding: EdgeInsets.all(0),
|
padding: const EdgeInsets.all(0),
|
||||||
),
|
),
|
||||||
widget.details.limiter != null &&
|
widget.details.limiter != null &&
|
||||||
widget.details.limiter!.sizeMax > 0
|
widget.details.limiter!.sizeMax > 0
|
||||||
@@ -109,13 +109,13 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
shape: ContinuousRectangleBorder(
|
shape: ContinuousRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(100.0)),
|
BorderRadius.circular(100.0)),
|
||||||
padding: EdgeInsets.all(0),
|
padding: const EdgeInsets.all(0),
|
||||||
label: Text(
|
label: Text(
|
||||||
"${(widget.details.limiter!.sizeMin).readableFileSize()} - ${(widget.details.limiter!.sizeMax).readableFileSize()}"))
|
"${(widget.details.limiter!.sizeMin).readableFileSize()} - ${(widget.details.limiter!.sizeMax).readableFileSize()}"))
|
||||||
: const SizedBox(),
|
: const SizedBox(),
|
||||||
MenuAnchor(
|
MenuAnchor(
|
||||||
style:
|
style: const MenuStyle(
|
||||||
MenuStyle(alignment: Alignment.bottomRight),
|
alignment: Alignment.bottomRight),
|
||||||
menuChildren: [
|
menuChildren: [
|
||||||
ActionChip.elevated(
|
ActionChip.elevated(
|
||||||
onPressed: () => launchUrl(url),
|
onPressed: () => launchUrl(url),
|
||||||
@@ -124,10 +124,10 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
shape: ContinuousRectangleBorder(
|
shape: ContinuousRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(100.0)),
|
BorderRadius.circular(100.0)),
|
||||||
padding: EdgeInsets.all(0),
|
padding: const EdgeInsets.all(0),
|
||||||
label: Text("TMDB")),
|
label: const Text("TMDB")),
|
||||||
isBlank(widget.details.imdbid)
|
isBlank(widget.details.imdbid)
|
||||||
? SizedBox()
|
? const SizedBox()
|
||||||
: ActionChip.elevated(
|
: ActionChip.elevated(
|
||||||
onPressed: () => launchUrl(imdbUrl),
|
onPressed: () => launchUrl(imdbUrl),
|
||||||
backgroundColor: Colors.indigo[700],
|
backgroundColor: Colors.indigo[700],
|
||||||
@@ -135,8 +135,8 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
shape: ContinuousRectangleBorder(
|
shape: ContinuousRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(100.0)),
|
BorderRadius.circular(100.0)),
|
||||||
padding: EdgeInsets.all(0),
|
padding: const EdgeInsets.all(0),
|
||||||
label: Text("IMDB"),
|
label: const Text("IMDB"),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
builder: (context, controller, child) {
|
builder: (context, controller, child) {
|
||||||
@@ -152,8 +152,8 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
shape: ContinuousRectangleBorder(
|
shape: ContinuousRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(100.0)),
|
BorderRadius.circular(100.0)),
|
||||||
padding: EdgeInsets.all(0),
|
padding: const EdgeInsets.all(0),
|
||||||
label: Text("外部链接"));
|
label: const Text("外部链接"));
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -170,7 +170,7 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
children: [
|
children: [
|
||||||
downloadButton(),
|
downloadButton(),
|
||||||
editIcon(),
|
editIcon(),
|
||||||
deleteIcon(),
|
deleteIcon(context),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
@@ -185,14 +185,14 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget deleteIcon() {
|
Widget deleteIcon(BuildContext oriContext) {
|
||||||
return IconButton(
|
return IconButton(
|
||||||
tooltip: widget.details.mediaType == "tv" ? "删除剧集" : "删除电影",
|
tooltip: widget.details.mediaType == "tv" ? "删除剧集" : "删除电影",
|
||||||
onPressed: () => showConfirmDialog(),
|
onPressed: () => showConfirmDialog(oriContext),
|
||||||
icon: const Icon(Icons.delete));
|
icon: const Icon(Icons.delete));
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> showConfirmDialog() {
|
Future<void> showConfirmDialog(BuildContext oriContext) {
|
||||||
return showDialog<void>(
|
return showDialog<void>(
|
||||||
context: context,
|
context: context,
|
||||||
barrierDismissible: true,
|
barrierDismissible: true,
|
||||||
@@ -210,9 +210,13 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
.read(mediaDetailsProvider(widget.details.id.toString())
|
.read(mediaDetailsProvider(widget.details.id.toString())
|
||||||
.notifier)
|
.notifier)
|
||||||
.delete()
|
.delete()
|
||||||
.then((v) => context.go(widget.details.mediaType == "tv"
|
.then((v) {
|
||||||
|
if (oriContext.mounted) {
|
||||||
|
oriContext.go(widget.details.mediaType == "tv"
|
||||||
? WelcomePage.routeTv
|
? WelcomePage.routeTv
|
||||||
: WelcomePage.routeMoivie));
|
: WelcomePage.routeMoivie);
|
||||||
|
}
|
||||||
|
});
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
child: const Text("确认"))
|
child: const Text("确认"))
|
||||||
@@ -292,7 +296,11 @@ class _DetailCardState extends ConsumerState<DetailCard> {
|
|||||||
.notifier)
|
.notifier)
|
||||||
.edit(values["resolution"], values["target_dir"],
|
.edit(values["resolution"], values["target_dir"],
|
||||||
values["limiter"])
|
values["limiter"])
|
||||||
.then((v) => Navigator.of(context).pop());
|
.then((v) {
|
||||||
|
if (context.mounted) {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
label: const Text("确认"))
|
label: const Text("确认"))
|
||||||
|
|||||||
Reference in New Issue
Block a user