mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-22 03:31:09 +08:00
@@ -4,16 +4,19 @@ import 'package:PiliPlus/models_new/live/live_area_list/area_item.dart';
|
||||
import 'package:PiliPlus/models_new/live/live_area_list/area_list.dart';
|
||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:PiliPlus/utils/accounts.dart';
|
||||
import 'package:flutter/material.dart' show TabController;
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class LiveAreaController
|
||||
extends CommonListController<List<AreaList>?, AreaList> {
|
||||
class LiveAreaController extends CommonListController<List<AreaList>?, AreaList>
|
||||
with GetSingleTickerProviderStateMixin {
|
||||
late final isLogin = Accounts.main.isLogin;
|
||||
|
||||
late final isEditing = false.obs;
|
||||
late final favInfo = {};
|
||||
|
||||
TabController? tabController;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
@@ -31,6 +34,16 @@ class LiveAreaController
|
||||
return super.onRefresh();
|
||||
}
|
||||
|
||||
@override
|
||||
bool customHandleResponse(bool isRefresh, Success<List<AreaList>?> response) {
|
||||
assert(tabController == null);
|
||||
final length = response.response?.length;
|
||||
if (length != null && length != 0) {
|
||||
tabController = TabController(length: length, vsync: this);
|
||||
}
|
||||
return super.customHandleResponse(isRefresh, response);
|
||||
}
|
||||
|
||||
Rx<LoadingState<List<AreaItem>>> favState =
|
||||
LoadingState<List<AreaItem>>.loading().obs;
|
||||
|
||||
@@ -65,4 +78,11 @@ class LiveAreaController
|
||||
isEditing.value = !isEditing.value;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
tabController?.dispose();
|
||||
tabController = null;
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user