@@ -10,6 +10,7 @@ import 'package:readeck_app/ui/core/ui/bookmark_labels_widget.dart';
1010import 'package:readeck_app/ui/core/ui/error_page.dart' ;
1111import 'package:readeck_app/ui/core/ui/label_edit_dialog.dart' ;
1212import 'package:readeck_app/ui/core/ui/loading.dart' ;
13+ import 'package:readeck_app/ui/core/ui/snack_bar_helper.dart' ;
1314
1415class BookmarkDetailScreen extends StatefulWidget {
1516 const BookmarkDetailScreen ({super .key, required this .viewModel});
@@ -38,12 +39,9 @@ class _BookmarkDetailScreenState extends State<BookmarkDetailScreen> {
3839 .where ((error) => error != null )
3940 .listen ((error, subscription) {
4041 if (mounted && error != null ) {
41- ScaffoldMessenger .of (context).showSnackBar (
42- SnackBar (
43- content: Text ('AI翻译失败: ${error .error .toString ()}' ),
44- backgroundColor: Theme .of (context).colorScheme.error,
45- behavior: SnackBarBehavior .floating,
46- ),
42+ SnackBarHelper .showError (
43+ context,
44+ 'AI翻译失败: ${error .error .toString ()}' ,
4745 );
4846 }
4947 });
@@ -75,11 +73,9 @@ class _BookmarkDetailScreenState extends State<BookmarkDetailScreen> {
7573 break ;
7674 case 'toggle_mark' :
7775 _toggleBookmarkMarked ();
78- ScaffoldMessenger .of (context).showSnackBar (
79- SnackBar (
80- content: Text (widget.viewModel.bookmark.isMarked
81- ? '已取消喜爱'
82- : '已标记喜爱' )),
76+ SnackBarHelper .showInfo (
77+ context,
78+ widget.viewModel.bookmark.isMarked ? '已取消喜爱' : '已标记喜爱' ,
8379 );
8480 break ;
8581 case 'edit_labels' :
@@ -688,25 +684,19 @@ class _BookmarkDetailScreenState extends State<BookmarkDetailScreen> {
688684 await widget.viewModel.archiveBookmarkCommand.executeWithFuture ();
689685
690686 if (mounted) {
691- ScaffoldMessenger .of (context).showSnackBar (
692- SnackBar (
693- content: const Text ('已成功归档' ),
694- backgroundColor: Theme .of (context).colorScheme.primary,
695- behavior: SnackBarBehavior .floating,
696- ),
687+ SnackBarHelper .showSuccess (
688+ context,
689+ '已成功归档' ,
697690 );
698691
699692 Navigator .of (context).pop ();
700693 }
701694 } catch (e) {
702695 // 显示错误提示
703696 if (mounted) {
704- ScaffoldMessenger .of (context).showSnackBar (
705- SnackBar (
706- content: Text ('归档失败: ${e .toString ()}' ),
707- backgroundColor: Theme .of (context).colorScheme.error,
708- behavior: SnackBarBehavior .floating,
709- ),
697+ SnackBarHelper .showError (
698+ context,
699+ '归档失败: ${e .toString ()}' ,
710700 );
711701 }
712702 }
@@ -717,8 +707,9 @@ class _BookmarkDetailScreenState extends State<BookmarkDetailScreen> {
717707 await widget.viewModel.toggleMarkCommand.executeWithFuture ();
718708 } catch (e) {
719709 if (mounted) {
720- ScaffoldMessenger .of (context).showSnackBar (
721- SnackBar (content: Text ('操作失败: $e ' )),
710+ SnackBarHelper .showError (
711+ context,
712+ '操作失败: $e ' ,
722713 );
723714 }
724715 }
@@ -735,14 +726,16 @@ class _BookmarkDetailScreenState extends State<BookmarkDetailScreen> {
735726 try {
736727 await widget.viewModel.updateBookmarkLabels (labels);
737728 if (context.mounted) {
738- ScaffoldMessenger .of (context).showSnackBar (
739- const SnackBar (content: Text ('标签已更新' )),
729+ SnackBarHelper .showSuccess (
730+ context,
731+ '标签已更新' ,
740732 );
741733 }
742734 } catch (e) {
743735 if (context.mounted) {
744- ScaffoldMessenger .of (context).showSnackBar (
745- SnackBar (content: Text ('更新标签失败: $e ' )),
736+ SnackBarHelper .showError (
737+ context,
738+ '更新标签失败: $e ' ,
746739 );
747740 }
748741 }
@@ -787,15 +780,17 @@ class _BookmarkDetailScreenState extends State<BookmarkDetailScreen> {
787780 try {
788781 await widget.viewModel.deleteBookmarkCommand.executeWithFuture ();
789782 if (mounted) {
790- ScaffoldMessenger .of (context).showSnackBar (
791- const SnackBar (content: Text ('书签已删除' )),
783+ SnackBarHelper .showSuccess (
784+ context,
785+ '书签已删除' ,
792786 );
793787 Navigator .of (context).pop (); // 删除成功后返回上一页
794788 }
795789 } catch (e) {
796790 if (mounted) {
797- ScaffoldMessenger .of (context).showSnackBar (
798- SnackBar (content: Text ('删除失败: $e ' )),
791+ SnackBarHelper .showError (
792+ context,
793+ '删除失败: $e ' ,
799794 );
800795 }
801796 }
0 commit comments