Kontrolle: Rechnungsdialog weist auf die fehlende Steuernummer hin
Nicht sperrender Hinweis (§ 34a UStDV), solange financeSettings.steuernummer leer ist; die Einstellungen werden einmal geladen, bei einem Ladefehler erscheint kein Hinweis. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
dec7bea7d2
commit
b556a459bb
4 files changed
+49
-1
No files matched your search
@@ -1,7 +1,7 @@
|
||||
// Hooks des Rechnungsdialogs: Projektliste, Projektkonto, Vorschau, Tickets des Kunden und Arbeitsblätter weiterer Tickets.
|
||||
// Überall zählt nur die jüngste Antwort; nach dem Ausbau eines Hooks zählt keine mehr.
|
||||
import { useCallback, useEffect, useRef, useState } from 'react'
|
||||
import { getProjektkonten, getProjektkonto, previewInvoice } from '../lib/financeApi'
|
||||
import { getProjektkonten, getProjektkonto, getSettings, previewInvoice } from '../lib/financeApi'
|
||||
import { getAbgerechnet } from '../lib/teamApi'
|
||||
import { listKundenTickets, listTicketBlaetter } from '../lib/rechnungDialogApi'
|
||||
import { blattAusAppwrite } from '../lib/rechnungDialogView'
|
||||
@@ -61,6 +61,22 @@ function useGeladen(laden, schluessel, fallbackError) {
|
||||
}
|
||||
}
|
||||
|
||||
/** Finanzeinstellungen, einmal geladen: undefined = lädt, null = nicht ladbar, sonst das Objekt `einstellungen`. */
|
||||
export function useEinstellungen() {
|
||||
const [einstellungen, setEinstellungen] = useState(undefined)
|
||||
useEffect(() => {
|
||||
let aktuell = true
|
||||
getSettings().then(
|
||||
(d) => aktuell && setEinstellungen(d?.einstellungen ?? null),
|
||||
() => aktuell && setEinstellungen(null)
|
||||
)
|
||||
return () => {
|
||||
aktuell = false
|
||||
}
|
||||
}, [])
|
||||
return einstellungen
|
||||
}
|
||||
|
||||
/** Projektkonten eines Kunden: { auftraegeAktiv, kunde, konten, ohneProjekt, stripeOk }. */
|
||||
export function useProjektkonten(kundeId) {
|
||||
return useGeladen(() => getProjektkonten(kundeId), kundeId, 'Die Projekte konnten nicht geladen werden.')
|
||||
|
||||
Reference in new issue
Block a user