Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-21 12:46:34 +08:00
parent 5f3f158932
commit 604d78ad6a
161 changed files with 4873 additions and 4770 deletions

View File

@@ -10,6 +10,8 @@ import 'package:PiliPlus/models_new/msgfeed_unread/data.dart';
import 'package:PiliPlus/models_new/single_unread/data.dart';
import 'package:PiliPlus/services/account_service.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/storage_key.dart';
import 'package:PiliPlus/utils/storage_pref.dart';
import 'package:PiliPlus/utils/update.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -22,29 +24,32 @@ class MainController extends GetxController
RxInt dynCount = 0.obs;
StreamController<bool>? bottomBarStream;
late bool hideTabBar;
late bool hideTabBar = Pref.hideTabBar;
late dynamic controller;
RxInt selectedIndex = 0.obs;
late DynamicBadgeMode dynamicBadgeMode;
late bool checkDynamic = GStorage.checkDynamic;
late int dynamicPeriod = GStorage.dynamicPeriod;
late bool checkDynamic = Pref.checkDynamic;
late int dynamicPeriod = Pref.dynamicPeriod;
late int _lastCheckDynamicAt = 0;
late int dynIndex = -1;
late int homeIndex = -1;
late DynamicBadgeMode msgBadgeMode = GStorage.msgBadgeMode;
late Set<MsgUnReadType> msgUnReadTypes = GStorage.msgUnReadTypeV2;
late DynamicBadgeMode msgBadgeMode = Pref.msgBadgeMode;
late Set<MsgUnReadType> msgUnReadTypes = Pref.msgUnReadTypeV2;
late final RxString msgUnReadCount = ''.obs;
late int lastCheckUnreadAt = 0;
late final mainTabBarView = GStorage.mainTabBarView;
late bool navSearchStreamDebounce = GStorage.navSearchStreamDebounce;
final enableMYBar = Pref.enableMYBar;
final useSideBar = Pref.useSideBar;
final mainTabBarView = Pref.mainTabBarView;
late bool navSearchStreamDebounce = Pref.navSearchStreamDebounce;
late final optTabletNav = Pref.optTabletNav;
@override
void onInit() {
super.onInit();
if (GStorage.autoUpdate) {
if (Pref.autoUpdate) {
Update.checkUpdate();
}
@@ -58,14 +63,10 @@ class MainController extends GetxController
)
: PageController(initialPage: selectedIndex.value);
hideTabBar =
GStorage.setting.get(SettingBoxKey.hideTabBar, defaultValue: true);
if (navigationBars.length > 1 && hideTabBar) {
bottomBarStream = StreamController<bool>.broadcast();
}
dynamicBadgeMode = DynamicBadgeMode.values[GStorage.setting.get(
SettingBoxKey.dynamicBadgeMode,
defaultValue: DynamicBadgeMode.number.index)];
dynamicBadgeMode = DynamicBadgeMode.values[Pref.dynamicBadgeMode];
dynIndex = navigationBars.indexOf(NavigationBarType.dynamics);
if (dynamicBadgeMode != DynamicBadgeMode.hidden) {
@@ -193,7 +194,7 @@ class MainController extends GetxController
void setNavBarConfig() {
List<int>? navBarSort =
(GStorage.setting.get(SettingBoxKey.navBarSort) as List?)?.cast();
int defaultHomePage = GStorage.defaultHomePage;
int defaultHomePage = Pref.defaultHomePage;
late final List<NavigationBarType> navigationBars;
if (navBarSort == null) {
navigationBars = NavigationBarType.values;

View File

@@ -40,17 +40,10 @@ class _MainAppState extends State<MainApp>
late final _dynamicController = Get.put(DynamicsController());
late int _lastSelectTime = 0;
late bool enableMYBar;
late bool useSideBar;
@override
void initState() {
super.initState();
_lastSelectTime = DateTime.now().millisecondsSinceEpoch;
enableMYBar =
GStorage.setting.get(SettingBoxKey.enableMYBar, defaultValue: true);
useSideBar =
GStorage.setting.get(SettingBoxKey.useSideBar, defaultValue: false);
WidgetsBinding.instance.addObserver(this);
}
@@ -198,9 +191,9 @@ class _MainAppState extends State<MainApp>
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (useSideBar || !isPortrait) ...[
if (_mainController.useSideBar || !isPortrait) ...[
_mainController.navigationBars.length > 1
? context.isTablet && GStorage.optTabletNav
? context.isTablet && _mainController.optTabletNav
? Column(
children: [
const SizedBox(height: 25),
@@ -295,7 +288,7 @@ class _MainAppState extends State<MainApp>
],
),
),
bottomNavigationBar: useSideBar || !isPortrait
bottomNavigationBar: _mainController.useSideBar || !isPortrait
? null
: StreamBuilder(
stream: _mainController.hideTabBar
@@ -311,7 +304,7 @@ class _MainAppState extends State<MainApp>
curve: Curves.easeInOutCubicEmphasized,
duration: const Duration(milliseconds: 500),
offset: Offset(0, snapshot.data ? 0 : 1),
child: enableMYBar
child: _mainController.enableMYBar
? _mainController.navigationBars.length > 1
? Obx(
() => NavigationBar(