mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-27 22:05:53 +08:00
@@ -1,12 +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_topic/data.dart';
|
||||
import 'package:PiliPlus/models/user/fav_topic/topic_item.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_topic/data.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_topic/topic_item.dart';
|
||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
|
||||
class FavTopicController
|
||||
extends CommonListController<FavTopicData, FavTopicModel> {
|
||||
extends CommonListController<FavTopicData, FavTopicItem> {
|
||||
int? total;
|
||||
|
||||
@override
|
||||
@@ -23,7 +23,7 @@ class FavTopicController
|
||||
}
|
||||
|
||||
@override
|
||||
List<FavTopicModel>? getDataList(FavTopicData response) {
|
||||
List<FavTopicItem>? getDataList(FavTopicData response) {
|
||||
total = response.topicList?.pageInfo?.total;
|
||||
return response.topicList?.topicItems;
|
||||
}
|
||||
@@ -36,10 +36,10 @@ class FavTopicController
|
||||
|
||||
@override
|
||||
Future<LoadingState<FavTopicData>> customGetData() =>
|
||||
UserHttp.favTopic(page: page);
|
||||
FavHttp.favTopic(page: page);
|
||||
|
||||
Future<void> onRemove(index, id) async {
|
||||
var res = await UserHttp.delFavTopic(id);
|
||||
var res = await FavHttp.delFavTopic(id);
|
||||
if (res['status']) {
|
||||
loadingState
|
||||
..value.data!.removeAt(index)
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:PiliPlus/common/widgets/dialog/dialog.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_topic/topic_item.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_topic/topic_item.dart';
|
||||
import 'package:PiliPlus/pages/fav/topic/controller.dart';
|
||||
import 'package:PiliPlus/utils/grid.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -49,7 +49,7 @@ class _FavTopicPageState extends State<FavTopicPage>
|
||||
}
|
||||
|
||||
Widget _buildBody(
|
||||
ThemeData theme, LoadingState<List<FavTopicModel>?> loadingState) {
|
||||
ThemeData theme, LoadingState<List<FavTopicItem>?> loadingState) {
|
||||
return switch (loadingState) {
|
||||
Loading() => const SliverToBoxAdapter(child: LinearProgressIndicator()),
|
||||
Success(:var response) => response?.isNotEmpty == true
|
||||
|
||||
Reference in New Issue
Block a user