diff --git a/web/src/finance.css b/web/src/finance.css index bfa6d91..76a8992 100644 --- a/web/src/finance.css +++ b/web/src/finance.css @@ -1336,3 +1336,58 @@ tr.row-dup { flex: 0 0 auto; white-space: nowrap; } + +/* ---------- Bankanbindung: Verbindung, Konto, neue Bank ---------- + Vorher lieh sich das die Klassen des Postfachs: gestrichelte Trennlinien, + sonst nichts. Damit war nicht zu sehen, welcher Knopf zu welchem Konto + gehört und wo eine Bank aufhört. */ +.bank-verbindung { + border: 1px solid var(--border); + border-radius: var(--radius); + padding: var(--sp-4); + margin-top: var(--sp-4); +} +.bank-verbindung-kopf { + display: flex; + align-items: center; + gap: var(--sp-2); + padding-bottom: var(--sp-2); + margin-bottom: var(--sp-2); + border-bottom: 1px solid var(--border); +} +/* Ein Konto der Verbindung: eingerückt und mit eigener Kante. Die Kante ist + das, was seine Knöpfe sichtbar an es bindet. */ +.bank-konto { + border-left: 2px solid var(--border-strong); + padding: var(--sp-3) 0 var(--sp-3) var(--sp-3); + margin-top: var(--sp-3); +} +.bank-konto + .bank-konto { + margin-top: var(--sp-2); +} +.bank-konto select { + width: 100%; + margin-top: 4px; +} +/* Die Knöpfe der VERBINDUNG (alle Konten, Salden, trennen) stehen ohne + Einrückung – so gehören sie sichtbar zur Bank und nicht zum letzten Konto. */ +.bank-verbindung > .mail-actions { + padding-top: var(--sp-3); + border-top: 1px solid var(--border); +} +/* Eine neue Bank hinzufügen ist etwas anderes als eine bestehende zu pflegen. */ +.bank-neu { + margin-top: var(--sp-5); + padding-top: var(--sp-4); + border-top: 2px solid var(--border-strong); +} +.bank-neu h3 { + margin: 0 0 var(--sp-3); + font-size: 1rem; +} + +/* Die Einheit neben dem Zahlenfeld darf nicht umbrechen – „Minuten (0" in der + einen und „= aus)" in der nächsten Zeile las sich wie ein Fehler. */ +.bank-verbindung .input-with-button > .muted { + white-space: nowrap; +} diff --git a/web/src/locales/de.json b/web/src/locales/de.json index f2b7b52..7dd7cf8 100644 --- a/web/src/locales/de.json +++ b/web/src/locales/de.json @@ -648,11 +648,12 @@ "syncAll": "Alle Konten holen", "syncOne": "Umsätze holen", "poll": "Automatisch holen", - "pollUnit": "Minuten (0 = aus)", + "pollUnit": "Minuten", "pollHint": "Certain holt die Umsätze dann von selbst und bucht sie. 0 schaltet das ab; weniger als 15 Minuten lassen die Banken nicht zu.", "pollSaved": "Takt gespeichert.", "syncOlder": "Älteres nachholen", - "syncedDuplicate": "{{n}} standen schon da (aus Datei oder von Hand) und wurden übersprungen." + "syncedDuplicate": "{{n}} standen schon da (aus Datei oder von Hand) und wurden übersprungen.", + "addTitle": "Weitere Bank verbinden" }, "bankReturn": { "title": "Rückkehr von der Bank", diff --git a/web/src/locales/en.json b/web/src/locales/en.json index 1f0ccd4..efc4226 100644 --- a/web/src/locales/en.json +++ b/web/src/locales/en.json @@ -648,11 +648,12 @@ "syncAll": "Fetch all accounts", "syncOne": "Fetch transactions", "poll": "Fetch automatically", - "pollUnit": "minutes (0 = off)", + "pollUnit": "minutes", "pollHint": "Certain then fetches and books transactions on its own. 0 turns this off; banks do not allow less than 15 minutes.", "pollSaved": "Interval saved.", "syncOlder": "Catch up on older", - "syncedDuplicate": "{{n}} were already there (from a file or entered by hand) and were skipped." + "syncedDuplicate": "{{n}} were already there (from a file or entered by hand) and were skipped.", + "addTitle": "Connect another bank" }, "bankReturn": { "title": "Back from your bank", diff --git a/web/src/pages/settings/Bankanbindung.jsx b/web/src/pages/settings/Bankanbindung.jsx index 7889937..5779fd6 100644 --- a/web/src/pages/settings/Bankanbindung.jsx +++ b/web/src/pages/settings/Bankanbindung.jsx @@ -232,12 +232,16 @@ export default function Bankanbindung() { {/* Schritt 2: bestehende Verbindungen samt Kontozuordnung */} {verbindungen.map((v) => ( -
{t("bank.noAccountsFound")}
) : ( linksVon(v).map((l) => ( -