Refactored json storage
This commit is contained in:
@@ -6,7 +6,7 @@ import 'package:tunas/pages/common/titled_container.dart';
|
||||
class AccountSettings extends StatelessWidget {
|
||||
const AccountSettings({super.key});
|
||||
|
||||
List<Widget> _computeCategoryList(Set<String> subAccounts) {
|
||||
List<Widget> _computeCategoryList(List<String> subAccounts) {
|
||||
return subAccounts.map((subAccount) => Row(
|
||||
children: [
|
||||
Text(subAccount),
|
||||
@@ -23,7 +23,7 @@ class AccountSettings extends StatelessWidget {
|
||||
scrollDirection: Axis.vertical,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: _computeCategoryList(state.subAccounts),
|
||||
children: _computeCategoryList(state.accounts.map((account) => account.label).toList()),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:tunas/domains/category/category_bloc.dart';
|
||||
import 'package:tunas/pages/common/titled_container.dart';
|
||||
import 'package:tunas/repositories/account/models/category.dart';
|
||||
import 'package:tunas/repositories/metadata/models/category.dart';
|
||||
|
||||
class CategoriesSettings extends StatelessWidget {
|
||||
const CategoriesSettings({super.key});
|
||||
|
||||
@@ -8,7 +8,8 @@ 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';
|
||||
import 'package:tunas/repositories/metadata/metadata_repository.dart';
|
||||
import 'package:tunas/repositories/transactions/transactions_repository.dart';
|
||||
|
||||
class HomePage extends StatelessWidget {
|
||||
const HomePage({super.key});
|
||||
@@ -17,10 +18,10 @@ class HomePage extends StatelessWidget {
|
||||
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))),
|
||||
BlocProvider(create: (context) => AccountBloc(transactionsRepository: RepositoryProvider.of<TransactionsRepository>(context), metadataRepository: RepositoryProvider.of<MetadataRepository>(context))),
|
||||
BlocProvider(create: (context) => TransactionBloc(transactionsRepository: RepositoryProvider.of<TransactionsRepository>(context))),
|
||||
BlocProvider(create: (context) => CategoryBloc(metadataRepository: RepositoryProvider.of<MetadataRepository>(context))),
|
||||
BlocProvider(create: (context) => BudgetBloc(metadataRepository: RepositoryProvider.of<MetadataRepository>(context))),
|
||||
],
|
||||
child: DefaultTabController(
|
||||
length: 4,
|
||||
|
||||
@@ -8,7 +8,8 @@ import 'package:tunas/pages/stats/widgets/monthly_categories_total_chart.dart';
|
||||
import 'package:tunas/pages/stats/widgets/global_total_chart.dart';
|
||||
import 'package:tunas/pages/stats/widgets/profit_indicator.dart';
|
||||
import 'package:tunas/pages/stats/widgets/year_selector.dart';
|
||||
import 'package:tunas/repositories/account/account_repository.dart';
|
||||
import 'package:tunas/repositories/metadata/metadata_repository.dart';
|
||||
import 'package:tunas/repositories/transactions/transactions_repository.dart';
|
||||
|
||||
class StatsPage extends StatelessWidget {
|
||||
const StatsPage({super.key});
|
||||
@@ -16,7 +17,10 @@ class StatsPage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocProvider(
|
||||
create: (context) => ChartBloc(accountRepository: RepositoryProvider.of<AccountRepository>(context)),
|
||||
create: (context) => ChartBloc(
|
||||
metadataRepository: RepositoryProvider.of<MetadataRepository>(context),
|
||||
transactionsRepository: RepositoryProvider.of<TransactionsRepository>(context),
|
||||
),
|
||||
child: BlocBuilder<ChartBloc, ChartState>(
|
||||
builder: (context, state) => ListView(
|
||||
children: [
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:tunas/domains/account/account_bloc.dart';
|
||||
import 'package:tunas/domains/category/category_bloc.dart';
|
||||
import 'package:tunas/domains/transaction/transaction_bloc.dart';
|
||||
import 'package:tunas/pages/transactions/widgets/transaction_form.dart';
|
||||
import 'package:tunas/repositories/account/models/transaction.dart';
|
||||
import 'package:tunas/repositories/transactions/models/transaction.dart';
|
||||
|
||||
class TransactionAddDialog extends StatelessWidget {
|
||||
const TransactionAddDialog({super.key});
|
||||
|
||||
@@ -126,7 +126,7 @@ class _TransactionAccountInput extends StatelessWidget {
|
||||
child: DropdownButtonFormField<String>(
|
||||
value: state.transactionAccount.value.toString() == '' ? null : state.transactionAccount.value.toString(),
|
||||
onChanged: (value) => context.read<TransactionBloc>().add(TransactionAccountChange(value!)),
|
||||
items: accountState.subAccounts.map((e) => DropdownMenuItem(value: e, child: Text(e))).toList(),
|
||||
items: accountState.accounts.map((e) => DropdownMenuItem(value: e.label, child: Text(e.label))).toList(),
|
||||
decoration: InputDecoration(
|
||||
icon: const Icon(Icons.account_box),
|
||||
hintText: 'Account',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:tunas/pages/transactions/widgets/transaction_add_dialog.dart';
|
||||
import 'package:tunas/repositories/account/models/transaction.dart';
|
||||
import 'package:tunas/repositories/transactions/models/transaction.dart';
|
||||
|
||||
class TransactionLine extends StatelessWidget {
|
||||
final Transaction transaction;
|
||||
|
||||
Reference in New Issue
Block a user