Files
BudgetApp/lib/pages/home_page.dart
T

80 lines
2.9 KiB
Dart

import 'package:flutter/material.dart';
import 'settings_page.dart';
/**
* Главная страница приложения для управления бюджетом.
*
* Этот виджет является основным экраном приложения и содержит:
* - AppBar с заголовком и кнопкой настроек
* - Основной контент с приветственным сообщением
*
* Особенности реализации:
* 1. Наследуется от StatelessWidget, так как не содержит собственного состояния
* 2. Использует Material Design через Scaffold
* 3. Управление темой вынесено в SettingsService
*/
class HomePage extends StatelessWidget {
/// Конструктор виджета
///
/// @param key - опциональный ключ для идентификации виджета
const HomePage({super.key});
/**
* Основной метод построения интерфейса виджета.
*
* Возвращает Scaffold - базовую структуру страницы Material Design,
* которая включает:
* 1. AppBar (верхнюю панель)
* 2. Body (основное содержимое)
*/
@override
Widget build(BuildContext context) {
return Scaffold(
// Верхняя панель приложения
appBar: AppBar(
// Заголовок приложения
title: const Text('Budget App'),
// Кнопки в правой части AppBar
actions: [
// Кнопка настроек
IconButton(
icon: const Icon(Icons.settings),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const SettingsPage()),
);
},
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),
),
],
),
),
);
}
}