42 lines
1.5 KiB
Dart
42 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'screens/expenses_screen.dart';
|
|
import 'theme/app_theme.dart';
|
|
import 'database/database.dart'; // Import the database
|
|
|
|
class MyApp extends StatefulWidget {
|
|
final AppDatabase database; // Принимаем экземпляр базы данных
|
|
|
|
const MyApp({Key? key, required this.database}) : super(key: key);
|
|
|
|
@override
|
|
State<MyApp> createState() => _MyAppState();
|
|
}
|
|
|
|
class _MyAppState extends State<MyApp> {
|
|
// Состояние для управления темой (светлая/темная)
|
|
bool _isDarkMode = false;
|
|
|
|
// Метод для переключения темы
|
|
void toggleTheme() {
|
|
setState(() {
|
|
_isDarkMode = !_isDarkMode;
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: 'Finance App', // Обновленный заголовок
|
|
debugShowCheckedModeBanner: false, // Скрыть баннер Debug
|
|
themeMode: _isDarkMode ? ThemeMode.dark : ThemeMode.light, // Управление темой
|
|
theme: AppTheme.lightTheme, // Светлая тема
|
|
darkTheme: AppTheme.darkTheme, // Темная тема
|
|
home: ExpensesScreen(
|
|
database: widget.database, // Передаем базу данных в главный экран
|
|
toggleTheme: toggleTheme, // Передаем функцию переключения темы
|
|
isDarkMode: _isDarkMode, // Передаем текущее состояние темы
|
|
),
|
|
);
|
|
}
|
|
}
|