feat(client): main 接入可切换三主题(启动恢复持久化选择)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-24 22:00:59 +08:00
parent d743bb04b6
commit 82d1e860a7
2 changed files with 35 additions and 2 deletions
+5 -2
View File
@@ -10,7 +10,8 @@ import 'core/config/app_info.dart';
import 'core/errors/error_reporter.dart';
import 'core/platform/single_instance.dart' as single_instance;
import 'core/router/app_router.dart';
import 'core/theme/app_theme.dart';
import 'core/theme/theme_controller.dart';
import 'core/theme/themes.dart';
import 'providers/connectivity_provider.dart';
void main() {
@@ -99,6 +100,7 @@ class _JiuAppState extends ConsumerState<JiuApp> {
// 路由 redirect 在 initialized=false 时返回 null(不重定向),
// 初始化完成后 authState 变化触发 router refreshredirect 重新执行
WidgetsBinding.instance.addPostFrameCallback((_) async {
await ref.read(themeControllerProvider.notifier).restore();
await ref.read(authStateProvider.notifier).restore();
await ref.read(connectivityProvider.notifier).forceCheck();
});
@@ -107,9 +109,10 @@ class _JiuAppState extends ConsumerState<JiuApp> {
@override
Widget build(BuildContext context) {
final router = ref.watch(appRouterProvider);
final themeKey = ref.watch(themeControllerProvider);
return MaterialApp.router(
title: kDebugMode ? '岩美 [DEBUG]' : '岩美',
theme: AppTheme.light(),
theme: buildTheme(themeKey),
routerConfig: router,
debugShowCheckedModeBanner: false,
localizationsDelegates: const [