import 'package:PiliPlus/http/live.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/models/live/live_emoticons/datum.dart'; import 'package:PiliPlus/pages/common/common_list_controller.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; class LiveEmotePanelController extends CommonListController?, LiveEmoteDatum> with GetSingleTickerProviderStateMixin { LiveEmotePanelController(this.roomId); final int roomId; TabController? tabController; @override void onInit() { super.onInit(); queryData(); } @override bool customHandleResponse( bool isRefresh, Success?> response) { if (response.response?.isNotEmpty == true) { tabController = TabController(length: response.response!.length, vsync: this); } loadingState.value = response; return true; } @override Future?>> customGetData() => LiveHttp.getLiveEmoticons(roomId: roomId); @override void onClose() { tabController?.dispose(); super.onClose(); } }