Commit Graph

86 Commits

Author SHA1 Message Date
s4luorth
365158c43b Manueller Druck: Textvorlage überschreibt Inhalt; Zeile1–5 als Platzhalter
- Mustertext-Auswahl ersetzt den bisherigen Brieftext (statt anzuhängen).
- Vorschau: [[Zeile1]]..[[Zeile5]] aus den 5 Adresszeilen verfügbar; Tipp im UI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 20:55:32 +02:00
s4luorth
cc39dade9e Agent-Fernsteuerung: Neustart-Befehl + Logs an Directus
- bootstrap: Collections agent_logs (Logs/Fehler von Agent & AutoRecover) und
  agent_commands (Befehle an den Agenten, Typ restart; Agent arbeitet „pending“ ab).
- Produktion: Button „🔄 Programm neustarten“ legt einen restart-Befehl für die
  aktive Maschine an.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 19:57:50 +02:00
s4luorth
4aa3fd04e6 Statistik-Modul, Kontakt-Bulk, Notiz-Fix, Ausland-Erkennung, Weiteres-Kontakt
- Neues Modul „Statistik": versendete Briefe je Kunde/Monat, getrennt Inland/
  Ausland, Zeilen aufklappbar (Auftragsliste), mit Suche. Raus aus dem Board.
- Produktion: Auto-Refresh pausiert, während ein Feld bearbeitet wird (Notizen
  gingen sonst beim 15-s-Reload/Statuswechsel verloren). „Neu generieren“/
  „In manuellen Druck“ aus dem Empfänger-Dialog entfernt (liegen unter Weiteres).
  Unter Weiteres jetzt auch Kontakt/Kunde verknüpfen (per E-Mail) und mit × lösen
  – ohne Kundenmail.
- Ausland-Erkennung (zielInland) mit Wortgrenzen (\b) + unbekannter Ländertext →
  Inland: „Schweizer Straße“, „Neusass“, „Polenz“ werden nicht mehr als Ausland
  geflaggt (orders + produktion).
- Kontakte-Modul: Mehrfachauswahl → Status ändern / löschen.
- contacts-Hook: Abwahl von „In Kontakte speichern“ löscht die Kontakte wieder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 14:16:07 +02:00
s4luorth
6ccd4f3c53 Postkarten-Format (nur manueller Druck): Text links, Adresse rechts
- bootstrap: render_formats a6_postkarte + dinlang_postkarte (kind 'postkarte'),
  passende formats-Einträge (active=false → nicht in der App, nur manueller Druck),
  kind-Dropdown um 'postkarte' erweitert.
- skrift-orders: Vorschau erkennt Postkarten (render_formats.kind) und baut EIN
  Dokument mit Text + Absender + Empfänger (Marker [[pk_abs]]/[[pk_adr]]).
- neuauftrag: Postkarten-Formate erkannt; Absenderfeld direkt (unabhängig von
  Kuverts), Kuvert-Optionen ausgeblendet, Hinweis aufs Kartenlayout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 13:58:28 +02:00
s4luorth
08fe21a158 Format-Templates nicht mehr re-seeden, Signatur-Kuverts entfernt, Weiteres-Menü
- bootstrap: format_templates nur bei LEERER Collection anlegen (Betreiber
  pflegt sie selbst; kein Wieder-Anlegen bei jedem Bootstrap).
- Unterschriftenservice: Inline-Kuverts ("Kuverts mitdrucken") + Verknüpfen im
  Signatur-Tab wieder entfernt; signature-order auf Seiten-only zurückgesetzt.
- Produktion: Verknüpfen, In Kontakte speichern, Neu generieren und In manuellen
  Druck übernehmen hinter "Weiteres"-Button gebündelt; Notiz bleibt vorne.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 08:44:21 +02:00
s4luorth
ae7ef2422e Statistik-Tab, Unterschriftenservice-Kuverts, Auftragsverknüpfung & Notizen
- Produktion: Statistik-Tab (versendete Briefe je Kunde/Monat), verknüpfter
  Auftrag je Karte anzeigen/ändern/entfernen, Datei-Aufträge werden beim
  Übernehmen wieder in den Signatur-Tab überführt.
- Unterschriftenservice (neuauftrag): optionale Kuverts (je Empfänger ein
  Umschlag, Absender möglich) und Verknüpfung mit vorhandenem Auftrag.
- orders: signature-order erzeugt Kuverts über die Standard-Pipeline
  (Datei-Produkt -> nur Umschläge, Seiten bleiben erhalten) und speichert
  linked_order; nachträgliches Verknüpfen im Board.
