mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-27 22:05:53 +08:00
@@ -1,11 +1,12 @@
|
||||
import 'package:PiliPlus/http/fav.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/user.dart';
|
||||
import 'package:PiliPlus/models/user/fav_folder.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/data.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
|
||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
|
||||
class FavController
|
||||
extends CommonListController<FavFolderData, FavFolderItemData> {
|
||||
extends CommonListController<FavVideoData, FavVideoItemModel> {
|
||||
late final dynamic mid = Accounts.main.mid;
|
||||
|
||||
@override
|
||||
@@ -24,12 +25,12 @@ class FavController
|
||||
}
|
||||
|
||||
@override
|
||||
List<FavFolderItemData>? getDataList(FavFolderData response) {
|
||||
List<FavVideoItemModel>? getDataList(FavVideoData response) {
|
||||
return response.list;
|
||||
}
|
||||
|
||||
@override
|
||||
bool customHandleResponse(bool isRefresh, Success<FavFolderData> response) {
|
||||
bool customHandleResponse(bool isRefresh, Success<FavVideoData> response) {
|
||||
if (response.response.hasMore == false) {
|
||||
isEnd = true;
|
||||
}
|
||||
@@ -37,7 +38,7 @@ class FavController
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoadingState<FavFolderData>> customGetData() => UserHttp.userfavFolder(
|
||||
Future<LoadingState<FavVideoData>> customGetData() => FavHttp.userfavFolder(
|
||||
pn: page,
|
||||
ps: 20,
|
||||
mid: mid,
|
||||
|
||||
@@ -3,7 +3,7 @@ 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/user/fav_folder.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
|
||||
import 'package:PiliPlus/pages/fav/video/controller.dart';
|
||||
import 'package:PiliPlus/pages/fav/video/widgets/item.dart';
|
||||
import 'package:PiliPlus/utils/grid.dart';
|
||||
@@ -48,7 +48,7 @@ class _FavVideoPageState extends State<FavVideoPage>
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildBody(LoadingState<List<FavFolderItemData>?> loadingState) {
|
||||
Widget _buildBody(LoadingState<List<FavVideoItemModel>?> loadingState) {
|
||||
return switch (loadingState) {
|
||||
Loading() => SliverGrid(
|
||||
gridDelegate: Grid.videoCardHDelegate(context),
|
||||
@@ -70,7 +70,7 @@ class _FavVideoPageState extends State<FavVideoPage>
|
||||
}
|
||||
final item = response[index];
|
||||
String heroTag = Utils.makeHeroTag(item.fid);
|
||||
return FavItem(
|
||||
return FavVideoItem(
|
||||
heroTag: heroTag,
|
||||
favFolderItem: item,
|
||||
onTap: () async {
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import 'package:PiliPlus/common/constants.dart';
|
||||
import 'package:PiliPlus/common/widgets/image/image_save.dart';
|
||||
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
|
||||
import 'package:PiliPlus/models/user/fav_folder.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class FavItem extends StatelessWidget {
|
||||
class FavVideoItem extends StatelessWidget {
|
||||
final String heroTag;
|
||||
final FavFolderItemData favFolderItem;
|
||||
final FavVideoItemModel favFolderItem;
|
||||
final VoidCallback? onTap;
|
||||
final VoidCallback? onLongPress;
|
||||
|
||||
const FavItem({
|
||||
const FavVideoItem({
|
||||
super.key,
|
||||
this.onTap,
|
||||
this.onLongPress,
|
||||
|
||||
Reference in New Issue
Block a user