ColorScheme в AppTheme.light()/.dark() строится из одного seed вместо двух параллельных наборов чисел для тёмной и светлой темы — акцент сведён к ChartColors.slot1Blue, чтобы фирменный цвет интерфейса и основной цвет графиков совпадали. cardTheme/navigationRailTheme/ navigationBarTheme заданы централизованно и каскадом меняют вид существующих карточек и навигации на всех экранах.
28 lines
869 B
Dart
28 lines
869 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
|
import 'core/theme/app_theme.dart';
|
|
import 'core/theme/theme_controller.dart';
|
|
import 'router.dart';
|
|
|
|
class FinTrackerApp extends ConsumerWidget {
|
|
const FinTrackerApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context, WidgetRef ref) {
|
|
final router = ref.watch(routerProvider);
|
|
final themeMode = ref.watch(themeModeProvider);
|
|
return MaterialApp.router(
|
|
title: 'fin-tracker',
|
|
routerConfig: router,
|
|
themeMode: themeMode,
|
|
theme: AppTheme.light(),
|
|
darkTheme: AppTheme.dark(),
|
|
locale: const Locale('ru'),
|
|
supportedLocales: const [Locale('ru'), Locale('en')],
|
|
localizationsDelegates: GlobalMaterialLocalizations.delegates,
|
|
);
|
|
}
|
|
}
|