diff --git a/ui/lib/activity.dart b/ui/lib/activity.dart index 485e831..4457ad4 100644 --- a/ui/lib/activity.dart +++ b/ui/lib/activity.dart @@ -148,7 +148,7 @@ class _ActivityPageState extends ConsumerState }, )); }, - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); }) ], diff --git a/ui/lib/settings/auth.dart b/ui/lib/settings/auth.dart index d1b7981..5ca773b 100644 --- a/ui/lib/settings/auth.dart +++ b/ui/lib/settings/auth.dart @@ -94,7 +94,7 @@ class _AuthState extends ConsumerState { ], )); }, - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } } diff --git a/ui/lib/settings/downloader.dart b/ui/lib/settings/downloader.dart index fb399c7..60e69b1 100644 --- a/ui/lib/settings/downloader.dart +++ b/ui/lib/settings/downloader.dart @@ -35,7 +35,7 @@ class _DownloaderState extends ConsumerState { onTap: () => showDownloadClientDetails(DownloadClient()), child: const Icon(Icons.add)); })), - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } diff --git a/ui/lib/settings/general.dart b/ui/lib/settings/general.dart index 3c6b5ba..764090b 100644 --- a/ui/lib/settings/general.dart +++ b/ui/lib/settings/general.dart @@ -170,7 +170,7 @@ class _GeneralState extends ConsumerState { ), ); }, - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } } diff --git a/ui/lib/settings/importlist.dart b/ui/lib/settings/importlist.dart index 2ed342c..1149758 100644 --- a/ui/lib/settings/importlist.dart +++ b/ui/lib/settings/importlist.dart @@ -35,7 +35,7 @@ class _ImportlistState extends ConsumerState { child: const Icon(Icons.add)); }), ), - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } diff --git a/ui/lib/settings/indexer.dart b/ui/lib/settings/indexer.dart index 54d3d18..fbe164d 100644 --- a/ui/lib/settings/indexer.dart +++ b/ui/lib/settings/indexer.dart @@ -33,7 +33,7 @@ class _IndexerState extends ConsumerState { child: const Icon(Icons.add)); }), ), - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } diff --git a/ui/lib/settings/notifier.dart b/ui/lib/settings/notifier.dart index f88c806..5ecbecd 100644 --- a/ui/lib/settings/notifier.dart +++ b/ui/lib/settings/notifier.dart @@ -48,7 +48,7 @@ class _NotifierState extends ConsumerState { child: const Icon(Icons.add)); }), ), - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } diff --git a/ui/lib/settings/prowlarr.dart b/ui/lib/settings/prowlarr.dart index d732f35..cf76277 100644 --- a/ui/lib/settings/prowlarr.dart +++ b/ui/lib/settings/prowlarr.dart @@ -79,7 +79,7 @@ class ProwlarrSettingState extends ConsumerState { ], ), ), - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } } diff --git a/ui/lib/settings/storage.dart b/ui/lib/settings/storage.dart index 7e60f0f..f0a0e8c 100644 --- a/ui/lib/settings/storage.dart +++ b/ui/lib/settings/storage.dart @@ -35,7 +35,7 @@ class _StorageState extends ConsumerState { child: const Icon(Icons.add)); }), ), - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()); } diff --git a/ui/lib/system_page.dart b/ui/lib/system_page.dart index 2389eb2..f4f1186 100644 --- a/ui/lib/system_page.dart +++ b/ui/lib/system_page.dart @@ -56,7 +56,7 @@ class _SystemPageState extends ConsumerState { ]); })); }, - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()) ], ), @@ -111,7 +111,7 @@ class _SystemPageState extends ConsumerState { ]), ]); }, - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()) ], ), @@ -185,7 +185,7 @@ class _SystemPageState extends ConsumerState { ], ); }, - error: (err, trace) => Text("$err"), + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator()) ], ) diff --git a/ui/lib/tv_details.dart b/ui/lib/tv_details.dart index f5695fd..3d77ed9 100644 --- a/ui/lib/tv_details.dart +++ b/ui/lib/tv_details.dart @@ -183,9 +183,7 @@ class _TvDetailsPageState extends ConsumerState { ], ); }, - error: (err, trace) { - return Text("$err"); - }, + error: (err, trace) => PoError(msg: "网络错误", err: err), loading: () => const MyProgressIndicator())); } diff --git a/ui/lib/welcome_page.dart b/ui/lib/welcome_page.dart index 4f110bd..0a24ead 100644 --- a/ui/lib/welcome_page.dart +++ b/ui/lib/welcome_page.dart @@ -43,17 +43,17 @@ class WelcomePageState extends ConsumerState { //alignment: Alignment.bottomRight, children: [ () { - return switch (data) { - AsyncData(:final value) => SingleChildScrollView( - child: Wrap( - alignment: WrapAlignment.start, - spacing: isSmallScreen(context) ? 0 : 10, - runSpacing: isSmallScreen(context) ? 10 : 20, - children: getMediaAll(value), - ), - ), - _ => const MyProgressIndicator(), - }; + return data.when( + data: (value) => SingleChildScrollView( + child: Wrap( + alignment: WrapAlignment.start, + spacing: isSmallScreen(context) ? 0 : 10, + runSpacing: isSmallScreen(context) ? 10 : 20, + children: getMediaAll(value), + ), + ), + error: (err, trace) => PoError(msg: "网络错误", err: err), + loading: () => const MyProgressIndicator()); }(), getMoreButtonAndActions(uri) ], diff --git a/ui/lib/widgets/widgets.dart b/ui/lib/widgets/widgets.dart index ab0a15f..770660c 100644 --- a/ui/lib/widgets/widgets.dart +++ b/ui/lib/widgets/widgets.dart @@ -281,3 +281,23 @@ class _LoadingTextButtonState extends State { ); } } + +class PoError extends StatelessWidget { + const PoError({super.key, required this.msg, required this.err}); + final String msg; + final dynamic err; + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text("$msg ", style: TextStyle(color:Theme.of(context).colorScheme.error),), + Tooltip( + message: "$err", + child: Icon(Icons.info,color: Theme.of(context).colorScheme.error,), + ) + ], + ); + } +}