diff --git a/lib/Controller/recurring_transaction_controller.dart b/lib/Controller/recurring_transaction_controller.dart index 294afea..66e1566 100644 --- a/lib/Controller/recurring_transaction_controller.dart +++ b/lib/Controller/recurring_transaction_controller.dart @@ -136,7 +136,7 @@ class RecurringTransactionController { } /// Startet den Prozess, um eine wiederkehrende Transaktion zu bearbeiten - Future editRecurringTransaction( + Future editRecurringTransactionHandler( final int recurringTransactionId, ) async { final RecurringTransaction? recurringTransaction = @@ -144,7 +144,7 @@ class RecurringTransactionController { if (recurringTransaction != null) { final editRecurringTransactionDialog = DynamicDialog( - title: '${recurringTransaction.name} umbenennen', + title: '${recurringTransaction.name} bearbeiten', icon: Icons.edit, inputFields: [ DialogInputField( @@ -184,7 +184,7 @@ class RecurringTransactionController { actions: [ DialogAction(label: 'Abbruch'), DialogAction( - label: 'Speichern', + label: 'Bearbeiten', isPrimary: true, onPressed: _editRecurringTransaction, ), diff --git a/lib/Controller/transaction_controller.dart b/lib/Controller/transaction_controller.dart index da0f8c5..9c56ddc 100644 --- a/lib/Controller/transaction_controller.dart +++ b/lib/Controller/transaction_controller.dart @@ -127,14 +127,25 @@ class TransactionController { } /// Startet den Prozess, um eine Transaktion zu bearbeiten - Future editTransaction(final int transactionId) async { + Future editTransactionHandler(final int transactionId) async { final Transaction? transaction = await _transactionRepository.find( transactionId, ); if (transaction != null) { + final String title; + final String submitButtonText; + + if (transaction.checked) { + title = '${transaction.name} bearbeiten'; + submitButtonText = 'Bearbeiten'; + } else { + title = '${transaction.name} prüfen'; + submitButtonText = 'Prüfen'; + } + final editTransactionDialog = DynamicDialog( - title: '${transaction.name} umbenennen', + title: title, icon: Icons.edit, inputFields: [ DialogInputField( @@ -160,7 +171,7 @@ class TransactionController { actions: [ DialogAction(label: 'Abbruch'), DialogAction( - label: 'Speichern', + label: submitButtonText, isPrimary: true, onPressed: _editTransaction, ), @@ -245,6 +256,7 @@ class TransactionController { date: Value(values['date']), amount: Value(values['amount']), accountId: Value(transaction.accountId), + checked: const Value(true), ); await _transactionRepository.update(rtc); diff --git a/lib/Pages/Dashboard/recent_transactions_list.dart b/lib/Pages/Dashboard/recent_transactions_list.dart index c01b2d9..15129cb 100644 --- a/lib/Pages/Dashboard/recent_transactions_list.dart +++ b/lib/Pages/Dashboard/recent_transactions_list.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import '../../Controller/account_controller.dart'; @@ -56,8 +58,22 @@ class _RecentTransactionsListState extends State { (final Transaction transaction) => Padding( padding: const EdgeInsets.symmetric(vertical: 4), child: ListTile( - contentPadding: EdgeInsets.zero, - title: Text(transaction.name), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + onTap: () { + unawaited( + _transactionController.editTransactionHandler( + transaction.id, + ), + ); + }, + title: Text( + transaction.name, + style: (transaction.checked) + ? const TextStyle() + : TextStyle(color: theme.colorScheme.error), + ), trailing: Text( '${transaction.amount.abs().toStringAsFixed(2)} €', style: TextStyle( diff --git a/lib/Pages/Settings/recurring_transaction_list.dart b/lib/Pages/Settings/recurring_transaction_list.dart index 8dbb828..d0b520e 100644 --- a/lib/Pages/Settings/recurring_transaction_list.dart +++ b/lib/Pages/Settings/recurring_transaction_list.dart @@ -53,7 +53,7 @@ class _RecurringTransactionListState extends State { name: 'Wiederkehrende Transaktionen', items: formatedRecurringTransactions, onAdd: _recurringTransactionController.newRecurringTransactionHandler, - onEdit: _recurringTransactionController.editRecurringTransaction, + onEdit: _recurringTransactionController.editRecurringTransactionHandler, onDelete: _recurringTransactionController.deleteRecurringTransactionHandler, icon: const Icon(Icons.repeat),