feat: msg link setting

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-12 17:43:28 +08:00
parent 964668c982
commit 9a97a5d110
21 changed files with 925 additions and 189 deletions

View File

@@ -39,9 +39,13 @@ class _AtMePageState extends State<AtMePage> {
imSettingType: IMSettingType.SETTING_TYPE_OLD_AT_ME),
);
},
icon: const Icon(size: 22, Icons.settings),
icon: Icon(
size: 20,
Icons.settings,
color: theme.colorScheme.onSurfaceVariant.withOpacity(0.8),
),
),
const SizedBox(width: 16),
const SizedBox(width: 10),
],
),
body: refreshIndicator(

View File

@@ -18,6 +18,14 @@ class LikeMeController extends CommonDataController<MsgFeedLikeMe, dynamic> {
queryData();
}
@override
Future<void> queryData([bool isRefresh = true]) {
if (!isRefresh && isEnd) {
return Future.value();
}
return super.queryData(isRefresh);
}
@override
bool customHandleResponse(bool isRefresh, Success<MsgFeedLikeMe> response) {
MsgFeedLikeMe data = response.response;

View File

@@ -28,6 +28,7 @@ class _LikeMePageState extends State<LikeMePage> {
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return Scaffold(
appBar: AppBar(
title: const Text('收到的赞'),
@@ -39,9 +40,13 @@ class _LikeMePageState extends State<LikeMePage> {
imSettingType: IMSettingType.SETTING_TYPE_OLD_RECEIVE_LIKE),
);
},
icon: const Icon(size: 22, Icons.settings),
icon: Icon(
size: 20,
Icons.settings,
color: theme.colorScheme.onSurfaceVariant.withOpacity(0.8),
),
),
const SizedBox(width: 16),
const SizedBox(width: 10),
],
),
body: refreshIndicator(
@@ -52,8 +57,8 @@ class _LikeMePageState extends State<LikeMePage> {
SliverPadding(
padding: EdgeInsets.only(
bottom: MediaQuery.paddingOf(context).bottom + 80),
sliver:
Obx(() => _buildBody(_likeMeController.loadingState.value)),
sliver: Obx(() =>
_buildBody(theme, _likeMeController.loadingState.value)),
),
],
),
@@ -61,7 +66,7 @@ class _LikeMePageState extends State<LikeMePage> {
);
}
Widget _buildBody(LoadingState loadingState) {
Widget _buildBody(ThemeData theme, LoadingState loadingState) {
return switch (loadingState) {
Loading() => SliverList.builder(
itemCount: 12,
@@ -70,7 +75,6 @@ class _LikeMePageState extends State<LikeMePage> {
},
),
Success(:var response) => () {
final theme = Theme.of(context);
Pair<List<LikeMeItems>, List<LikeMeItems>> pair = response;
List<LikeMeItems> latest = pair.first;
List<LikeMeItems> total = pair.second;

View File

@@ -39,9 +39,13 @@ class _ReplyMePageState extends State<ReplyMePage> {
imSettingType: IMSettingType.SETTING_TYPE_OLD_REPLY_ME),
);
},
icon: const Icon(size: 22, Icons.settings),
icon: Icon(
size: 20,
Icons.settings,
color: theme.colorScheme.onSurfaceVariant.withOpacity(0.8),
),
),
const SizedBox(width: 16),
const SizedBox(width: 10),
],
),
body: refreshIndicator(