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:
ClaudeandClaude Sonnet 5.5 committed 2026-10-07 15:17:29 +00:00
1 parent dec7bea7d2
commit b556a459bb
4 files changed
+49 -1

No files matched your search

+17 -1
View File
@@ -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.')