From f53efc47673465922af38c2e5ba6557f86da6470 Mon Sep 17 00:00:00 2001 From: Guido Date: Wed, 26 Aug 2026 21:57:53 +0200 Subject: [PATCH] diag: Zeigen, was unter dem gesuchten Buchstaben steht MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Liste ist nicht abgeschnitten – sie reicht von "Aachener Bank" bis "Oelands Bank" und enthaelt N und R. Damit sind beide bisherigen Vermutungen widerlegt (Sandbox, alphabetisch gekuerzt), und Raten ueber Namensvarianten bringt nichts mehr. Bleibt die Suche ohne Treffer, stehen jetzt alle Eintraege mit demselben Anfangsbuchstaben da. Damit ist auf einen Blick zu sehen, ob die Bank unter einem anderen Namen gefuehrt wird – oder ob sie in diesen 815 von ueber 2500 schlicht fehlt. Co-Authored-By: Claude Opus 5 --- backend/app/services/bank_sync.py | 7 +++++++ web/src/locales/de.json | 3 ++- web/src/locales/en.json | 3 ++- web/src/pages/settings/Bankanbindung.jsx | 11 +++++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/backend/app/services/bank_sync.py b/backend/app/services/bank_sync.py index 7d4b05c..0c501c5 100644 --- a/backend/app/services/bank_sync.py +++ b/backend/app/services/bank_sync.py @@ -109,6 +109,13 @@ def banken(db: Session, user: User, land: str | None = None, # Fängt überhaupt eine Bank mit diesen Buchstaben an? Wenn nicht, fehlt # der Teil des Alphabets, und der Suchbegriff ist unschuldig. "anfangsbuchstaben": sorted({n[:1].upper() for n in namen}), + # Alles mit demselben Anfangsbuchstaben wie der Suchbegriff. Damit + # sieht man, unter welchem Namen die gesuchte Bank dort wirklich steht + # – Raten über Namensvarianten hat lange genug gedauert. + "gleicher_buchstabe": ( + [n for n in namen if begriff and n[:1].lower() == begriff[:1]][:40] + if begriff else [] + ), } diff --git a/web/src/locales/de.json b/web/src/locales/de.json index 52c15c5..ad92781 100644 --- a/web/src/locales/de.json +++ b/web/src/locales/de.json @@ -608,7 +608,8 @@ "sandboxHint": "Stehen dort lauter Test- oder Mock-Institute statt echter Banken, ist deine Anwendung im Control Panel als „Sandbox“ angelegt. N26 und Revolut gibt es nur in „Production“ – dort heissen sie genau so, in DE wie in LT.", "range": "Die Liste reicht von „{{von}}“ bis „{{bis}}“.", "letters": "Vorhandene Anfangsbuchstaben", - "truncatedHint": "Fehlen ganze Buchstaben – etwa N oder R –, ist die Liste abgeschnitten und deine Bank wurde gar nicht mitgeliefert. Dann liegt es nicht am Suchbegriff, und ich muss die Abfrage blättern lassen." + "truncatedHint": "Fehlen ganze Buchstaben – etwa N oder R –, ist die Liste abgeschnitten und deine Bank wurde gar nicht mitgeliefert. Dann liegt es nicht am Suchbegriff, und ich muss die Abfrage blättern lassen.", + "sameLetter": "Alles, was in der Liste mit „{{buchstabe}}“ beginnt:" }, "bankReturn": { "title": "Rückkehr von der Bank", diff --git a/web/src/locales/en.json b/web/src/locales/en.json index 1018b3d..641c5d9 100644 --- a/web/src/locales/en.json +++ b/web/src/locales/en.json @@ -608,7 +608,8 @@ "sandboxHint": "If those are test or mock institutions instead of real banks, your application is registered as “Sandbox” in the Control Panel. N26 and Revolut exist only in “Production”, where they are listed under exactly those names.", "range": "The list runs from “{{von}}” to “{{bis}}”.", "letters": "Initial letters present", - "truncatedHint": "If whole letters are missing – N or R, say – the list is truncated and your bank was never delivered. Then the search term is innocent and the query needs paging." + "truncatedHint": "If whole letters are missing – N or R, say – the list is truncated and your bank was never delivered. Then the search term is innocent and the query needs paging.", + "sameLetter": "Everything in the list starting with “{{buchstabe}}”:" }, "bankReturn": { "title": "Back from your bank", diff --git a/web/src/pages/settings/Bankanbindung.jsx b/web/src/pages/settings/Bankanbindung.jsx index be92614..1dbe2d4 100644 --- a/web/src/pages/settings/Bankanbindung.jsx +++ b/web/src/pages/settings/Bankanbindung.jsx @@ -289,6 +289,17 @@ export default function Bankanbindung() { {t("bank.letters")}: {(banken.anfangsbuchstaben || []).join(" ")}

{t("bank.truncatedHint")}

+ {(banken.gleicher_buchstabe || []).length > 0 && ( + <> +

+ {t("bank.sameLetter", { buchstabe: suche.trim()[0].toUpperCase() })} +

+ + + )} )}