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:
1 parent
1feeb18c08
commit
24a3cc41ef
6 files changed
+149
-29
No files matched your search
@@ -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}
|
||||
/>
|
||||
|
||||
Reference in new issue
Block a user