You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import '../views/translation_stats_view.dart';
|
|
import '../views/meeting_stats_view.dart';
|
|
import '../views/aichat_stats_view.dart';
|
|
|
|
class UsageController extends GetxController {
|
|
late PageController pageController;
|
|
final RxInt pageIndex = 0.obs;
|
|
|
|
final RxBool showAiChat = false.obs;
|
|
|
|
List<Widget> get pageList => showAiChat.value
|
|
? const [
|
|
AiChatStatsView(),
|
|
TranslationStatsView(),
|
|
MeetingStatsView(),
|
|
]
|
|
: const [
|
|
TranslationStatsView(),
|
|
MeetingStatsView(),
|
|
];
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
pageController = PageController(initialPage: 0);
|
|
}
|
|
|
|
void toggleAiChat(bool enable) {
|
|
if (showAiChat.value == enable) return;
|
|
showAiChat.value = enable;
|
|
final int maxIndex = pageList.length - 1;
|
|
if (pageIndex.value > maxIndex) {
|
|
pageIndex.value = maxIndex;
|
|
pageController.jumpToPage(maxIndex);
|
|
} else {
|
|
pageController.jumpToPage(pageIndex.value);
|
|
}
|
|
}
|
|
}
|
|
|