mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-21 11:00:13 +08:00
@@ -1,16 +1,17 @@
|
||||
import 'package:PiliPlus/http/api.dart';
|
||||
import 'package:PiliPlus/http/fav.dart';
|
||||
import 'package:PiliPlus/http/init.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/member.dart';
|
||||
import 'package:PiliPlus/models/space_fav/datum.dart';
|
||||
import 'package:PiliPlus/models/space_fav/list.dart';
|
||||
import 'package:PiliPlus/models_new/space/space_fav/data.dart';
|
||||
import 'package:PiliPlus/models_new/space/space_fav/list.dart';
|
||||
import 'package:PiliPlus/pages/common/common_data_controller.dart';
|
||||
import 'package:flutter/foundation.dart' show kDebugMode;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class MemberFavoriteCtr extends CommonDataController {
|
||||
class MemberFavoriteCtr
|
||||
extends CommonDataController<List<SpaceFavData>?, dynamic> {
|
||||
MemberFavoriteCtr({
|
||||
required this.mid,
|
||||
});
|
||||
@@ -40,9 +41,10 @@ class MemberFavoriteCtr extends CommonDataController {
|
||||
}
|
||||
|
||||
@override
|
||||
bool customHandleResponse(bool isRefresh, Success response) {
|
||||
bool customHandleResponse(
|
||||
bool isRefresh, Success<List<SpaceFavData>?> response) {
|
||||
try {
|
||||
List<SpaceFavData> res = response.response;
|
||||
List<SpaceFavData> res = response.response!;
|
||||
first.value = res.first;
|
||||
second.value = res[1];
|
||||
|
||||
@@ -111,5 +113,6 @@ class MemberFavoriteCtr extends CommonDataController {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoadingState> customGetData() => MemberHttp.spaceFav(mid: mid);
|
||||
Future<LoadingState<List<SpaceFavData>?>> customGetData() =>
|
||||
FavHttp.spaceFav(mid: mid);
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@ import 'package:PiliPlus/common/skeleton/video_card_h.dart';
|
||||
import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
|
||||
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/space_fav/datum.dart';
|
||||
import 'package:PiliPlus/models/space_fav/list.dart';
|
||||
import 'package:PiliPlus/models_new/space/space_fav/data.dart';
|
||||
import 'package:PiliPlus/models_new/space/space_fav/list.dart';
|
||||
import 'package:PiliPlus/pages/member_favorite/controller.dart';
|
||||
import 'package:PiliPlus/pages/member_favorite/widget/item.dart';
|
||||
import 'package:PiliPlus/utils/grid.dart';
|
||||
@@ -56,13 +56,16 @@ class _MemberFavoriteState extends State<MemberFavorite>
|
||||
|
||||
Widget _buildBody(ThemeData theme, LoadingState loadingState) {
|
||||
return switch (loadingState) {
|
||||
Loading() => SliverGrid(
|
||||
gridDelegate: Grid.videoCardHDelegate(context),
|
||||
delegate: SliverChildBuilderDelegate(
|
||||
(context, index) {
|
||||
return const VideoCardHSkeleton();
|
||||
},
|
||||
childCount: 10,
|
||||
Loading() => SliverPadding(
|
||||
padding: const EdgeInsets.only(top: 7),
|
||||
sliver: SliverGrid(
|
||||
gridDelegate: Grid.videoCardHDelegate(context),
|
||||
delegate: SliverChildBuilderDelegate(
|
||||
(context, index) {
|
||||
return const VideoCardHSkeleton();
|
||||
},
|
||||
childCount: 10,
|
||||
),
|
||||
),
|
||||
),
|
||||
Success(:var response) => (response as List?)?.isNotEmpty == true
|
||||
|
||||
@@ -3,8 +3,9 @@ import 'package:PiliPlus/common/widgets/badge.dart';
|
||||
import 'package:PiliPlus/common/widgets/image/image_save.dart';
|
||||
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
|
||||
import 'package:PiliPlus/models/common/badge_type.dart';
|
||||
import 'package:PiliPlus/models/space_fav/list.dart';
|
||||
import 'package:PiliPlus/models/user/sub_folder.dart';
|
||||
import 'package:PiliPlus/models_new/space/space_fav/list.dart';
|
||||
import 'package:PiliPlus/models_new/sub/sub/list.dart';
|
||||
import 'package:PiliPlus/models_new/sub/sub/upper.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -39,7 +40,7 @@ class MemberFavItem extends StatelessWidget {
|
||||
} else {
|
||||
Get.toNamed(
|
||||
'/subDetail',
|
||||
arguments: SubFolderItemData(
|
||||
arguments: SubItemModel(
|
||||
type: item.type,
|
||||
title: item.title,
|
||||
cover: item.cover,
|
||||
|
||||
Reference in New Issue
Block a user