Neuer fetchCheckFormats() laedt Formate mit show_check=true (Text-Seiten-
Formate A4/A5/DIN-lang/A6), unabhaengig von der oeffentlichen Bestellbarkeit.
Textmenge nutzt das statt fetchFormats - so erscheinen A5 (hoch/quer) und
DIN lang (komplett beschrieben) im Check, Adress-Postkarten bleiben aussen vor.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Die neue Mengen-Sperre (entries.length === quantity) hätte identische
Sammelkarten ohne Empfängerliste oberhalb der Tabellengrenze blockiert:
dort wuchs entries nie auf die Menge, weil der Sync-Effekt pauschal bei
> 25 pausierte. Der Sync pausiert jetzt nur noch, wenn pro Zeile wirklich
Daten nötig sind (Empfänger-/Individualtext-Schritt oder eigene
Platzhalter im Brieftext). Ohne solche Daten erzeugt die Menge N
Blanko-Zeilen – auch > 25. Extern-Modus unverändert.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fehlbelastung behoben: PayPal belastete bisher den CLIENT-Quote
(quote.gross_total, mit der frei getippten Menge gerechnet), waehrend
der Auftrag serverseitig aus entries.length angelegt/bepreist wird.
Wichen die auseinander (Menge > 25, Sync pausiert, Menge nachtraeglich
geaendert), zahlte der Kunde z. B. fuer 150 Karten, angelegt wurden 15.
- PayPal belastet jetzt ausschliesslich den serverseitig bestaetigten
Auftragsbetrag (ergebnis.gross_total), nie den Client-Quote.
- Checkout wird blockiert, solange entries.length !== quantity, mit
klarer Meldung (Extern-/Datei-/preislose Produkte ausgenommen).
Motiv: Die Option "Motiv aus unserer Auswahl" wird nur noch angezeigt,
wenn fuer das Format Motive hinterlegt sind; sonst automatisch "Ohne
Motiv". Vor dem Laden bleibt die Option sichtbar (kein Aufblitzen).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bei strukturierter Standardadresse wurde der Umschlag trotzdem mit dem
Freitext beschriftet, wenn im Freitextfeld noch Reste eines frueheren
Moduswechsels standen: das Backend (addressText) bevorzugt free_text.
free_text wird jetzt zentral in mitPlatzhaltern() normalisiert und in
Vorschau, Textpruefung und Bestellung identisch mitgeschickt.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Standard-Platzhalter (Vorname/Nachname/Strasse/PLZ/Ort/Land) werden beim Senden
je Empfänger explizit aufgelöst (standardWert) und mit den eigenen Platzhaltern
in entries.placeholders geschrieben – so wird zuverlässig ersetzt (Vorschau +
Bestellung).
- „Anrede" aus STANDARD_STRUKTUR entfernt (kein Empfängerfeld dafür) → [[Anrede]]
ist jetzt ein frei befüllbarer eigener Platzhalter statt fälschlich als Standard.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Kunde öffnet den Einmal-Link (kein Login), sieht den A6-Drucklayout-Entwurf und
gibt frei oder hinterlegt einen Änderungswunsch. API: fetchFreigabe/sendFreigabe/
freigabeLayoutUrl (öffentlich, token-gated).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Eingeloggte Kunden sehen ihre Angebote (customer_offers) je Produkt und waehlen eins;
Aufschlaege pro Stueck flie\u00dfen serverseitig in den Preis, Name-Zusatz + Notiz sichtbar.
Quote/Order senden jetzt den Token (auth) mit, damit die Angebote greifen.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
uploadFile schickt die Datei als Base64 an /skrift-orders/upload statt direkt an
Directus /files (das braucht einen Token, den Gaeste nicht haben).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Eigener 'Vorschau generieren'-Button direkt unter dem Textfeld (nicht mehr am
Vorschau-Kontingent haengend -> war der Grund, dass er nicht klickbar war).
- Checkbox 'Realistische Handschrift'.
- Einseitig: kein Seitenumbruch-Hinweis mehr.
- Mehr Layout-Abstand (nicht mehr alles oben), keine Gedankenstriche.
- Vorschau als Karte darunter mit Kugelschreiber-Optik bzw. Ueberlauf-Fehler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Oeffentliche Seite /textmenge: Format-/Schriftwahl, Texteingabe (Tab, gesperrte Zeichen,
[[seitenumbruch]]) und 'Vorschau generieren' -> rendert das Schriftstueck (Kugelschreiber-
Optik, bestehendes PreviewPanel); passt der Text nicht, kommt die Ueberlauf-Fehlermeldung.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>