- bootstrap: orders.linked_order (Self-Relation).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 08:27:44 +02:00
s4luorth
2b0c0028ed Format-Template-Standard: Freitext-Kuvert nicht durch default_format ueberschreiben
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 08:05:49 +02:00
s4luorth
9c2ede5374 Format-Templates: Standard je Format (default_format) statt fester Keys
format_templates.default_format (Format-Key) -> Druck-Dialog waehlt das als Standard
markierte Template vor, unabhaengig von fest verdrahteten Keys.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 08:05:01 +02:00
s4luorth
be1669a44f manual-order: fehlenden Kunden automatisch anlegen (Login-Konto per E-Mail)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 07:58:57 +02:00
s4luorth
bc295fea01 Notizen je Auftrag + je Charge (Produktions-Board)
orders.internal_note + neue Collection charge_notes (charge_key). Editierbare
Notizfelder in Auftrags- und Charge-Karte, speichern beim Verlassen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 07:57:31 +02:00
s4luorth
63611ba92e Manueller Druck: nur Kuverts ohne Brieftext (Vorschau erlaubt, leeres Schriftstueck uebersprungen)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 07:52:43 +02:00
s4luorth
de612b713f Produktion+neuauftrag: Neu generieren, Einzelfelder, Formate je Produkt + getrennt aktivierbar
- orders: /regenerate (Schriftstueck+Kuvert neu generieren).
- produktion: 'Neu generieren'-Button im Empfaenger-Dialog + Massenauswahl.
- neuauftrag: Adressmodus 'Einzelfelder' (Vorname..Land) inkl. Excel-Import; Formate
  nach gewaehltem Produkt gefiltert + nur show_manual.
- bootstrap: formats.show_manual (getrennt von active=Konfigurator).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 07:22:19 +02:00
s4luorth
1b2541e307 Kundenangebote (customer_offers) + Absender-Uebernahme-Fix
- Bootstrap: Collection customer_offers (Kunde+Produkt, Name-Zusatz, Aufschlaege/Stueck,
  mehrseitig erlauben, Notiz) + Order-Felder customer_offer/product_name_suffix.
- orders: calculatePrice addiert Angebots-Aufschlaege (serverseitig geprueft),
  Endpunkt /my-offers, POST / speichert Angebot + Name-Zusatz.
- produktion: 'In manuellen Druck uebernehmen' traegt jetzt auch Kuvert-Absender + Groesse mit.
- neuauftrag: uebernimmt Absender-Felder aus dem Auftrag.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 12:10:28 +02:00
s4luorth
a44515de89 neuauftrag: Kuverts-Haken default an, extra Haken 'Absender aufs Kuvert' + Absender-Groesse (%); envelope_sender_scale gespeichert/durchgereicht; bootstrap-Feld
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 11:04:29 +02:00
s4luorth
d6c92dc8c6 Produktions-Board: Laender-Anzeige + getrennter Druck DE/Welt (ohne Backend-Split)
- Auftragskarte: Chip 'DE N / Welt M weltweit' (aus count_inland/count_ausland).
- Empfaenger-Dialog: Auslands-Empfaenger mit 'weltweit' markiert.
- Druck-Dialog: Schnellwahl 'nur Deutschland' / 'nur Welt' fuellt die Nummern je
  Gruppe -> Schriftstuecke und Kuverts getrennt druckbar, Auftrag bleibt einer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 10:39:06 +02:00
