Finanzen: Offen zeigt auch Ueberfaellige, Rechnungsliste laedt nach Zuordnen neu

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-01 15:12:18 +00:00
1 parent 1feeb18c08
commit 24a3cc41ef
6 files changed
+149 -29

No files matched your search

+10 -3
View File
@@ -26,6 +26,8 @@ export default function FinancePage() {
// Buchung, die gerade zugeordnet werden soll (Knopf in Block 7 oder Aufgabe „Zahlungseingang zuordnen“)
const [assignTxId, setAssignTxId] = useState(null)
const [assignNotice, setAssignNotice] = useState('')
// Zähler, der die Rechnungsliste (Block 6) zum Neuladen bringt: sie hält ihre Liste selbst
const [invoicesRefresh, setInvoicesRefresh] = useState(0)
const refreshLock = useRef(false)
const retriedRef = useRef(null)
@@ -34,8 +36,12 @@ export default function FinancePage() {
const needsInvoices = Boolean(assignTx && !assignTx.category && assignTx.status !== 'PDNG' && assignTx.amountCents > 0)
const openInvoices = useOpenInvoices(needsInvoices)
// Übersicht und Buchungen zusammen neu laden (nach Zuordnen, Rechnungsänderungen und Bankabruf)
const reloadAll = useCallback(() => Promise.all([reload(), reloadTransactions()]), [reload, reloadTransactions])
// Übersicht, Buchungen und Rechnungsliste zusammen neu laden (nach Zuordnen, Rechnungsänderungen und Bankabruf):
// eine eben bezahlte Rechnung soll sofort aus „Offen“ verschwinden
const reloadAll = useCallback(() => {
setInvoicesRefresh((n) => n + 1)
return Promise.all([reload(), reloadTransactions()])
}, [reload, reloadTransactions])
// Eine Aufgabe kann eine Buchung nennen, die in der geladenen Liste fehlt (neu abgerufen): einmal nachladen,
// dann melden statt still nichts zu tun
@@ -169,7 +175,7 @@ export default function FinancePage() {
<div className="fin-cols fin-cols-half">
<AboCard abos={data.abos} />
</div>
<InvoiceTable altersgruppen={data.rechnungen?.altersgruppen} onChanged={reloadAll} />
<InvoiceTable altersgruppen={data.rechnungen?.altersgruppen} refreshToken={invoicesRefresh} onChanged={reloadAll} />
<TransactionTable
transactions={txs.transactions}
stripeFehler={txs.stripeFehler}
@@ -200,6 +206,7 @@ export default function FinancePage() {
invoices={openInvoices.invoices}
invoicesLoading={openInvoices.loading}
invoicesError={openInvoices.error}
invoicesLoaded={openInvoices.loaded}
onClose={handleAssignClose}
onDone={handleAssignDone}
/>