opt: simple dialog

This commit is contained in:
My-Responsitories
2026-06-13 11:58:33 +08:00
parent c63fe3866c
commit 3085d58508
26 changed files with 1184 additions and 1433 deletions

View File

@@ -120,71 +120,56 @@ class _PgcReviewChildPageState extends State<PgcReviewChildPage>
Widget _itemWidget(ThemeData theme, int index, PgcReviewItemModel item) {
void showMore() => showDialog(
context: context,
builder: (context) => AlertDialog(
builder: (context) => SimpleDialog(
clipBehavior: Clip.hardEdge,
contentPadding: const EdgeInsets.symmetric(vertical: 12),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
if (item.author!.mid == Accounts.main.mid) ...[
ListTile(
dense: true,
title: const Text(
'编辑',
style: TextStyle(fontSize: 14),
),
onTap: () {
Get.back();
showModalBottomSheet(
context: context,
useSafeArea: true,
isScrollControlled: true,
builder: (context) {
return PgcReviewPostPanel(
name: widget.name,
mediaId: widget.mediaId,
reviewId: item.reviewId,
content: item.content,
score: item.score,
);
},
);
},
),
ListTile(
dense: true,
title: const Text(
'删除',
style: TextStyle(fontSize: 14),
),
onTap: () {
Get.back();
showConfirmDialog(
context: context,
title: const Text('删除短评,同时删除评分?'),
onConfirm: () => _controller.onDel(index, item.reviewId!),
);
},
),
],
ListTile(
dense: true,
title: const Text(
'举报',
style: TextStyle(fontSize: 14),
),
onTap: () => Get
..back()
..toNamed(
'/webview',
parameters: {
'url':
'https://www.bilibili.com/appeal/?reviewId=${item.reviewId}&type=shortComment&mediaId=${widget.mediaId}',
children: [
if (item.author!.mid == Accounts.main.mid) ...[
SimpleDialogOption(
child: const Text('编辑', style: TextStyle(fontSize: 14)),
onPressed: () {
Get.back();
showModalBottomSheet(
context: context,
useSafeArea: true,
isScrollControlled: true,
builder: (context) {
return PgcReviewPostPanel(
name: widget.name,
mediaId: widget.mediaId,
reviewId: item.reviewId,
content: item.content,
score: item.score,
);
},
),
);
},
),
SimpleDialogOption(
child: const Text('删除', style: TextStyle(fontSize: 14)),
onPressed: () {
Get.back();
showConfirmDialog(
context: context,
title: const Text('删除短评,同时删除评分?'),
onConfirm: () => _controller.onDel(index, item.reviewId!),
);
},
),
],
),
SimpleDialogOption(
child: const Text('举报', style: TextStyle(fontSize: 14)),
onPressed: () => Get
..back()
..toNamed(
'/webview',
parameters: {
'url':
'https://www.bilibili.com/appeal/?reviewId=${item.reviewId}&type=shortComment&mediaId=${widget.mediaId}',
},
),
),
],
),
);

View File

@@ -115,51 +115,40 @@ class _PgcReviewPageState extends State<PgcReviewPage>
child: FloatingActionButton(
onPressed: () => showDialog(
context: context,
builder: (context) => AlertDialog(
builder: (context) => SimpleDialog(
clipBehavior: Clip.hardEdge,
contentPadding: const EdgeInsets.symmetric(vertical: 12),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
ListTile(
dense: true,
title: const Text(
'写短评',
style: TextStyle(fontSize: 14),
children: [
SimpleDialogOption(
child: const Text('写短评', style: TextStyle(fontSize: 14)),
onPressed: () {
Get.back();
showModalBottomSheet(
context: context,
useSafeArea: true,
isScrollControlled: true,
builder: (context) {
return PgcReviewPostPanel(
name: widget.name,
mediaId: widget.mediaId,
);
},
);
},
),
SimpleDialogOption(
child: const Text('写长评', style: TextStyle(fontSize: 14)),
onPressed: () => Get
..back()
..toNamed(
'/webview',
parameters: {
'url':
'https://member.bilibili.com/article-text/mobile?theme=${theme.isDark ? 1 : 0}&media_id=${widget.mediaId}',
},
),
onTap: () {
Get.back();
showModalBottomSheet(
context: context,
useSafeArea: true,
isScrollControlled: true,
builder: (context) {
return PgcReviewPostPanel(
name: widget.name,
mediaId: widget.mediaId,
);
},
);
},
),
ListTile(
dense: true,
title: const Text(
'写长评',
style: TextStyle(fontSize: 14),
),
onTap: () => Get
..back()
..toNamed(
'/webview',
parameters: {
'url':
'https://member.bilibili.com/article-text/mobile?theme=${theme.isDark ? 1 : 0}&media_id=${widget.mediaId}',
},
),
),
],
),
),
],
),
),
child: const Icon(Icons.edit),