Files
photo-live/apps/mobile/lib/app/app.dart
T

35 lines
1.1 KiB
Dart
Raw Normal View History

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../l10n/app_localizations.dart';
import '../pages/home_page.dart';
import '../pages/login_page.dart';
import 'locale_controller.dart';
import 'theme.dart';
/// App 根组件:主题 + l10n 委托 + 基线路由。
///
/// 基线路由为命名路由(/login → /home);Task 3+ 随页面增长再评估
/// 是否迁移 go_router,当前保持零额外依赖。
class PhotoLiveApp extends ConsumerWidget {
const PhotoLiveApp({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final locale = ref.watch(localeSettingsProvider);
return MaterialApp(
onGenerateTitle: (context) => AppLocalizations.of(context).appName,
theme: AppTheme.light,
darkTheme: AppTheme.dark,
locale: locale,
supportedLocales: AppLocalizations.supportedLocales,
localizationsDelegates: AppLocalizations.localizationsDelegates,
routes: {
'/login': (context) => const LoginPage(),
'/home': (context) => const HomePage(),
},
home: const LoginPage(),
);
}
}