diff --git a/lib/features/add_transaction/screen.dart b/lib/features/add_transaction/screen.dart index 85e7a6a..4557d4a 100644 --- a/lib/features/add_transaction/screen.dart +++ b/lib/features/add_transaction/screen.dart @@ -481,7 +481,7 @@ class _AddTransactionScreenState extends ConsumerState final activeAccount = ref.watch(activeAccountProvider); final isTransfer = state.type == TransactionType.transfer; final isEditingTransfer = isEditing && isTransfer; - final isFromAccountLocked = activeAccount != null || isTransfer; + final isFromAccountLocked = activeAccount != null || isEditingTransfer; final isToAccountLocked = isEditingTransfer; return Scaffold( diff --git a/lib/features/add_transaction/widgets/account_row.dart b/lib/features/add_transaction/widgets/account_row.dart index e65ed30..fe47021 100644 --- a/lib/features/add_transaction/widgets/account_row.dart +++ b/lib/features/add_transaction/widgets/account_row.dart @@ -275,8 +275,14 @@ class _TransferAccountRow extends ConsumerWidget { ), ); } else { - fromAccount = - activeAccount ?? (accounts.isNotEmpty ? accounts.first : null); + // If no account is explicitly selected and we're on Total Balance + // creating a new transfer — show empty, force user to choose + if (activeAccount == null && initial == null) { + fromAccount = null; + } else { + fromAccount = + activeAccount ?? (accounts.isNotEmpty ? accounts.first : null); + } } final Account? toAccount = toAccountId != null && accounts.isNotEmpty diff --git a/lib/features/add_transaction/widgets/submit_button.dart b/lib/features/add_transaction/widgets/submit_button.dart index 0b01e12..8cf57b3 100644 --- a/lib/features/add_transaction/widgets/submit_button.dart +++ b/lib/features/add_transaction/widgets/submit_button.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import '../../../core/constants.dart'; import '../../../shared/models/transaction.dart'; class SubmitButton extends StatelessWidget { @@ -21,7 +22,9 @@ class SubmitButton extends StatelessWidget { @override Widget build(BuildContext context) { - final typeColor = type == TransactionType.income + final typeColor = type == TransactionType.transfer + ? AppColors.accent + : type == TransactionType.income ? const Color(0xFF4CAF8C) : const Color(0xFFE05C6B);