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() })} +

+ + + )} )}