Fix: Server/Client-Grenze -- Uebergangsregeln nach lib verschoben
Deploy App / deploy (push) Successful in 1m5s
Deploy App / deploy (push) Successful in 1m5s
Ursache des 500 (danke fuer die Meldung): lib/decisions.ts importierte isTransitionAnswered und isCashTransitionAnswered aus der CLIENT- Komponente ElementDetail. Der PDF-Bericht laeuft serverseitig und brach deshalb ab: "Attempted to call isCashTransitionAnswered() from the server but it is on the client." Die fuenf reinen Uebergangs-Regeln liegen jetzt in lib/transitions.ts; ElementDetail reicht sie nur noch weiter, damit bestehende Importe unveraendert bleiben. Neuer Waechter-Test: kein Modul unter src/lib darf aus src/components importieren. Gegen den echten Fehler verifiziert -- er schlaegt an. Weder tsc noch der Build hatten das gemeldet, nur die Produktion. 225 Tests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,10 @@
|
||||
// und zwei Umsetzungen derselben Regel driften garantiert auseinander. Deshalb hier als
|
||||
// reine Funktion, die beide benutzen.
|
||||
|
||||
import { isCashTransitionAnswered, isTransitionAnswered } from "@/components/ElementDetail";
|
||||
// WICHTIG: aus lib/transitions, NICHT aus der Client-Komponente ElementDetail. Ein Import
|
||||
// von dort macht diese Datei serverseitig unbenutzbar ("Attempted to call ... from the
|
||||
// server but it is on the client") -- genau daran scheiterte der PDF-Bericht.
|
||||
import { isCashTransitionAnswered, isTransitionAnswered } from "@/lib/transitions";
|
||||
import type { ElementCategory } from "@/lib/elements";
|
||||
import type { ElementInput, PlanInput } from "@/lib/types";
|
||||
import type { PhaseComputed, PlanComputed } from "@/lib/calculations";
|
||||
|
||||
Reference in New Issue
Block a user