mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-31 08:08:19 +08:00
@@ -1,13 +1,12 @@
|
||||
import 'package:PiliPlus/http/fav.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/data.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_folder/data.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_folder/list.dart';
|
||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:PiliPlus/services/account_service.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class FavController
|
||||
extends CommonListController<FavVideoData, FavVideoItemModel> {
|
||||
class FavController extends CommonListController<FavFolderData, FavFolderInfo> {
|
||||
AccountService accountService = Get.find<AccountService>();
|
||||
|
||||
@override
|
||||
@@ -26,12 +25,12 @@ class FavController
|
||||
}
|
||||
|
||||
@override
|
||||
List<FavVideoItemModel>? getDataList(FavVideoData response) {
|
||||
List<FavFolderInfo>? getDataList(FavFolderData response) {
|
||||
return response.list;
|
||||
}
|
||||
|
||||
@override
|
||||
bool customHandleResponse(bool isRefresh, Success<FavVideoData> response) {
|
||||
bool customHandleResponse(bool isRefresh, Success<FavFolderData> response) {
|
||||
if (response.response.hasMore == false) {
|
||||
isEnd = true;
|
||||
}
|
||||
@@ -39,7 +38,7 @@ class FavController
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoadingState<FavVideoData>> customGetData() => FavHttp.userfavFolder(
|
||||
Future<LoadingState<FavFolderData>> customGetData() => FavHttp.userfavFolder(
|
||||
pn: page,
|
||||
ps: 20,
|
||||
mid: accountService.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_new/fav/fav_video/list.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_folder/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<FavVideoItemModel>?> loadingState) {
|
||||
Widget _buildBody(LoadingState<List<FavFolderInfo>?> loadingState) {
|
||||
return switch (loadingState) {
|
||||
Loading() => SliverGrid(
|
||||
gridDelegate: Grid.videoCardHDelegate(context),
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
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_new/fav/fav_video/list.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_folder/list.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class FavVideoItem extends StatelessWidget {
|
||||
final String heroTag;
|
||||
final FavVideoItemModel item;
|
||||
final FavFolderInfo item;
|
||||
final VoidCallback? onTap;
|
||||
final VoidCallback? onLongPress;
|
||||
|
||||
@@ -68,7 +68,7 @@ class FavVideoItem extends StatelessWidget {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
item.title!,
|
||||
item.title,
|
||||
textAlign: TextAlign.start,
|
||||
style: const TextStyle(
|
||||
letterSpacing: 0.3,
|
||||
|
||||
Reference in New Issue
Block a user