fix: Uebertrag buchen tat sichtbar nichts – useToast falsch ausgepackt

useToast() liefert die Melde-Funktion selbst, kein Objekt. In drei Dateien aus
dieser Sitzung stand "const { toast } = useToast()", also undefined. Der Aufruf
steht fast immer in einem catch – dort verschluckt der TypeError die
eigentliche Meldung, und nach aussen passiert gar nichts.

Das erklaert beide Beschwerden:

- "Als Uebertrag buchen" schien wirkungslos: Die Buchung lief durch, dann warf
  toast(), der catch warf beim Melden erneut, der Dialog blieb offen.
- "Braucht ein Reload": Im Eingang stand toast() VOR laden() – der Dialog
  schloss noch, das Neuladen kam nie. Die Cache-Kopfzeile, die ich dafuer
  gesetzt habe, war nicht die Ursache; richtig ist sie trotzdem.

Am Ende in der laufenden Oberflaeche nachgeklickt: Dialog schliesst, Meldung
erscheint, die Zeile wird ohne Neuladen zum Uebertrag, die Gegenseite liegt auf
dem Zielkonto, beide Salden stimmen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-27 11:15:43 +02:00
co-authored by Claude Opus 5
parent 64b32cf8b8
commit 8cb82da63c
4 changed files with 7 additions and 3 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ export default function UebertragDialog({
vorgang, accounts, accountById, baseCurrency, onClose, onFertig,
}) {
const { t } = useTranslation();
const { toast } = useToast();
const toast = useToast();
const confirm = useConfirm();
const [ziel, setZiel] = useState("");
const [busy, setBusy] = useState(false);
+1 -1
View File
@@ -14,7 +14,7 @@ import { formatDate } from "../format";
// Deshalb ist auch eine falsche Verknüpfung folgenlos: Lösen stellt alles her.
export default function Uebertragsvorschlaege({ baseCurrency, onChange }) {
const { t } = useTranslation();
const { toast } = useToast();
const toast = useToast();
const [stand, setStand] = useState(null); // { verknuepft, vorschlaege }
const [busy, setBusy] = useState(false);