feat(ui): 添加明暗主题切换支持
- 创建 ThemeProvider 管理主题状态 - 配置浅色和深色主题(Vercel/Linear 风格) - 集成 Google Fonts(Inter + JetBrains Mono) - 在我的页面添加主题切换开关 - 更新颜色系统符合 modernization-v2.md 规范 - 优化间距和圆角系统 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,7 @@ import 'data/services/fund_service.dart';
|
||||
import 'providers/auth_provider.dart';
|
||||
import 'providers/market_provider.dart';
|
||||
import 'providers/asset_provider.dart';
|
||||
import 'providers/theme_provider.dart';
|
||||
import 'ui/pages/auth/login_page.dart';
|
||||
import 'ui/pages/main/main_page.dart';
|
||||
|
||||
@@ -36,12 +37,17 @@ class MyApp extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return MultiProvider(
|
||||
providers: _buildProviders(),
|
||||
child: AuthNavigator(
|
||||
child: ShadApp.custom(
|
||||
themeMode: ThemeMode.dark,
|
||||
darkTheme: createAppShadTheme(),
|
||||
appBuilder: _buildMaterialApp,
|
||||
),
|
||||
child: Consumer<ThemeProvider>(
|
||||
builder: (context, themeProvider, _) {
|
||||
return AuthNavigator(
|
||||
child: ShadApp.custom(
|
||||
themeMode: themeProvider.themeMode,
|
||||
theme: createLightShadTheme(),
|
||||
darkTheme: createDarkShadTheme(),
|
||||
appBuilder: _buildMaterialApp,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -50,6 +56,10 @@ class MyApp extends StatelessWidget {
|
||||
final dioClient = DioClient();
|
||||
|
||||
return [
|
||||
// Theme Provider (必须放在最前面)
|
||||
ChangeNotifierProvider<ThemeProvider>(
|
||||
create: (_) => ThemeProvider()..init(),
|
||||
),
|
||||
// Services
|
||||
Provider<DioClient>.value(value: dioClient),
|
||||
Provider<UserService>(create: (_) => UserService(dioClient)),
|
||||
|
||||
Reference in New Issue
Block a user