refactor: вынести HomePage в отдельный файл
This commit is contained in:
+8
-40
@@ -1,10 +1,17 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:budget_app/pages/home_page.dart';
|
||||
import 'theme/app_theme.dart';
|
||||
|
||||
/// Точка входа в приложение
|
||||
void main() {
|
||||
runApp(const MyApp());
|
||||
}
|
||||
|
||||
/// Главный виджет приложения
|
||||
///
|
||||
/// Управляет:
|
||||
/// - Состоянием темы (темная/светлая)
|
||||
/// - Конфигурацией MaterialApp
|
||||
class MyApp extends StatefulWidget {
|
||||
const MyApp({super.key});
|
||||
|
||||
@@ -15,6 +22,7 @@ class MyApp extends StatefulWidget {
|
||||
class _MyAppState extends State<MyApp> {
|
||||
bool _isDarkMode = false;
|
||||
|
||||
/// Переключает тему между светлой и темной
|
||||
void toggleTheme() {
|
||||
setState(() {
|
||||
_isDarkMode = !_isDarkMode;
|
||||
@@ -35,43 +43,3 @@ class _MyAppState extends State<MyApp> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class HomePage extends StatelessWidget {
|
||||
final VoidCallback onThemeToggle;
|
||||
final bool isDarkMode;
|
||||
|
||||
const HomePage({
|
||||
super.key,
|
||||
required this.onThemeToggle,
|
||||
required this.isDarkMode,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: const Text('Budget App'),
|
||||
actions: [
|
||||
IconButton(
|
||||
icon: Icon(isDarkMode ? Icons.light_mode : Icons.dark_mode),
|
||||
onPressed: onThemeToggle,
|
||||
tooltip: 'Переключить тему',
|
||||
),
|
||||
],
|
||||
),
|
||||
body: const Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(Icons.account_balance_wallet, size: 64),
|
||||
SizedBox(height: 16),
|
||||
Text(
|
||||
'Добро пожаловать в Budget App!',
|
||||
style: TextStyle(fontSize: 24),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user