feat: Pockets sind erkennbar und zuordenbar
Ein Revolut-Pocket bringt weder eigene IBAN noch eigenen Namen mit. Certain hielt bisher nur uid, IBAN, Name und Waehrung fest – mehrere Konten derselben Bank sahen damit gleich aus, und in der Zeile stand die rohe Kennung. Jetzt werden Produktbezeichnung und die Kennung fuer Konten ohne IBAN mitgefuehrt, der angezeigte Name faellt der Reihe nach auf Name, Details, Produkt, Kennung, IBAN zurueck statt auf die uid, und der uebermittelte Datensatz laesst sich aufklappen – nachsehen statt raten, wenn zwei Konten gleich aussehen. Beim Neuverbinden werden die Merkmale aufgefrischt, ohne die Zuordnung anzutasten. Fehlt ein Konto in der Waehrung des Bankkontos, steht das jetzt dabei; vorher war die Auswahl einfach leer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -208,7 +208,12 @@ export default function Bankanbindung() {
|
||||
<div className="sender-row" key={l.id}>
|
||||
<div className="muted small selectable">
|
||||
<strong>{l.remote_name || l.iban || l.remote_uid}</strong>
|
||||
{l.iban ? ` · ${l.iban}` : ""} · {l.currency}
|
||||
{/* Produktbezeichnung und Ersatzkennung sind bei Pockets das
|
||||
Einzige, was sie unterscheidet – ohne IBAN, oft ohne
|
||||
eigenen Namen sähen mehrere Konten sonst gleich aus. */}
|
||||
{l.product ? ` · ${l.product}` : ""}
|
||||
{l.iban ? ` · ${l.iban}` : l.other_id ? ` · ${l.other_id}` : ""}
|
||||
{` · ${l.currency}`}
|
||||
</div>
|
||||
<select value={l.account_id || ""}
|
||||
onChange={(e) => zuordnen(l, e.target.value)}>
|
||||
@@ -219,9 +224,27 @@ export default function Bankanbindung() {
|
||||
</select>
|
||||
{l.account_id ? null : (
|
||||
<p className="muted small" style={{ margin: "4px 0 0" }}>
|
||||
{t("bank.mapHint")}
|
||||
{/* Ohne Konto in dieser Währung ist die Auswahl leer, und
|
||||
man sucht den Fehler bei der Bank statt bei sich. */}
|
||||
{konten.some((k) => k.currency === l.currency)
|
||||
? t("bank.mapHint")
|
||||
: t("bank.noAccountForCurrency", { currency: l.currency })}
|
||||
</p>
|
||||
)}
|
||||
{Object.keys(l.bank_felder || {}).length > 0 && (
|
||||
<details className="muted small" style={{ marginTop: 4 }}>
|
||||
<summary>{t("bank.rawFields")}</summary>
|
||||
<div className="selectable" style={{ marginTop: 4 }}>
|
||||
{Object.entries(l.bank_felder).map(([feld, wert]) => (
|
||||
<div key={feld}>
|
||||
{feld}: {typeof wert === "object" && wert !== null
|
||||
? JSON.stringify(wert)
|
||||
: String(wert)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</details>
|
||||
)}
|
||||
</div>
|
||||
))
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user