mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: reply error widget
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -19,7 +19,13 @@ Widget scrollErrorWidget({errMsg, callback}) => CustomScrollView(
|
||||
],
|
||||
);
|
||||
|
||||
Widget grpcReplyErrorWidget(context, onReload) => FilledButton.tonal(
|
||||
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();
|
||||
@@ -33,4 +39,6 @@ Widget grpcReplyErrorWidget(context, onReload) => FilledButton.tonal(
|
||||
'暂时关闭gRPC加载评论',
|
||||
style: TextStyle(color: Theme.of(context).colorScheme.primary),
|
||||
),
|
||||
)
|
||||
: null,
|
||||
);
|
||||
|
||||
@@ -129,8 +129,7 @@ class ReplyHttp {
|
||||
}
|
||||
return LoadingState.success(mainListReply);
|
||||
} else {
|
||||
return LoadingState.error(
|
||||
'${res['msg'].startsWith('gRPC Error') ? '如无法加载评论:\n关闭代理\n或设置中关闭使用gRPC加载评论\n\n' : ''}${res['msg']}');
|
||||
return LoadingState.error(res['msg']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -554,13 +554,11 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
|
||||
: HttpError(
|
||||
callback: _dynamicDetailController.onReload,
|
||||
),
|
||||
Error() => HttpError(
|
||||
errMsg: loadingState.errMsg,
|
||||
callback: _dynamicDetailController.onReload,
|
||||
extraWidget: loadingState.errMsg.startsWith('gRPC Error') &&
|
||||
GlobalData().grpcReply
|
||||
? grpcReplyErrorWidget(context, _dynamicDetailController.onReload)
|
||||
: null,
|
||||
Error() => replyErrorWidget(
|
||||
context,
|
||||
true,
|
||||
loadingState.errMsg,
|
||||
_dynamicDetailController.onReload,
|
||||
),
|
||||
LoadingState() => throw UnimplementedError(),
|
||||
};
|
||||
|
||||
@@ -486,13 +486,11 @@ class _HtmlRenderPageState extends State<HtmlRenderPage>
|
||||
: HttpError(
|
||||
callback: _htmlRenderCtr.onReload,
|
||||
),
|
||||
Error() => HttpError(
|
||||
errMsg: loadingState.errMsg,
|
||||
callback: _htmlRenderCtr.onReload,
|
||||
extraWidget: loadingState.errMsg.startsWith('gRPC Error') &&
|
||||
GlobalData().grpcReply
|
||||
? grpcReplyErrorWidget(context, _htmlRenderCtr.onReload)
|
||||
: null,
|
||||
Error() => replyErrorWidget(
|
||||
context,
|
||||
true,
|
||||
loadingState.errMsg,
|
||||
_htmlRenderCtr.onReload,
|
||||
),
|
||||
LoadingState() => throw UnimplementedError(),
|
||||
};
|
||||
|
||||
@@ -297,13 +297,11 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
|
||||
errMsg: '还没有评论',
|
||||
callback: _videoReplyController.onReload,
|
||||
),
|
||||
Error() => HttpError(
|
||||
errMsg: loadingState.errMsg,
|
||||
callback: _videoReplyController.onReload,
|
||||
extraWidget: loadingState.errMsg.startsWith('gRPC Error') &&
|
||||
GlobalData().grpcReply
|
||||
? grpcReplyErrorWidget(context, _videoReplyController.onReload)
|
||||
: null,
|
||||
Error() => replyErrorWidget(
|
||||
context,
|
||||
true,
|
||||
loadingState.errMsg,
|
||||
_videoReplyController.onReload,
|
||||
),
|
||||
LoadingState() => throw UnimplementedError(),
|
||||
};
|
||||
|
||||
@@ -13,7 +13,6 @@ import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:PiliPlus/common/skeleton/video_reply.dart';
|
||||
import 'package:PiliPlus/common/widgets/http_error.dart';
|
||||
import 'package:PiliPlus/models/common/reply_type.dart';
|
||||
import 'package:get/get_navigation/src/dialog/dialog_route.dart';
|
||||
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
|
||||
@@ -412,22 +411,11 @@ class _VideoReplyReplyPanelState extends State<VideoReplyReplyPanel> {
|
||||
: _replyItem(loadingState.response[index], index);
|
||||
}
|
||||
}(),
|
||||
Error() => CustomScrollView(
|
||||
shrinkWrap: true,
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
HttpError(
|
||||
errMsg: loadingState.errMsg,
|
||||
callback: _videoReplyReplyController.onReload,
|
||||
extraWidget: loadingState.errMsg.startsWith('gRPC Error') &&
|
||||
GlobalData().grpcReply
|
||||
? grpcReplyErrorWidget(
|
||||
Error() => replyErrorWidget(
|
||||
context,
|
||||
false,
|
||||
loadingState.errMsg,
|
||||
_videoReplyReplyController.onReload,
|
||||
)
|
||||
: null,
|
||||
)
|
||||
],
|
||||
),
|
||||
LoadingState() => throw UnimplementedError(),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user