51 lines
1.9 KiB
Dart
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()
|
|
],
|
|
),
|
|
)
|
|
)
|
|
);
|
|
}
|
|
} |