feat: Konto-Auswahl mit Symbol und Farbe

Das native <select> zeigte nur den Namen im Systemstil. Bei einem Dutzend
Konten erkennt man seines am Symbol deutlich schneller – und beim Import
sieht man sofort, ob man in das gemeinte Konto liest.

Neue Komponente AccountSelect nach dem Muster von CategorySelect, mit
denselben Klassen und per Portal gerendert. Eingesetzt beim Import, in
Filter und Formular der Buchungen sowie beim Zielkonto eines Uebertrags.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-21 20:42:14 +02:00
co-authored by Claude Opus 5
parent 6390f7c325
commit 78835d1e40
3 changed files with 148 additions and 17 deletions
+3 -3
View File
@@ -5,6 +5,7 @@ import { useSettings } from "../settings";
import { useConfirm } from "../confirm";
import { useToast } from "../toast";
import Icon from "../components/Icon";
import AccountSelect from "../components/AccountSelect";
import CategorySelect from "../components/CategorySelect";
import DataTable from "../components/DataTable";
import { gruppenFuer } from "../kategorien";
@@ -387,9 +388,8 @@ export default function Import() {
<div className="row">
<label className="grow">
<span>{t("import.account")}</span>
<select value={accountId} onChange={(e) => setAccountId(e.target.value)}>
{accounts.map((a) => <option key={a.id} value={a.id}>{a.name} ({a.currency})</option>)}
</select>
<AccountSelect accounts={accounts} value={accountId}
onChange={(id) => setAccountId(id != null ? String(id) : "")} />
</label>
<label className="grow">
<span>{t("import.file")}</span>