fix: Ein gescheiterter Abruf sah aus wie "keine Ausgaben"

Die Aufstellung eines Ausgaben-Anteils schluckte jeden Fehler und zeigte
stattdessen "Noch keine Ausgaben in diesem Monat" mit einer Summe von
0.00 - waehrend die Karte daneben einen Betrag nannte. Damit war der
Widerspruch, den das Fenster aufloesen sollte, groesser als vorher.

Jetzt steht dort, was schiefging.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-30 15:20:07 +02:00
co-authored by Claude Opus 5
parent ee36dae34a
commit 07ff0f2f8d
+6 -2
View File
@@ -161,17 +161,21 @@ function AnteilDetails({ einheit, currency, onClose }) {
const { t } = useTranslation();
const { formatDate } = useSettings();
const [data, setData] = useState(null);
// Ein gescheiterter Abruf darf NICHT aussehen wie "nichts gefunden". Genau
// das tat er: Die Karte nannte einen Betrag, das Fenster sagte "keine
// Ausgaben" – und der Fehler blieb unsichtbar.
const [fehler, setFehler] = useState(null);
useEffect(() => {
let ok = true;
api.cardExpenseShareRows(einheit.ids || [])
.then((d) => ok && setData(d))
.catch(() => ok && setData({ rows: [], __error: true }));
.catch((err) => ok && setFehler(err.message || String(err)));
return () => { ok = false; };
}, [einheit]);
return (
<Modal title={einheit.name} onClose={onClose} wide>
{!data ? <Loading /> : (
{fehler ? <div className="dash-empty neg">{fehler}</div> : !data ? <Loading /> : (
<>
<p className="muted small">{formatDate(data.von)} – {formatDate(data.bis)}</p>
{!data.rows.length && <div className="dash-empty muted">{t("cards.noExpenses")}</div>}