s4luorth
b76e01d10a Revert Backend-Laender-Split: Auftrag bleibt einer (Trennung nur als Anzeige in Directus geplant)
zielInland()-Erkennung bleibt fuer count_inland/count_ausland und die kommende
Anzeige-/Druck-Trennung im Produktions-Board. Kein zweiter Auftragsdatensatz mehr.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 10:35:10 +02:00
s4luorth
2b575fa540 Laender-Split (manuelle Auftraege): DE/INT getrennt anlegen
zielInland()-Erkennung (Land/Freitext/D-PLZ). manual-order: bei gemischten Empfaengern
zwei Auftraege mit Suffix -DE / -INT (Empfaenger aufgeteilt), Generierung je Auftrag ->
Schriftstuecke UND Kuverts je Zielgebiet getrennt. Einzelland unveraendert (kein Suffix).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 10:31:23 +02:00
s4luorth
ca0b3a845a skrift-orders: oeffentlicher Upload-Proxy /upload (FilesService, Base64) fuer Motiv-/Quelldatei-Upload durch Gaeste
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 10:14:28 +02:00
s4luorth
46b5155c27 Kuvert-Absender (Feld direkt sichtbar), Textmengen-/Session-Aenderungen
- neuauftrag: Absenderfeld fuers Kuvert IMMER sichtbar (nicht mehr an 'Kuverts
  generieren' gebunden), Payloads (Vorschau + Anlage) reichen envelope_sender durch.
- orders: manual-order speichert envelope_sender, Preview-Proxy reicht sender durch.
- bootstrap: Feld envelope_sender.
- (enthaelt weiterhin die Session-Aenderungen: signature-order, mehrseitige Vorschau,
  'In manuellen Druck uebernehmen', gesendet-Nummern, Generierungs-Fehleranzeige,
  seitenumbruch-Hinweis.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-01 15:23:06 +02:00
s4luorth
46adf2a2f5 was wurde gedruckt? Nummern ergänzt 2026-08-28 07:10:00 +02:00
Lucas Orth
1b600ba150 Unterschriftenservice als echter Auftrag: signature-order (Seiten-SVGs schreiben + Auftrag anlegen), Kundenmail-Feld + 'Auftrag anlegen'-Button, Output-Mount schreibbar 2026-08-27 11:05:45 +02:00
Lucas Orth
aef08dbbff Unterschriftenservice: PDF-Vorschau als Blob-URL (Chrome zeigt data:PDF im iframe nicht) + Neuer-Tab-Rueckfall 2026-08-27 09:57:45 +02:00
Lucas Orth
cc3f4fb758 Unterschriftenservice: Datei-Lesen von Platte (behebt transforms-Fehler), Marker-Token [[..]] statt paragraph, Breite/Versatz aus hinterlegter Signatur (Service + Brief) 2026-08-27 09:42:10 +02:00
Lucas Orth
30c9e80f9c Unterschriftenservice: echte Fehlerursache durchreichen (Service nicht erreichbar vs. Marker/Service-Fehler) statt generischer Meldung 2026-08-27 09:16:35 +02:00
Lucas Orth
bba54cf6a0 Unterschriftenservice: bestehende Unterschriften aus dem Katalog waehlbar (zusaetzlich zum Upload), in beiden Modi 2026-08-27 09:06:01 +02:00
Lucas Orth
0cbf9031f1 Sammel-Druck: enqueue-bulk sortiert Auftraege nach Auftragsnummer (readMany bewahrt Reihenfolge nicht) -> Kuvert-/Brief-Reihenfolge passt zur Sammel-PDF 2026-08-27 09:04:20 +02:00
Lucas Orth
e39f904690 Produktion: Batch-Gruppierung in allen Status-Reitern; bei aktiver Suche Einzelauftraege statt Batch 2026-08-27 08:53:27 +02:00
Lucas Orth
939f7f13c6 Produktion: Inline-PDF/Bild-Vorschau im Dateien-Dialog (kein Download noetig) 2026-08-27 08:49:46 +02:00
Lucas Orth
41459ddd9e Produktion: globale Empfaenger-Suche in der bestehenden Suchleiste (Empfaenger-Index ueber alle Auftraege), keine neue Aktion 2026-08-26 20:35:56 +02:00
Lucas Orth
246359f545 Vorschau-Kuli: Strichstaerke 1.4 + dezenter Wobble-Filter (feTurbulence/Displacement) fuer echte Kugelschreiber-Optik; im <img>-Kontext getestet (kein Blank) 2026-08-24 13:39:18 +02:00
Lucas Orth
bc94bcbaa5 Vorschau-Kuli: dickere Striche (1.7), weisser Hintergrund, keine Papierstruktur 2026-08-24 13:27:59 +02:00
Lucas Orth
0587a94bee Vorschau-Kuli: non-scaling-stroke behalten (sonst Text unsichtbar), Striche 1.1 + blau, PNG in natuerlicher Groesse (Anzeige == Download), Papier weiss 2026-08-24 13:24:38 +02:00
Lucas Orth
c3695ebd2a Vorschau-Kuli: Filter raus (verursachte leere Vorschau), Papier weiss, mitskalierende Striche (Anzeige == PNG) 2026-08-24 13:19:39 +02:00
Lucas Orth
7a5faf4ed8 Vorschau-Kuli: Optik komplett ins SVG gebacken (blaue Tinte, mitskalierende Striche, dezentes Papier) -> Anzeige == gespeichertes Bild 2026-08-24 13:13:12 +02:00
Lucas Orth
21a43a9d88 Vorschau: Bild-speichern in die Großansicht + Kugelschreiber-Optik (blau, dicker, dezentes Papier) 2026-08-24 13:01:02 +02:00
Lucas Orth
94e79f12ac Import aus Monorepo (frischer Start) 2026-08-24 12:13:58 +02:00