feat: up投稿显示充电专属

This commit is contained in:
guozhigq
2024-07-18 00:52:17 +08:00
parent c59fed5bc5
commit c0371b3d78
3 changed files with 51 additions and 11 deletions

View File

@ -1,6 +1,8 @@
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pilipala/common/skeleton/video_card_h.dart';
import 'package:pilipala/common/widgets/no_data.dart';
import 'package:pilipala/common/widgets/video_card_h.dart';
import 'package:pilipala/utils/utils.dart';
import '../../common/widgets/http_error.dart';
@ -47,14 +49,29 @@ class _MemberArchivePageState extends State<MemberArchivePage> {
appBar: AppBar(
titleSpacing: 0,
centerTitle: false,
title: Text('他的投稿', style: Theme.of(context).textTheme.titleMedium),
title: Obx(
() => Text(
'他的投稿 - ${_memberArchivesController.currentOrder['label']}',
style: Theme.of(context).textTheme.titleMedium),
),
actions: [
Obx(
() => TextButton.icon(
icon: const Icon(Icons.sort, size: 20),
onPressed: _memberArchivesController.toggleSort,
label: Text(_memberArchivesController.currentOrder['label']!),
),
// Obx(
PopupMenuButton(
icon: const Icon(Icons.more_vert),
onSelected: (value) {
// 这里处理选择逻辑
_memberArchivesController.currentOrder.value = value;
_memberArchivesController.getMemberArchive('init');
},
itemBuilder: (BuildContext context) =>
_memberArchivesController.orderList.map(
(e) {
return PopupMenuItem(
value: e,
child: Text(e['label']!),
);
},
).toList(),
),
const SizedBox(width: 6),
],
@ -85,7 +102,14 @@ class _MemberArchivePageState extends State<MemberArchivePage> {
childCount: list.length,
),
)
: const SliverToBoxAdapter(),
: _memberArchivesController.isLoading.value
? SliverList(
delegate: SliverChildBuilderDelegate(
(context, index) {
return const VideoCardHSkeleton();
}, childCount: 10),
)
: const NoData(),
);
} else {
return HttpError(
@ -100,7 +124,11 @@ class _MemberArchivePageState extends State<MemberArchivePage> {
);
}
} else {
return const SliverToBoxAdapter();
return SliverList(
delegate: SliverChildBuilderDelegate((context, index) {
return const VideoCardHSkeleton();
}, childCount: 10),
);
}
},
),