From 987b45a56b560afef3112fbf819cb122a300f9ec Mon Sep 17 00:00:00 2001 From: Bonna Date: Mon, 8 Jun 2026 13:34:14 -0500 Subject: [PATCH] v0.2.2: surface skipped transactions in the transactions list --- CHANGELOG.md | 4 ++++ app.py | 8 +++++++- changelog.json | 7 +++++++ templates/transactions.html | 8 ++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c0e433..54ec715 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to Moon Household Budget. Newest first. Generated from changelog.json by release.py — do not edit by hand. +## 0.2.2 — 2026-06-08 + +- Show a banner and filter for transactions skipped during review that still need a category + ## 0.2.1 — 2026-06-06 - Edit bills inline from the bills page diff --git a/app.py b/app.py index c0af29c..970f6b0 100644 --- a/app.py +++ b/app.py @@ -822,6 +822,9 @@ def transactions_view(): spending_by_cat = dict(sorted(spending_by_cat.items(), key=lambda x: x[1], reverse=True)) week_label = f"Week {current_week_num} ({week_start.strftime('%b %-d')} – {week_end.strftime('%b %-d')})" + # Count skipped (reviewed but no category, not ignored) for the banner + skipped_count = sum(1 for t in transactions if t.get("reviewed") and not t.get("category") and not t.get("ignored")) + # Optional filters from query string filter_from = request.args.get("from_date", "") filter_to = request.args.get("to_date", "") @@ -840,7 +843,9 @@ def transactions_view(): reviewed = [t for t in reviewed if date_parser.parse(t["date"]).date() <= to_d] except Exception: pass - if filter_cat: + if filter_cat == "__skipped__": + reviewed = [t for t in reviewed if not t.get("category") and not t.get("ignored")] + elif filter_cat: reviewed = [t for t in reviewed if t.get("category") == filter_cat] if filter_search: q = filter_search.lower() @@ -862,6 +867,7 @@ def transactions_view(): week_label=week_label, month_name=cal_mod.month_name[month], year=year, month=month, + skipped_count=skipped_count, ) diff --git a/changelog.json b/changelog.json index c3dfcaa..5d624ab 100644 --- a/changelog.json +++ b/changelog.json @@ -1,4 +1,11 @@ [ + { + "version": "0.2.2", + "date": "2026-06-08", + "changes": [ + "Show a banner and filter for transactions skipped during review that still need a category" + ] + }, { "version": "0.2.1", "date": "2026-06-06", diff --git a/templates/transactions.html b/templates/transactions.html index 21c0a53..e8547ab 100644 --- a/templates/transactions.html +++ b/templates/transactions.html @@ -99,6 +99,13 @@ {% endif %} +{% if skipped_count %} +
+ ⏭️ {{ skipped_count }} transaction{{ 's' if skipped_count != 1 else '' }} still need{{ '' if skipped_count != 1 else 's' }} a category (skipped for now). + Show them +
+{% endif %} +
@@ -116,6 +123,7 @@