ing csv import

This commit is contained in:
davmar
2026-09-08 12:58:32 +02:00
parent 21df7b0085
commit e7a7b1a357
14 changed files with 1271 additions and 541 deletions
+19 -3
View File
@@ -19,7 +19,10 @@ import '../widgets/tx_heatmap.dart';
import 'transaction_detail_screen.dart';
class TransactionsScreen extends StatefulWidget {
const TransactionsScreen({super.key});
const TransactionsScreen({super.key, this.initialMonth});
/// When set, opens on this calendar month instead of the current month.
final DateTime? initialMonth;
@override
State<TransactionsScreen> createState() => _TransactionsScreenState();
@@ -28,11 +31,24 @@ class TransactionsScreen extends StatefulWidget {
class _TransactionsScreenState extends State<TransactionsScreen> {
final _searchController = TextEditingController();
String _query = '';
DateTime _month = monthStart(DateTime.now());
late DateTime _month;
DateTime? _selectedDay;
var _searchInMonthOnly = false;
final Set<String> _labelFilters = {};
@override
void initState() {
super.initState();
final initial = widget.initialMonth;
final now = monthStart(DateTime.now());
if (initial == null) {
_month = now;
} else {
final start = monthStart(initial);
_month = start.isAfter(now) ? now : start;
}
}
@override
void dispose() {
_searchController.dispose();
@@ -172,7 +188,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
return const LoadingView(message: 'Loading transactions…');
}
if (!bank.isLinked) {
if (!bank.isLinked && bank.transactions.isEmpty) {
return ListView(
physics: const AlwaysScrollableScrollPhysics(),
children: [