Files
Krezus/lib/pages/home/home_page.dart
2024-02-07 18:54:48 +01:00

51 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:tunas/domains/account/account_bloc.dart';
import 'package:tunas/domains/budget/budget_bloc.dart';
import 'package:tunas/domains/category/category_bloc.dart';
import 'package:tunas/domains/transaction/transaction_bloc.dart';
import 'package:tunas/pages/budgets/budgets_page.dart';
import 'package:tunas/pages/data/data_page.dart';
import 'package:tunas/pages/stats/stats_page.dart';
import 'package:tunas/pages/transactions/transactions_page.dart';
import 'package:tunas/repositories/account/account_repository.dart';
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider(create: (context) => AccountBloc(accountRepository: RepositoryProvider.of<AccountRepository>(context))),
BlocProvider(create: (context) => TransactionBloc(accountRepository: RepositoryProvider.of<AccountRepository>(context))),
BlocProvider(create: (context) => CategoryBloc(accountRepository: RepositoryProvider.of<AccountRepository>(context))),
BlocProvider(create: (context) => BudgetBloc(accountRepository: RepositoryProvider.of<AccountRepository>(context))),
],
child: DefaultTabController(
length: 4,
child: Scaffold(
appBar: AppBar(
title: const Text('Tunas'),
bottom: const TabBar(
tabs: [
Tab(icon: Icon(Icons.insights)),
Tab(icon: Icon(Icons.receipt_long)),
Tab(icon: Icon(Icons.pie_chart)),
Tab(icon: Icon(Icons.settings)),
],
),
),
body: const TabBarView(
children: [
StatsPage(),
TransactionsPage(),
BudgetsPage(),
DataPage()
],
),
)
)
);
}
}