Block 'Kunden-Unterseiten (P6)' direkt vor KOMPAT: table-wrap bricht lange Woerter, aria-current-Zeile auf --bg-subtle, .cell-actions fuer Zeilenaktionen, Dialogfuss mit flex-wrap und umbrechenden Knoepfen, .autocomplete .input mit voller Breite.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Das Kachelraster entfaellt, jede Art ist ein Abschnitt mit Beschreibung, Funktions-Badges und Zeilen. Der Preview-Punkt wird zum Badge "Preview: <Zustand>", Ticket und Zuordnen sind Textlinks. Zwei CSS-Zeilen (.services-stack) im Block Projekte (P5).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Der Assistent bekommt Brotkrume und Untertitel im Seitenkopf, je Schritt einen Abschnitt, Auswahlzeilen als Knoepfe mit aria-pressed und dem Badge Ausgewaehlt, Felder mit Label-Verknuepfung und keine Icons oder Inline-Stile mehr. Logik, Zustaende und Texte bleiben unveraendert. Vier CSS-Zeilen im Block Projekte (P5) fuer Abstand der Schrittspalte und Kontrast der Kundennummer.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Seite mit PageHeader, Reitern (Zaehler aus projectTabs), Filterzeile und Tabelle (Rollen table/row/cell/columnheader, Zeilenklick ueber isRowActivation)
- Neues Projekt und Projekt bearbeiten als Dialog mit Field/htmlFor; Speichern im Fuss ueber das Attribut form
- Ladetext "Wird geladen …" nur beim ersten Laden (loadedOnce), danach bleibt die Tabelle beim Nachladen stehen
- global.css: Ticket-Zelle bricht lange IDs um, .faint in archivierten Zeilen ohne Kontrastverlust (Block Projekte (P5))
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Zeile mit Statusbadge und Textlinks, Zustimmungsablauf im Dialog mit Fuss (Abbrechen, Einschalten), Ausschalten-Rueckfrage bleibt inline. Drei Zeilen CSS fuer die Textvorlage (details) im Dialog.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Markup auf Bausteine (Button, Badge) und die Klassen pv-*, input, select, msg, link umgestellt; keine Inline-Stile, kein btn-sm, kein Farbliteral. Fehlertexte des Runners behalten ihren Zeilenumbruch ueber .pv-block .msg.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Neuer Block Projekte (P5) direkt vor KOMPAT: Projekttabelle (unter 860 px zweispaltiges Raster), Aktionszeile, Dialog-Formular, Preview-Block, Projektzeile am Ticket, Zuordnen-Assistent. Die alten Regeln .ticket-projects und .ticket-projects-assign .form-control entfallen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Alle Funktionen als eine Tabelle: Projektzeile, Funktionszeilen mit Status, Ticket (ticketPath) und Textaktionen, Bestaetigung, Einbauanleitung und Zustimmung in Textform als Zeilen darunter, Webshop-Anfrage als Block unter der Tabelle. Alle .funktionen-*-Regeln aus admin-areas.css in den Block Kunden (P4), Handy mit Zweispalten-Zeilen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Kopf mit Brotkrume, Eyebrow (Nummer, Stufe) und Abzeichen unter dem Namen, kein schwarzer Knopf. Uebersicht mit .kv-Zeilen in zwei Spalten, Rueckmeldungen als .msg, Tickets-Reiter als Tabelle mit echten Links (ticketPath) und Zeilenklick ueber isRowActivation. KundenansichtButton ohne Icon, Standard ist jetzt default. Block Kunden (P4) in global.css.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Zeilenklick nur ueber isRowActivation, Link.row-link in der ersten Zelle. CreateCustomerForm bleibt exportiert (Zuordnen-Assistent), dort entfaellt der Umschlag um den Dialog. KOMPAT-Regel .side-logo gestrichen.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- planboardSubtitle: das Ende des Zeitraums trägt das Jahr, der Anfang nur bei abweichendem Jahr; count ohne Wert zählt als 0
- dayLabels.full (aria-label der Spalte) mit Jahr
- ab 861 px steht der Wochentag in jedem Tageskopf über dem Datum (gleich hohe Köpfe, alle Termine beginnen auf einer Höhe)
- "Keine Termine" überall in --text-2, die Sonderregeln für Wochenende und Handy entfallen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Abschnittsabstand .page section + section entfaellt bei nebeneinander stehenden Abschnitten (Planboard, Finanzen, Rechtliches, Services, Kunde Uebersicht)
- .field bekommt im Altbestand (.page) wieder 12 px Abstand, neue Container (Dialog, field-row, kv) bleiben ohne
- .page.admin-page statt .admin-page, damit 1480 px Breite gegen .page gewinnt
- Fokusring von .tab und .nav-item innen, damit Scroll-Container ihn nicht abschneiden
- readonly bei .input und .textarea hinterlegt grau
- .kpi-grid (LiquidityHead) wieder nebeneinander bis P7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Weisses Geruest (.shell, feste Seitenleiste, Dokument-Scroll), Menue als Textliste mit Zaehlern und Serverpuls-Punkt, Schublade mit Scrim und Esc auf dem Handy, Logo-Komponente und Favicon. Footer, Einklappen (lib/sidebar.js) und das alte Menue-CSS (.side*, .app-*) sind entfernt.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Senden einer Rechnung (Dialog und Entwurf in der Tabelle) fragt vorher: "Rechnung fuer
<Kunde> ueber <Betrag> jetzt festschreiben und an <E-Mail> senden? Danach laesst sie sich
nur noch stornieren."
Fehlt dem Kunden Strasse, PLZ oder Ort, zeigen Rechnungsdialog und Kundenansicht die
Warnung "Adresse des Kunden unvollstaendig ..." mit Weg zur Uebersicht, und Senden ist
ueber 250 € gesperrt (§ 14 Abs. 4 Nr. 1 UStG, Kleinbetragsrechnung); Entwuerfe bleiben
moeglich. Reine Helfer addressComplete und invoiceSendGate samt Tests.
Fehlermeldungen in Rechnungs- und Zuordnen-Dialog werden per scrollIntoView
({ block: 'nearest' }) in den sichtbaren Bereich geholt.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Die Lead-Automatik ist gestoppt und die automatisch angelegten Kunden
sind geloescht; das Leads-Projekt liegt auf Eis.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bei zwei gueltigen Versionen mit gleichem Beginn gilt die zuletzt angelegte;
eine am selben Tag abgeloeste Version endet nie vor ihrem Beginn.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Im Details-Reiter steht eine Projektliste mit Zuweisen, Lösen und
"Neues Projekt"; der Knopf "Projekte zuweisen / bearbeiten", der
Dialog und die zweite Projektliste sind weg.
- Zuweisen bietet nur passende Projekte an: gleicher Kunde oder ohne
Kunde, nicht archiviert, keine Vorlage.
- Lösen nimmt ein Projekt nur noch vom Ticket. Bisher wurde dabei auch
die Kundenzuordnung gelöscht und der Kunde sah seine Vorschau im
Portal nicht mehr.
- Projektkarten ohne README-Vorschau (kostete je Karte einen Abruf) und
ohne nie befüllte Felder (Live-Domain, Commit-Box, "Preview: aktiv");
react-markdown entfällt damit (Lockfile mit Node 20 erzeugt).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Status: 6 statt 10, auf Deutsch (Offen, In Arbeit, Wartet auf Kunde,
Prüfung, Erledigt, Storniert). Gespeichert werden die Werte, die das
Kundenportal für die Fortschrittsleiste kennt; alte Werte wie Assigned
werden weiter angezeigt ("Eingeplant"), sind aber nicht mehr wählbar.
- Zuweisen ändert den Status nicht mehr; neue Tickets starten "Offen".
- Priorität: Schalter "Dringend" statt fünf Stufen (dringend = 4, normal
= 2; alte Stufen Hoch/Kritisch gelten als dringend), rotes Abzeichen.
- Ticketliste: Standardansicht "Aufträge" ohne Akquise-Tickets; Filter
Typ (Aufträge/Webpage/Migration/Projekt/Akquise/Alle), 6 Status-Gruppen,
"Nur dringende". Die toten Felder Kunde, Benutzer/Thema und Datum sind
durch eine echte Suche ersetzt (Kunde, Betreff, Angefragt von, WOID).
Deep-Link ?woid= zeigt das Ticket weiter unabhängig von Art und Status.
- Formulare "Neues Ticket" und "Arbeitsblatt" auf Deutsch; raus sind
Workload Estimate, Requested for und die Service-Art am Ticket
(gespeichert wird weiter Fernwartung).
- Ticketkarte: Projekt/Preview im Details-Reiter (4 statt 5 Reiter), eine
Zusammenfassungszeile statt der großen Statistik, doppelter
Projekte-Stift weg, Service-Abzeichen weg.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bisher lud jeder Seitenaufruf Lato und das ungenutzte Open Sans von
fonts.googleapis.com; dabei gingen die IP-Adressen der Mitarbeiter an
Google. Jetzt liegt Lato Regular 1.105 (SIL Open Font License, Lizenz
daneben) im Repo. Gemessen gegen Google: gleiche Textbreite und
Zeilenhöhe; wie bisher nur der Schnitt 400.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Work Order Type nur noch Webpage und neu Migration (Kunde kommt von anderem Anbieter)
- Affected System, Response Level und Benachrichtigungsfelder entfernt
- Service Type: Fernwartung (remote) oder Vor Ort beim Kunden, Standard Fernwartung;
gespeichert werden weiter "Remote" / "On Site"
- Start und Ende mit Kalender und Uhrzeitfeld; gespeichert weiter als dd.mm.yyyy / hhmm
- Requested by/for schlagen Kunden, Mitarbeiter und Namen aus den letzten Tickets vor,
die des gewählten Kunden zuerst
- Neue Tickets speichern Kundenname und Ort (die Karte zeigte sonst "Unbekannt")
- Ticketfilter kennt Webpage und Migration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Projekt-Zuweisung, README-Anzeige und Admin-API-Hooks ins Repo committen, damit deploy.sh die Änderungen nicht mehr verwirft.
Co-authored-by: Cursor <cursoragent@cursor.com>