mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
45 lines
1.5 KiB
Dart
45 lines
1.5 KiB
Dart
import 'package:PiliPlus/common/widgets/http_error.dart';
|
|
import 'package:PiliPlus/utils/global_data.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
Widget get loadingWidget => Center(child: CircularProgressIndicator());
|
|
|
|
Widget errorWidget({errMsg, callback}) => HttpError(
|
|
isSliver: false,
|
|
errMsg: errMsg,
|
|
callback: callback,
|
|
);
|
|
|
|
Widget scrollErrorWidget({errMsg, callback}) => CustomScrollView(
|
|
slivers: [
|
|
HttpError(
|
|
errMsg: errMsg,
|
|
callback: callback,
|
|
)
|
|
],
|
|
);
|
|
|
|
Widget replyErrorWidget(context, isSliver, errMsg, onReload) => HttpError(
|
|
isSliver: isSliver,
|
|
errMsg:
|
|
'${errMsg.startsWith('gRPC Error') ? '如无法加载评论:\n关闭代理\n或设置中关闭使用gRPC加载评论\n\n' : ''}$errMsg',
|
|
callback: onReload,
|
|
extraWidget: errMsg.startsWith('gRPC Error') && GlobalData().grpcReply
|
|
? FilledButton.tonal(
|
|
onPressed: () {
|
|
GlobalData().grpcReply = false;
|
|
onReload();
|
|
},
|
|
style: ButtonStyle(
|
|
backgroundColor: WidgetStateProperty.resolveWith((states) {
|
|
return Theme.of(context).colorScheme.primary.withAlpha(20);
|
|
}),
|
|
),
|
|
child: Text(
|
|
'暂时关闭gRPC加载评论',
|
|
style: TextStyle(color: Theme.of(context).colorScheme.primary),
|
|
),
|
|
)
|
|
: null,
|
|
);
|