mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-21 11:00:13 +08:00
member audio
member comic Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -7,7 +7,9 @@ import 'package:PiliPlus/models_new/space/space/data.dart';
|
||||
import 'package:PiliPlus/models_new/space/space/tab2.dart';
|
||||
import 'package:PiliPlus/pages/member/controller.dart';
|
||||
import 'package:PiliPlus/pages/member_article/widget/item.dart';
|
||||
import 'package:PiliPlus/pages/member_audio/widgets/item.dart';
|
||||
import 'package:PiliPlus/pages/member_coin_arc/view.dart';
|
||||
import 'package:PiliPlus/pages/member_comic/widgets/item.dart';
|
||||
import 'package:PiliPlus/pages/member_contribute/controller.dart';
|
||||
import 'package:PiliPlus/pages/member_home/widgets/fav_item.dart';
|
||||
import 'package:PiliPlus/pages/member_home/widgets/video_card_v_member_home.dart';
|
||||
@@ -52,7 +54,7 @@ class _MemberHomeState extends State<MemberHome>
|
||||
? CustomScrollView(
|
||||
slivers: [
|
||||
if (res.archive?.item?.isNotEmpty == true) ...[
|
||||
_videoHeader(
|
||||
_header(
|
||||
color,
|
||||
title: '视频',
|
||||
param: 'contribute',
|
||||
@@ -85,7 +87,7 @@ class _MemberHomeState extends State<MemberHome>
|
||||
),
|
||||
],
|
||||
if (res.favourite2?.item?.isNotEmpty == true) ...[
|
||||
_videoHeader(
|
||||
_header(
|
||||
color,
|
||||
title: '收藏',
|
||||
param: 'favorite',
|
||||
@@ -102,7 +104,7 @@ class _MemberHomeState extends State<MemberHome>
|
||||
),
|
||||
],
|
||||
if (res.coinArchive?.item?.isNotEmpty == true) ...[
|
||||
_videoHeader(
|
||||
_header(
|
||||
color,
|
||||
title: '最近投币的视频',
|
||||
param: 'coinArchive',
|
||||
@@ -135,7 +137,7 @@ class _MemberHomeState extends State<MemberHome>
|
||||
),
|
||||
],
|
||||
if (res.likeArchive?.item?.isNotEmpty == true) ...[
|
||||
_videoHeader(
|
||||
_header(
|
||||
color,
|
||||
title: '最近点赞的视频',
|
||||
param: 'likeArchive',
|
||||
@@ -168,7 +170,7 @@ class _MemberHomeState extends State<MemberHome>
|
||||
),
|
||||
],
|
||||
if (res.article?.item?.isNotEmpty == true) ...[
|
||||
_videoHeader(
|
||||
_header(
|
||||
color,
|
||||
title: '图文',
|
||||
param: 'contribute',
|
||||
@@ -188,17 +190,50 @@ class _MemberHomeState extends State<MemberHome>
|
||||
),
|
||||
],
|
||||
if (res.audios?.item?.isNotEmpty == true) ...[
|
||||
_videoHeader(
|
||||
_header(
|
||||
color,
|
||||
title: '音频',
|
||||
param: 'contribute',
|
||||
param1: 'audio',
|
||||
count: res.audios!.count!,
|
||||
),
|
||||
// TODO
|
||||
SliverGrid(
|
||||
gridDelegate: SliverGridDelegateWithExtentAndRatio(
|
||||
mainAxisSpacing: 2,
|
||||
maxCrossAxisExtent: Grid.smallCardWidth * 2,
|
||||
childAspectRatio: StyleString.aspectRatio * 2.6,
|
||||
minHeight: MediaQuery.textScalerOf(context).scale(90),
|
||||
),
|
||||
delegate: SliverChildBuilderDelegate(
|
||||
(context, index) {
|
||||
return MemberAudioItem(
|
||||
item: res.audios!.item![index],
|
||||
);
|
||||
},
|
||||
childCount: isVertical ? 1 : min(2, res.audios!.count!),
|
||||
),
|
||||
)
|
||||
],
|
||||
if (res.comic?.item?.isNotEmpty == true) ...[
|
||||
_header(
|
||||
color,
|
||||
title: '漫画',
|
||||
param: 'contribute',
|
||||
param1: 'comic',
|
||||
count: res.comic!.count!,
|
||||
),
|
||||
SliverGrid(
|
||||
gridDelegate: Grid.videoCardHDelegate(context),
|
||||
delegate: SliverChildBuilderDelegate(
|
||||
(context, index) {
|
||||
return MemberComicItem(item: res.comic!.item![index]);
|
||||
},
|
||||
childCount: isVertical ? 1 : min(2, res.comic!.count!),
|
||||
),
|
||||
),
|
||||
],
|
||||
if (res.season?.item?.isNotEmpty == true) ...[
|
||||
_videoHeader(
|
||||
_header(
|
||||
color,
|
||||
title: '追番',
|
||||
param: 'bangumi',
|
||||
@@ -242,7 +277,7 @@ class _MemberHomeState extends State<MemberHome>
|
||||
};
|
||||
}
|
||||
|
||||
Widget _videoHeader(
|
||||
Widget _header(
|
||||
Color color, {
|
||||
required String title,
|
||||
required String param,
|
||||
@@ -286,7 +321,8 @@ class _MemberHomeState extends State<MemberHome>
|
||||
int index =
|
||||
_ctr.tab2!.indexWhere((item) => item.param == param);
|
||||
if (index != -1) {
|
||||
if (const ['video', 'opus', 'audio'].contains(param1)) {
|
||||
if (const ['video', 'opus', 'audio', 'comic']
|
||||
.contains(param1)) {
|
||||
List<SpaceTab2Item> items = _ctr.tab2!
|
||||
.firstWhere((item) => item.param == param)
|
||||
.items!;
|
||||
|
||||
Reference in New Issue
Block a user