mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-09 04:24:53 +08:00
@@ -2,7 +2,7 @@ import 'package:PiliPlus/utils/storage_pref.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomToast extends StatelessWidget {
|
||||
const CustomToast({super.key, required this.msg});
|
||||
const CustomToast(this.msg, {super.key});
|
||||
|
||||
final String msg;
|
||||
|
||||
@@ -12,13 +12,13 @@ class CustomToast extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
final colorScheme = ColorScheme.of(context);
|
||||
return Container(
|
||||
margin: EdgeInsets.only(
|
||||
margin: .only(
|
||||
bottom: MediaQuery.viewPaddingOf(context).bottom + 30,
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 17, vertical: 10),
|
||||
padding: const .symmetric(horizontal: 17, vertical: 10),
|
||||
decoration: BoxDecoration(
|
||||
color: colorScheme.primaryContainer.withValues(alpha: toastOpacity),
|
||||
borderRadius: const BorderRadius.all(Radius.circular(20)),
|
||||
borderRadius: const .all(.circular(20)),
|
||||
),
|
||||
child: Text(
|
||||
msg,
|
||||
@@ -32,7 +32,7 @@ class CustomToast extends StatelessWidget {
|
||||
}
|
||||
|
||||
class LoadingWidget extends StatelessWidget {
|
||||
const LoadingWidget({super.key, required this.msg});
|
||||
const LoadingWidget(this.msg, {super.key});
|
||||
|
||||
///loading msg
|
||||
final String msg;
|
||||
@@ -42,14 +42,14 @@ class LoadingWidget extends StatelessWidget {
|
||||
final theme = Theme.of(context);
|
||||
final onSurfaceVariant = theme.colorScheme.onSurfaceVariant;
|
||||
return Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 30, vertical: 20),
|
||||
padding: const .symmetric(horizontal: 30, vertical: 20),
|
||||
decoration: BoxDecoration(
|
||||
color: theme.dialogTheme.backgroundColor,
|
||||
borderRadius: const BorderRadius.all(Radius.circular(15)),
|
||||
borderRadius: const .all(.circular(15)),
|
||||
),
|
||||
child: Column(
|
||||
spacing: 20,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisSize: .min,
|
||||
children: [
|
||||
//loading animation
|
||||
CircularProgressIndicator(
|
||||
@@ -63,3 +63,34 @@ class LoadingWidget extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class NotifyWarning extends StatelessWidget {
|
||||
const NotifyWarning(this.msg, {super.key});
|
||||
|
||||
final String msg;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final theme = Theme.of(context);
|
||||
final onSurfaceVariant = theme.colorScheme.onSurfaceVariant;
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: const .all(.circular(8)),
|
||||
color: theme.dialogTheme.backgroundColor,
|
||||
),
|
||||
padding: const .symmetric(horizontal: 20, vertical: 10),
|
||||
child: Column(
|
||||
spacing: 5,
|
||||
mainAxisSize: .min,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.warning_amber_rounded,
|
||||
size: 22,
|
||||
color: onSurfaceVariant,
|
||||
),
|
||||
Text(msg, style: TextStyle(color: onSurfaceVariant)),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,8 +278,11 @@ class MyApp extends StatelessWidget {
|
||||
getPages: Routes.getPages,
|
||||
defaultTransition: Pref.pageTransition,
|
||||
builder: FlutterSmartDialog.init(
|
||||
toastBuilder: (msg) => CustomToast(msg: msg),
|
||||
loadingBuilder: (msg) => LoadingWidget(msg: msg),
|
||||
toastBuilder: CustomToast.new,
|
||||
loadingBuilder: LoadingWidget.new,
|
||||
notifyStyle: const FlutterSmartNotifyStyle(
|
||||
warningBuilder: NotifyWarning.new,
|
||||
),
|
||||
builder: _builder,
|
||||
),
|
||||
navigatorObservers: [
|
||||
|
||||
@@ -67,11 +67,16 @@ abstract final class LoginUtils {
|
||||
}
|
||||
} else {
|
||||
// 获取用户信息失败
|
||||
await Accounts.deleteAll({account});
|
||||
SmartDialog.showNotify(
|
||||
msg: '登录失败,请检查cookie是否正确,${res.toString()}',
|
||||
notifyType: NotifyType.warning,
|
||||
);
|
||||
final errMsg = res.toString();
|
||||
if (errMsg == '账号未登录') {
|
||||
await Accounts.deleteAll({account});
|
||||
SmartDialog.showNotify(
|
||||
msg: '登录失败,请检查cookie是否正确,$errMsg',
|
||||
notifyType: .warning,
|
||||
);
|
||||
} else {
|
||||
SmartDialog.showToast(errMsg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user