diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/00 Start hier - David.md b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/00 Start hier - David.md index 3d302641..562dc033 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/00 Start hier - David.md +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/00 Start hier - David.md @@ -29,7 +29,7 @@ Nach Davids Feedback wurde die Lead-Zuweisung ergaenzt: - `Felder zuweisen` fuehrt nach S02L. - S02L ordnet Formularfragen per Dropdown Lead-Feldern zu. - E05 zeigt fehlende oder unmoegliche Zuweisungen. -- Die alten Advanced-Screens und S01B sind aus dem Obsidian-Handoff entfernt; S01C/S01D/S01E bleiben nur als Referenz-Beispiele. +- Die alten Advanced-Screens sind aus dem Obsidian-Handoff entfernt. S01B liegt im aktuellen Subframe-Bestand nur als Backlog vor; S01C/S01D/S01E bleiben ausschliesslich als lokale Referenz-Beispiele erhalten. ## Review-Reihenfolge diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/D-FORM David Uebergabe 2026-07-09.md b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/D-FORM David Uebergabe 2026-07-09.md index ac3fc241..a9a6937d 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/D-FORM David Uebergabe 2026-07-09.md +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/D-FORM David Uebergabe 2026-07-09.md @@ -91,9 +91,9 @@ Diese Seiten liegen noch als optionale Beispiele im Subframe-Flow, sind aber nic | Nr. | ID | Screen | Status | Subframe | |---|---|---|---|---| -| 81 | S01C | Website Formular Editor | Spaeter / Referenz | https://app.subframe.com/f023064a5ca0/design/d7d33e94-5c12-48e8-8ec6-1e94590ee89c/edit | -| 82 | S01D | Umfrage Editor | Spaeter / Referenz | https://app.subframe.com/f023064a5ca0/design/5abd7799-7058-40b3-9772-884cbda97b9c/edit | -| 83 | S01E | Internes Formular Editor | Spaeter / Referenz | https://app.subframe.com/f023064a5ca0/design/ea08fd1c-1a76-4e2c-b27c-1091baa0586a/edit | +| 81 | S01C | Website Formular Editor | Spaeter / lokale Referenz | Nicht mehr live (MCP-Abgleich 2026-08-25) | +| 82 | S01D | Umfrage Editor | Spaeter / lokale Referenz | Nicht mehr live (MCP-Abgleich 2026-08-25) | +| 83 | S01E | Internes Formular Editor | Spaeter / lokale Referenz | Nicht mehr live (MCP-Abgleich 2026-08-25) | ## 6. Formulararten diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/81 S01C Website Formular Editor.md b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/81 S01C Website Formular Editor.md index 5fde6e8c..6f2558a0 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/81 S01C Website Formular Editor.md +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/81 S01C Website Formular Editor.md @@ -7,9 +7,9 @@ id: S01C screen: Website Formular Editor typ: Simple Builder Beispiel umsetzung: Alternative bauen -status: Subframe Draft / Review offen +status: Lokal dokumentiert / nicht mehr in Subframe route: /forms/:id/edit -subframe: "https://app.subframe.com/f023064a5ca0/design/d7d33e94-5c12-48e8-8ec6-1e94590ee89c/edit" +subframe: "" --- # S01C - Website Formular Editor @@ -45,13 +45,11 @@ Der Nutzer erstellt ein einfaches oeffentliches Anfrageformular fuer Website, Li ## Subframe -Gebaut in Subframe: - -https://app.subframe.com/f023064a5ca0/design/d7d33e94-5c12-48e8-8ec6-1e94590ee89c/edit +Nicht mehr im aktuellen Subframe-Bestand (MCP-Abgleich 2026-08-25). Die fachliche Referenz bleibt lokal dokumentiert; Subframe wurde nicht veraendert. Qualitaetsregel: - Nutzt das vorhandene `Default Page Layout`. - Keine eigene Sidebar oder Header-Navigation. -- Liegt im D-FORM-Flow als optionale Referenzvariante. +- Bleibt als lokale Referenzvariante erhalten und liegt nicht mehr im aktuellen D-FORM-Flow. - Wiederhergestellte Layout-Version vom 2026-07-07; alte kaputte Subframe-ID wurde ersetzt. diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/82 S01D Umfrage Editor.md b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/82 S01D Umfrage Editor.md index cfeda73b..d0aa7c83 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/82 S01D Umfrage Editor.md +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/82 S01D Umfrage Editor.md @@ -7,9 +7,9 @@ id: S01D screen: Umfrage Editor typ: Simple Builder Beispiel umsetzung: Alternative bauen -status: Subframe Draft / Review offen +status: Lokal dokumentiert / nicht mehr in Subframe route: /forms/:id/edit -subframe: "https://app.subframe.com/f023064a5ca0/design/5abd7799-7058-40b3-9772-884cbda97b9c/edit" +subframe: "" --- # S01D - Umfrage Editor @@ -43,13 +43,11 @@ Hinweis 2026-07-08: S01D ist aktuell nur Referenz. Im Hauptfluss oeffnet auch `F ## Subframe -Gebaut in Subframe: - -https://app.subframe.com/f023064a5ca0/design/5abd7799-7058-40b3-9772-884cbda97b9c/edit +Nicht mehr im aktuellen Subframe-Bestand (MCP-Abgleich 2026-08-25). Die fachliche Referenz bleibt lokal dokumentiert; Subframe wurde nicht veraendert. Qualitaetsregel: - Nutzt das vorhandene `Default Page Layout`. - Keine eigene Sidebar oder Header-Navigation. -- Liegt im D-FORM-Flow als optionale Referenzvariante. +- Bleibt als lokale Referenzvariante erhalten und liegt nicht mehr im aktuellen D-FORM-Flow. - Korrigierte Version; die falsch generierte Variante ohne Layout wurde geloescht. diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/83 S01E Internes Formular Editor.md b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/83 S01E Internes Formular Editor.md index 8f7375f0..5b2bc1c3 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/83 S01E Internes Formular Editor.md +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/83 S01E Internes Formular Editor.md @@ -7,9 +7,9 @@ id: S01E screen: Internes Formular Editor typ: Simple Builder Beispiel umsetzung: Alternative bauen -status: Subframe Draft / Review offen +status: Lokal dokumentiert / nicht mehr in Subframe route: /forms/:id/edit -subframe: "https://app.subframe.com/f023064a5ca0/design/ea08fd1c-1a76-4e2c-b27c-1091baa0586a/edit" +subframe: "" --- # S01E - Internes Formular Editor @@ -44,13 +44,11 @@ Der Nutzer erstellt ein internes Formular fuer Mitarbeitende, z. B. Materialbeda ## Subframe -Gebaut in Subframe: - -https://app.subframe.com/f023064a5ca0/design/ea08fd1c-1a76-4e2c-b27c-1091baa0586a/edit +Nicht mehr im aktuellen Subframe-Bestand (MCP-Abgleich 2026-08-25). Die fachliche Referenz bleibt lokal dokumentiert; Subframe wurde nicht veraendert. Qualitaetsregel: - Nutzt das vorhandene `Default Page Layout`. - Keine eigene Sidebar oder Header-Navigation. -- Liegt im D-FORM-Flow als optionale Referenzvariante. +- Bleibt als lokale Referenzvariante erhalten und liegt nicht mehr im aktuellen D-FORM-Flow. - Wiederhergestellte Layout-Version vom 2026-07-07; alte kaputte Subframe-ID wurde ersetzt. diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Subframe Bau Log.md b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Subframe Bau Log.md index fc9d2c6d..9b9bb6f7 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Subframe Bau Log.md +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Subframe Bau Log.md @@ -35,9 +35,9 @@ Flow-Link: https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d7 | 11 | S05 | Antworten Tabelle | Hauptfluss / Auswertung | https://app.subframe.com/f023064a5ca0/design/9e8eeab7-44ea-4b77-85e6-0818d97e1ac3/edit | | 12 | E03 | S05 Keine Antworten | Hauptfluss / Empty | https://app.subframe.com/f023064a5ca0/design/6f56c14f-d66e-4734-8a29-a900ac74a8a7/edit | | 13 | E04 | S05 Export Fehler | Hauptfluss / Error | https://app.subframe.com/f023064a5ca0/design/00553ea4-9839-4d22-b540-9b9ef0bf014f/edit | -| 81 | S01C | Website Formular Editor | Spaeter / Referenz | https://app.subframe.com/f023064a5ca0/design/d7d33e94-5c12-48e8-8ec6-1e94590ee89c/edit | -| 82 | S01D | Umfrage Editor | Spaeter / Referenz | https://app.subframe.com/f023064a5ca0/design/5abd7799-7058-40b3-9772-884cbda97b9c/edit | -| 83 | S01E | Internes Formular Editor | Spaeter / Referenz | https://app.subframe.com/f023064a5ca0/design/ea08fd1c-1a76-4e2c-b27c-1091baa0586a/edit | +| 81 | S01C | Website Formular Editor | Spaeter / lokale Referenz | Nicht mehr live (MCP-Abgleich 2026-08-25) | +| 82 | S01D | Umfrage Editor | Spaeter / lokale Referenz | Nicht mehr live (MCP-Abgleich 2026-08-25) | +| 83 | S01E | Internes Formular Editor | Spaeter / lokale Referenz | Nicht mehr live (MCP-Abgleich 2026-08-25) | ## Qualitaetscheck Builder diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas index 7ec6ec02..5010b9a7 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas @@ -14,7 +14,7 @@ {"id":"s01e","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/83 S01E Internes Formular Editor.md","x":2600,"y":600,"width":420,"height":170}, {"id":"s04","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/06 S03 Formular Design.md","x":2120,"y":765,"width":420,"height":190}, {"id":"s05","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/11 S05 Antworten Tabelle.md","x":2120,"y":1005,"width":420,"height":190}, - {"id":"note-simple-builder","type":"text","text":"# Aktueller Builder-Flow\n\nS00 ist die Formular-Zentrale.\nS01 waehlt die Formularart.\nS02 ist der Haupteditor.\n\nDie Formularart setzt nur Vorlage/Startfragen:\n- Website/Extern\n- Lead\n- Umfrage\n- Intern\n\nTabs im Formular:\n- Fragen\n- Design: S03\n- Antworten: S05\n\nS01C/D/E bleiben Referenz-Beispiele, nicht Review-Pfad.","x":3260,"y":285,"width":500,"height":360}, + {"id":"note-simple-builder","type":"text","text":"# Aktueller Builder-Flow\n\nS00 ist die Formular-Zentrale.\nS01 waehlt die Formularart.\nS02 ist der Haupteditor.\n\nDie Formularart setzt nur Vorlage/Startfragen:\n- Website/Extern\n- Lead\n- Umfrage\n- Intern\n\nTabs im Formular:\n- Fragen\n- Design: S03\n- Antworten: S05\n\nS01B bleibt nur Live-Backlog ausserhalb des Handoffs. S01C/D/E sind lokale Referenz-Beispiele und nicht mehr im aktuellen Subframe-Flow.","x":3260,"y":285,"width":500,"height":360}, {"id":"simple-direction","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Simple Builder Neuausrichtung.md","x":3300,"y":765,"width":420,"height":160}, {"id":"v01","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/08 V01 Public Erfolg oder Redirect.md","x":1870,"y":1420,"width":420,"height":190}, {"id":"note-public","type":"text","text":"# Public-Regel\n\nKeine App-Shell.\n\nRuhiges Kundenformular:\n- Branding-Kopf\n- Intro\n- Felder\n- mCaptcha\n- Submit\n- Success/Error\n\nMobile zuerst mitdenken.","x":2350,"y":1420,"width":420,"height":250}, diff --git a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.md b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.md index f0f727b3..d50472d4 100644 --- a/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.md +++ b/02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.md @@ -51,6 +51,8 @@ Vor einer echten Fertig-Markierung muss David die Subframe-Frames final reviewen **Cleanup 2026-07-10:** S01B, die alten Advanced-Screens 90/90b/91/92/93 und die doppelten Dateien unter `Varianten/` wurden aus Obsidian entfernt. Der Handoff zeigt nur noch den aktuellen Hauptfluss plus S01C/S01D/S01E als optionale Beispiele. +**MCP-Abgleich 2026-08-25:** Der Live-Flow heisst weiterhin `(MCP) WF-P16 Form Builder`; der lokale Paketname `WF-D-FORM Form Builder` bleibt wegen der P16-Kollision bewusst abweichend. S01B ist live weiterhin als Backlog-Seite vorhanden, bleibt aber ausserhalb des Review-Handoffs. S01C/S01D/S01E existieren nicht mehr im aktuellen Subframe-Flow und werden lokal nur als fachliche Referenzen behalten. Subframe wurde bei diesem Abgleich nicht veraendert. + --- ## 2. Intent Check @@ -425,9 +427,9 @@ Keine zusaetzlichen Advanced-Zustandsframes im aktuellen Handoff bauen. | S05 | [[Screens/11 S05 Antworten Tabelle|S05 Antworten Tabelle]] | Builder Tab | Bauen | `/forms/:id/edit` | Subframe Draft / Review offen | | E03 | [[Screens/12 E03 S05 Keine Antworten|E03 S05 Keine Antworten]] | Empty State | Bauen | `/forms/:id/edit` | Subframe Draft / Review offen | | E04 | [[Screens/13 E04 S05 Export Fehler|E04 S05 Export Fehler]] | Error State | Bauen | `/forms/:id/edit` | Subframe Draft / Review offen | -| S01C | [[Screens/81 S01C Website Formular Editor|S01C Website Formular Editor]] | Spaeter / Referenz | Bauen | `/forms/:id/edit` | Subframe Draft / Referenz | -| S01D | [[Screens/82 S01D Umfrage Editor|S01D Umfrage Editor]] | Spaeter / Referenz | Bauen | `/forms/:id/edit` | Subframe Draft / Referenz | -| S01E | [[Screens/83 S01E Internes Formular Editor|S01E Internes Formular Editor]] | Spaeter / Referenz | Bauen | `/forms/:id/edit` | Subframe Draft / Referenz | +| S01C | [[Screens/81 S01C Website Formular Editor|S01C Website Formular Editor]] | Spaeter / Referenz | Dokumentieren | `/forms/:id/edit` | Lokal dokumentiert / nicht mehr in Subframe | +| S01D | [[Screens/82 S01D Umfrage Editor|S01D Umfrage Editor]] | Spaeter / Referenz | Dokumentieren | `/forms/:id/edit` | Lokal dokumentiert / nicht mehr in Subframe | +| S01E | [[Screens/83 S01E Internes Formular Editor|S01E Internes Formular Editor]] | Spaeter / Referenz | Dokumentieren | `/forms/:id/edit` | Lokal dokumentiert / nicht mehr in Subframe | ### Detailnotizen ohne eigene Review-Screens Diese Eintraege sind ausgearbeitet, bleiben aber Dokumentation und sind nicht Teil der aktuellen Subframe-Review-Reihenfolge. diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Quick Create.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Quick Create.md new file mode 100644 index 00000000..8877b9b3 --- /dev/null +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Quick Create.md @@ -0,0 +1,48 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-BOOK + D-P16 (Teil) +package: WF-P16 Kalender +id: M01 +screen: Quick Create +subframe_name: "M01 Quick Create" +subframe_page_id: "a4088a8a-fab2-433c-b2ff-46a521640999" +typ: Kompakter Dialog / Popover +umsetzung: Bauen +status: Fertig / Development-Handoff +route: "aus S01 (Slot-Klick / + Termin)" +subframe: "https://app.subframe.com/f023064a5ca0/design/a4088a8a-fab2-433c-b2ff-46a521640999/edit" +source_checked: 2026-08-31 +--- + +# M01 — Quick Create + +## Ziel + +Die meisten Termine direkt in einer kleinen Oberfläche anlegen, ohne den vollständigen Termin-Dialog zu öffnen. + +## Verhalten + +- Klick auf einen freien Kalenderslot oder auf Termin anlegen öffnet M01 mit vorausgefülltem Datum und Zeitraum. +- Enthalten sind nur Titel, Zeit, Teilnehmende, Ort und eine kurze Beschreibung. +- Klick auf die Datum-/Zeitzeile wechselt in [[M01a Quick Create Edit Mode]]. +- Speichern legt den neuen Termin direkt an und schließt Quick Create. +- Weitere Optionen öffnet [[M01b Termin-Dialog]] und übernimmt alle bereits eingegebenen Werte. +- Schließen verwirft den noch nicht gespeicherten Entwurf. + +## Aktueller Subframe-Stand + +- Die Seite ist korrekt als M01 Quick Create benannt. +- Sichtbar sind der Zeitraum Donnerstag, 6. August, 12:00–13:00, Gäste, Ort, Beschreibung sowie die beiden Ausgänge Weitere Optionen und Speichern. +- Der Dialog bleibt bewusst klein und ist der Standardweg. + +## Development-Hinweise (final) + +- In Development muss Quick Create am gewählten Slot beziehungsweise Auslöser verankert werden. +- Serientermine und ein eigener Zeitzonen-Workflow bleiben außerhalb des einfachen v1-Umfangs. +- Beim Anlegen eines neuen Termins werden Einladungen regulär verschickt; M03 gilt nur für Änderungen an bereits bestehenden Terminen. + +## Subframe + +- [Quick Create öffnen](https://app.subframe.com/f023064a5ca0/design/a4088a8a-fab2-433c-b2ff-46a521640999/edit) +- [Kalender-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Termin-Dialog.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Termin-Dialog.md deleted file mode 100644 index 23289004..00000000 --- a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Termin-Dialog.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -kind: screen -project: HiveGrid Screen Project -ticket: D-BOOK + D-P16 (Teil) -package: WF-P16 Kalender -id: M01 -screen: Termin anlegen/bearbeiten -typ: Modal -umsetzung: Bauen -status: Validiert -route: "aus S01 (Slot-Klick / + Termin)" -subframe: "" ---- - -# M01 — Termin anlegen/bearbeiten - -## Ziel - -Einen Termin planen wie in Google Calendar — mit Teilnehmern, und ohne jemanden doppelt zu verplanen. - -## Was das Tool können muss - -- **Grunddaten:** Titel, Datum + Uhrzeit (von–bis), optional ganztägig, Ort, Beschreibung/Notiz -- **Teilnehmer-Feld** (ein Feld, drei Arten): - - **Team-Mitglieder** (@-Vorschläge) — sehen den Termin sofort in ihrem HiveGrid-Kalender - - **Kontakte** (aus dem CRM) — bekommen E-Mail mit Kalender-Datei (.ics) - - **freie E-Mail-Adressen** — ebenfalls Mail + .ics, ohne Kontakt-Anlage -- **Verfügbarkeits-Check:** beim Hinzufügen interner Teilnehmer zeigt der Dialog belegt/frei im gewählten Zeitraum (»Max ist 9–12 Uhr belegt«) — Warnung, kein Block; Link »Kalender einblenden« aktiviert das Overlay in S01 -- Optionale **Projekt-Verknüpfung** (Termin erscheint dann auch in der Projekt-Akte) -- Bearbeiten nutzt denselben Dialog (nur bei eigenen Terminen); Änderung informiert Teilnehmer -- Speichern → zurück in S01, Termin sichtbar; bei Google-Sync geht der Termin auch extern raus - -## Pattern / Archetyp - -A5 Dialog + A4 Formular-Felder. Teilnehmer-Feld = @-Erwähnungs-Muster aus dem UI-Baukasten. - -## Subframe - -- (erst nach explizitem OK) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01a Quick Create Edit Mode.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01a Quick Create Edit Mode.md new file mode 100644 index 00000000..fff608bb --- /dev/null +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01a Quick Create Edit Mode.md @@ -0,0 +1,47 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-BOOK + D-P16 (Teil) +package: WF-P16 Kalender +id: M01a +screen: Quick Create Edit Mode +subframe_name: "M01a Quick Create Edit Mode" +subframe_page_id: "1c0335d4-b6c9-4418-9ee6-f817928720e7" +typ: Zustand des kompakten Dialogs +umsetzung: Bauen +status: Fertig / Development-Handoff +route: "aus M01 über Klick auf Datum-/Zeitzeile" +subframe: "https://app.subframe.com/f023064a5ca0/design/1c0335d4-b6c9-4418-9ee6-f817928720e7/edit" +source_checked: 2026-08-31 +--- + +# M01a — Quick Create Edit Mode + +## Ziel + +Datum und Uhrzeit im kleinen Quick Create korrigieren, ohne in den vollständigen Termin-Dialog wechseln zu müssen. + +## Verhalten + +- Klick auf die Zeitzeile in [[M01 Quick Create]] wechselt in diesen Zustand. +- Die kompakte Zusammenfassung wird durch Startdatum, Startzeit, Enddatum und Endzeit ersetzt. +- Gäste, Ort, Beschreibung, Weitere Optionen und Speichern bleiben an derselben Stelle. +- Nach der Auswahl zeigt M01 wieder den aktualisierten Zeitraum. +- Der Zustand ist kein eigener Anlegeweg und kein zusätzliches Kalender-Feature. + +## Aktueller Subframe-Stand + +- Der Edit-Modus ist als eigene Live-Seite vorhanden und verwendet die aktuellen Date-/Time-Picker. +- Anders als im früheren Entwurf gibt es kein separates Picker-Popover links neben Quick Create; die vier Felder stehen direkt im Dialog. +- Der gesamte Zustand passt in 1440 × 900. + +## Development-Hinweise (final) + +- Die Felder zeigen im aktuellen Design noch Platzhalter. In Development müssen Donnerstag, 6. August, 12:00–13:00 aus M01 vorausgefüllt bleiben. +- Für einen Termin am selben Tag darf das Enddatum automatisch dem Startdatum folgen; es soll keine unnötige zweite Entscheidung entstehen. + +## Subframe + +- [Edit-Modus öffnen](https://app.subframe.com/f023064a5ca0/design/1c0335d4-b6c9-4418-9ee6-f817928720e7/edit) +- [Normalen Quick-Create-State öffnen](https://app.subframe.com/f023064a5ca0/design/a4088a8a-fab2-433c-b2ff-46a521640999/edit) +- [Kalender-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01b Termin-Dialog.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01b Termin-Dialog.md new file mode 100644 index 00000000..072d69ed --- /dev/null +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01b Termin-Dialog.md @@ -0,0 +1,51 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-BOOK + D-P16 (Teil) +package: WF-P16 Kalender +id: M01b +screen: Termin vollständig anlegen oder bearbeiten +subframe_name: "M01 Termin anlegen V4 Zweispaltig" +subframe_page_id: "eaf3f0ba-f80f-4ba3-b0a1-16e2695a2122" +typ: Modal +umsetzung: Bauen +status: Fertig / Development-Handoff +route: "aus M01 über Weitere Optionen / aus M02 über Bearbeiten" +subframe: "https://app.subframe.com/f023064a5ca0/design/eaf3f0ba-f80f-4ba3-b0a1-16e2695a2122/edit" +source_checked: 2026-08-31 +--- + +# M01b — Termin vollständig anlegen oder bearbeiten + +## Ziel + +Einen Termin vollständig konfigurieren, wenn Quick Create nicht ausreicht, oder einen bestehenden eigenen Termin bearbeiten. + +## Verhalten + +- Grunddaten: Titel, Datum und Uhrzeit von–bis, optional ganztägig, Ort und Beschreibung. +- Teilnehmende können Team-Mitglieder, CRM-Kontakte oder freie E-Mail-Adressen sein. +- Interne Personen dürfen direkt einen kleinen, nicht blockierenden Badge Möglicher Konflikt tragen. Es gibt keine weitere Konfliktansicht. +- Optional kann ein Projekt verknüpft werden. +- Weitere Optionen aus [[M01 Quick Create]] übernehmen alle bisherigen Eingaben. +- Beim Speichern eines neuen Termins geht es direkt zurück in den Kalender. +- Wird ein bestehender Termin mit Teilnehmenden in relevanten Feldern geändert, öffnet sich vor dem Speichern [[M03 Änderungen per E-Mail senden]]. + +## Aktueller Subframe-Stand + +- Nur die zweispaltige Version ist noch live. V2 und V3 wurden gelöscht und sind keine Alternativen mehr. +- Kerndaten stehen links, Teilnehmende und Beschreibung rechts; der Dialog passt vollständig in 1440 × 900. +- Drei Teilnehmende sind sichtbar. Nur Sandra Koch trägt den kleinen Badge Möglicher Konflikt. +- Die Seite nutzt die aktuellen Date-/Time-Picker. + +## Development-Hinweise (final) + +- Datum und Uhrzeit zeigen im Design noch Platzhalter und müssen aus M01 beziehungsweise dem bestehenden Termin vorausgefüllt werden. +- Freie, noch unbekannte E-Mail-Adressen sind visuell nicht eindeutig nachgewiesen. +- Der Subframe-Seitenname enthält noch den älteren Präfix M01 und V4; die logische Obsidian-Zuordnung ist M01b. + +## Subframe + +- [Vollständigen Termin-Dialog öffnen](https://app.subframe.com/f023064a5ca0/design/eaf3f0ba-f80f-4ba3-b0a1-16e2695a2122/edit) +- [Quick Create öffnen](https://app.subframe.com/f023064a5ca0/design/a4088a8a-fab2-433c-b2ff-46a521640999/edit) +- [Kalender-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M02 Termin-Detail.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M02 Termin-Detail.md index 4199a9d2..38b6f884 100644 --- a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M02 Termin-Detail.md +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M02 Termin-Detail.md @@ -5,11 +5,14 @@ ticket: D-BOOK + D-P16 (Teil) package: WF-P16 Kalender id: M02 screen: Termin-Detail +subframe_name: "M02 Termindetail Popover V1" +subframe_page_id: "99fbcf22-50fd-42de-9243-278d1ef746c1" typ: Popover umsetzung: Bauen -status: Validiert +status: Fertig / Development-Handoff route: "Termin-Klick in S01" -subframe: "" +subframe: "https://app.subframe.com/f023064a5ca0/design/99fbcf22-50fd-42de-9243-278d1ef746c1/edit" +source_checked: 2026-08-31 --- # M02 — Termin-Detail (Popover) @@ -22,9 +25,26 @@ Schnell sehen, was das für ein Termin ist, wer kommt — und mit einem Klick zu - Titel, Zeit, Ort, Beschreibung, **Quelle-Badge** (Google / Buchung / Plantafel / Projekt / eigener Termin) - **Teilnehmer-Liste mit Zu-/Absage-Status** (zugesagt / abgesagt / offen); Bounce-Marker wenn Einladungs-Mail unzustellbar (+ erneut senden) +- Optional direkt an einer internen Person ein kleiner Badge `Möglicher Konflikt`; keine weitere Konfliktansicht, kein Verlauf und kein Pop-up. - **Absprung zur Quelle:** Buchung → Buchungs-Detail · Einsatz → Plantafel · Projekt-Termin → Projekt-Akte · Google-Termin → nur lesen (Hinweis »kommt aus Google«) -- **Aktionen je nach Quelle:** eigene Termine → Bearbeiten (M01) + Löschen (mit Teilnehmer-Info); fremde Quellen → nur Absprung +- **Aktionen je nach Quelle:** eigene Termine → Bearbeiten ([[M01b Termin-Dialog]]) + Löschen; fremde Quellen → nur Absprung - Für eingeladene interne Nutzer: **Zusagen/Absagen** direkt im Popover +- Werden beim Bearbeiten teilnehmendenrelevante Daten geändert, führt Speichern zu [[M03 Änderungen per E-Mail senden]]. + +## Subframe-Arbeitsstand (Readback 2026-08-31) + +- Der gebaute Beispielzustand ist ein Projekt-Termin mit Titel, Projekt-ID, Datum, Uhrzeit, Dauer, Ort und Beschreibung. +- Die Teilnehmendenliste zeigt Organisator, zugesagt, ausstehend und eine unzustellbare Einladung mit erneutem Versand. +- Unten stehen `Zusagen`, `Ablehnen` sowie ein Mehr-Menü mit Bearbeiten, Duplizieren, Verschieben und Löschen; `In Projekt öffnen` bildet den Quell-Absprung ab. +- Der Versand von Änderungen ist jetzt als eigener kompakter Folge-Zustand M03 dokumentiert und in Subframe gebaut. + +## Development-Hinweise (final) + +- Organisatoren sehen Bearbeiten und Löschen; eingeladene interne Nutzer sehen Zusagen und Ablehnen; fremde Quellen zeigen nur den passenden Absprung. +- Duplizieren und Verschieben werden in v1 nicht aus dem statischen Beispiel übernommen. +- Löschen verwendet einen kurzen Standard-Confirm mit Hinweis auf Teilnehmende und externe Kalender. +- Das Detail wird am angeklickten Termin verankert; die nebeneinander dargestellten Cards sind nur die Subframe-Demonstration. +- Der sichtbare Status Bounce heißt in der Nutzeroberfläche Nicht zustellbar. ## Pattern / Archetyp @@ -32,4 +52,5 @@ Popover (leichtgewichtig, kein volles Modal) — Muster: Termin-Klick wie in Goo ## Subframe -- (erst nach explizitem OK) +- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/99fbcf22-50fd-42de-9243-278d1ef746c1/edit) +- [Kalender-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M03 Änderungen per E-Mail senden.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M03 Änderungen per E-Mail senden.md new file mode 100644 index 00000000..38920bb8 --- /dev/null +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M03 Änderungen per E-Mail senden.md @@ -0,0 +1,47 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-BOOK + D-P16 (Teil) +package: WF-P16 Kalender +id: M03 +screen: Änderungen per E-Mail senden +subframe_name: "M03 Änderungen per E-Mail senden" +subframe_page_id: "3bac63a2-82fe-487a-9a0a-0dab263cc6d0" +typ: Bestätigungsmodal +umsetzung: Bauen +status: Fertig / Development-Handoff +route: "nach Speichern eines geänderten bestehenden Termins mit Teilnehmenden" +subframe: "https://app.subframe.com/f023064a5ca0/design/3bac63a2-82fe-487a-9a0a-0dab263cc6d0/edit" +source_checked: 2026-08-31 +--- + +# M03 — Änderungen per E-Mail senden + +## Ziel + +Wie bei Google entscheiden, ob Teilnehmende nach einer Änderung an einem bestehenden Termin eine Aktualisierung per E-Mail erhalten. + +## Auslöser + +- Der Termin existiert bereits. +- Mindestens eine weitere Person nimmt teil. +- Eine für Teilnehmende relevante Angabe wurde geändert, etwa Titel, Datum, Uhrzeit, Ort, Beschreibung oder Teilnehmerkreis. +- Reine interne Angaben wie eine Projektverknüpfung lösen den Dialog nicht aus. + +## Verhalten + +- Zurück: kehrt zur Terminbearbeitung zurück und speichert noch nichts. +- Ohne E-Mail speichern: speichert die Änderung, versendet aber keine E-Mail. +- E-Mail senden: speichert die Änderung und sendet die aktualisierten Termindaten per E-Mail an alle Teilnehmenden. +- Es gibt kein Nachrichtenfeld, keine Empfängerauswahl und keine Push- oder In-App-Benachrichtigung. + +## Aktueller Subframe-Stand + +- Der Dialog ist kompakt, zentriert und verwendet das bestehende Modal-Muster. +- Alle drei Aktionen sind vollständig sichtbar und passen ohne horizontalen Überlauf in 1440 × 900. +- Copy: Änderungen per E-Mail senden? sowie der Hinweis, dass drei Teilnehmende informiert werden. + +## Subframe + +- [Bestätigungsmodal öffnen](https://app.subframe.com/f023064a5ca0/design/3bac63a2-82fe-487a-9a0a-0dab263cc6d0/edit) +- [Kalender-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S01 Kalender.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S01 Kalender.md index 922ceaf9..ded1903b 100644 --- a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S01 Kalender.md +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S01 Kalender.md @@ -5,11 +5,14 @@ ticket: D-BOOK + D-P16 (Teil) package: WF-P16 Kalender id: S01 screen: Kalender +subframe_name: "S01 Kalender V1" +subframe_page_id: "238adab5-a284-4065-91b5-28cd894f6b31" typ: BESPOKE Kalender-Grid umsetzung: Bauen -status: Validiert +status: Fertig / Development-Handoff route: "/calendar" -subframe: "" +subframe: "https://app.subframe.com/f023064a5ca0/design/238adab5-a284-4065-91b5-28cd894f6b31/edit" +source_checked: 2026-08-31 --- # S01 — Kalender (Monat/Woche) ⭐ @@ -23,18 +26,34 @@ Alle Termine an einem Ort — egal ob aus Google, einer Online-Buchung, der Plan - **Monats- und Wochen-Ansicht** mit Umschalter, Heute-Knopf, Zeitraum-Navigation (Pfeile) - **Quell-Marker je Termin** (Farbe/Icon): Google · Buchung · Plantafel-Einsatz · Projekt-Termin · eigener Termin - **Kollegen einblenden (Overlay):** Mitarbeiter-Auswahl (Avatare/Checkboxen) — deren HiveGrid-Termine erscheinen normal, private Google-Termine nur als **»belegt«** ohne Titel/Details -- **Termin anlegen:** Klick auf freien Slot oder »+ Termin«-Knopf → M01 +- **Termin anlegen:** Klick auf freien Slot oder »+ Termin«-Knopf → [[M01 Quick Create]]; Weitere Optionen → [[M01b Termin-Dialog]] - **Termin öffnen:** Klick auf Termin → M02 (Detail-Popover) - **Verbinden-Hinweis** solange kein Google-Konto verbunden ist (dismissbar, mit »Verbinden«-Knopf → S02); Kalender ist auch ohne Verbindung voll nutzbar - **Re-Connect-Banner** bei kaputter Verbindung (Klartext + Lösungs-Knopf) -- Dezenter Hinweis bei frischen Sync-Konflikten mit Link zum Konflikt-Verlauf (S02) - Zahnrad → Kalender-Einstellungen (S02) - Zustände: leer (CTA Termin anlegen / Google verbinden), laden, Fehler +## Subframe-Arbeitsstand (Readback 2026-08-31) + +- Gebaut ist eine dichte Wochenansicht für `3.–9. August 2026` mit Zeitraster `07:00–18:00`, markiertem heutigen Tag und Mini-Monatskalender. +- Die linke Leiste enthält Quellenfilter für Google Kalender, Buchungen, Plantafel, Projekte und eigene Termine sowie drei Kolleg:innen als einblendbare Overlays. +- Die Beispieldaten zeigen alle fünf Quellen und einen privaten Kollegen-Termin nur als `Belegt`. Der frühere allgemeine Konfliktmarker im Grid wurde am 2026-08-30 entfernt. +- Im Kopf stehen Zeitraum-Navigation, Umschalter `Monat / Woche / Tag` und `Termin anlegen`. +- Als Fehlerzustand ist ein abgelaufenes Google-Token als Warnbanner sichtbar; unten steht zusätzlich `Kalender verbinden`. + +## Development-Hinweise (final) + +- In v1 werden Monat und Woche umgesetzt; der im Mock sichtbare Tag-Umschalter entfällt. +- Heute und der direkte Zugang zu S02 sind Pflichtaktionen. +- Der Re-Connect-Banner verwendet die konkrete Aktion Neu verbinden statt Aktion. +- Neu verbinden, Verbindungen verwalten und ein weiteres Konto verbinden werden anhand des Verbindungszustands getrennt. +- Empty-, Loading-, Permission- und Offline-Zustände folgen den globalen Standards und benötigen keine eigenen Kalender-Screens. + ## Pattern / Archetyp BESPOKE (Kalender-Grid, mittlerer Aufwand laut Ticket). Zustands-Set A7. ## Subframe -- (erst nach explizitem OK) +- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/238adab5-a284-4065-91b5-28cd894f6b31/edit) +- [Kalender-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md index 6161327e..46178ded 100644 --- a/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md @@ -4,35 +4,57 @@ project: HiveGrid Screen Project ticket: D-BOOK + D-P16 (Teil) package: WF-P16 Kalender id: S02 -screen: Kalender-Einstellungen & Sync +screen: Kalender-Verbindung +subframe_name: "S02 Kalender-Verbindungen V2" +subframe_page_id: "e95220a1-132a-445d-b785-d292385faa5e" typ: Settings (A6) umsetzung: Bauen -status: Validiert -route: "/calendar/settings" -subframe: "" +status: Fertig / Development-Handoff +route: "/settings/integrations/calendar" +subframe: "https://app.subframe.com/f023064a5ca0/design/e95220a1-132a-445d-b785-d292385faa5e/edit" +source_checked: 2026-08-31 --- -# S02 — Kalender-Einstellungen & Sync +# S02 — Kalender-Verbindung ## Ziel -Sein eigenes Google-Konto verbinden und den Abgleich steuern — pro Mitarbeiter, ohne Admin-Umweg. Erreichbar direkt aus dem Kalender (Zahnrad / Verbinden-Hinweis). +Sein eigenes Google-Konto verbinden und die verwendeten Kalender auswählen — pro Mitarbeiter, ohne eigenen Einstellungsbereich rund um das Kalender-Feature. ## Was das Tool können muss -- **Provider-Auswahl:** Google (aktiv) · Outlook (**ausgegraut, »bald verfügbar«** — v2); UI bleibt provider-neutral -- **Verbinden:** startet den OAuth-Assistenten im WF-P5-Muster (M01) → danach Connect-Card mit Status-Ampel, verbundenem Konto (E-Mail), letzter Sync-Zeit -- **Kalender-Auswahl:** welche Google-Kalender abgeglichen werden (Checkbox-Liste) -- **Sync-Richtung:** beide Richtungen · nur HiveGrid → Google · nur Google → HiveGrid -- **Trennen** mit »auch extern entfernen?«-Wahl (Trennen-Modal aus WF-P5 M03, erweitert um die Extern-Wahl) — kein Hard-Delete -- **Re-Connect-Banner** bei kaputter Verbindung (Token abgelaufen o. ä.) -- **Konflikt-Verlauf-Sektion:** letzte 50 automatische Auflösungen in Klartext — »Termin ›Wartung Müller‹ wurde in Google auf 14:00 verschoben — HiveGrid hat übernommen« (Last-Write-Wins); jede Auflösung erzeugt zusätzlich eine Benachrichtigung -- Hinweis: Verbindung ist **pro Mitarbeiter** — jeder verwaltet hier nur sein eigenes Konto; fremde Termin-Inhalte bleiben privat (nur »belegt«) +- **Provider-Auswahl:** Google aktiv; Outlook darf als ausgegrauter Teaser `Demnächst` sichtbar bleiben. +- **Verbinden:** startet den OAuth-Assistenten im WF-P5-Muster; danach zeigt eine Connection-Card Konto, Status und letzten Sync. +- **Kalender-Auswahl:** Checkbox-Liste der Google-Kalender, die in HiveGrid erscheinen sollen. +- **Neu verbinden:** klare Fehlerbehebung bei abgelaufener oder getrennter Verbindung. +- **Trennen:** kurzer Standard-Confirm; kein eigener Kalender-Unterflow. +- Die Verbindung ist **pro Mitarbeiter**. Andere sehen bei privaten Fremdterminen weiterhin nur `Belegt`. +- Bewusst nicht enthalten: eigene Ansichts-, Benachrichtigungs- oder Datenschutzseite, Sync-Richtung, Konfliktverlauf und separates Verbindungsdetail. + +## Subframe-Arbeitsstand (Readback 2026-08-31) + +Der Live-Screen wurde am 2026-08-30 als `S02 Kalender-Verbindungen V2` neu aufgebaut. Er verwendet die bestehende `DefaultPageLayoutWithInnerSidebar`-App-Shell und tatsächlich die Subframe-Komponente `SettingsPage` mit `SectionHeader`, zwei `NeutralCard`-Flächen und `Divider`-Elementen. + +Der Inhalt bleibt bewusst kompakt: Google als verbundener Provider, letzter Sync, vier auswählbare Kalender, `Neu verbinden`, `Trennen` sowie Outlook als Teaser. Der mehrdeutige Link `Verbindung hinzufügen` ist entfernt. + +Entfernt wurden die seitliche Unterseiten-Navigation, der zusätzliche Datenschutz-Hinweis sowie die drei separaten Subframe-Seiten `Kalenderansicht`, `Benachrichtigungen` und `Datenschutz`. Die zuvor leere Untitled-Seite war beim Kontrolllauf bereits nicht mehr vorhanden. + +## Audit Einstellungsumfang (2026-08-31) + +Der Eindruck, dass vorher mehr Einstellungen vorhanden waren, ist richtig. Frühere Stände enthielten zusätzlich `Kalenderansicht`, `Benachrichtigungen`, `Datenschutz`, eine `Sync-Richtung` und einen `Konfliktverlauf`. + +Das Fehlen ist kein versehentlicher Verlust beim Komponentenumbau: Die drei Unterseiten wurden nach der Produktvereinfachung vom 2026-08-30 entfernt; Sync-Richtung und Konfliktverlauf widersprechen ebenfalls dem einfachen v1-Scope. S02 bleibt deshalb bewusst der einzige Kalender-Einstellungs-Screen und bündelt nur Verbindung, Status, Kalenderauswahl, Neu verbinden und Trennen. + +## Development-Hinweise (final) + +- **Re-Connect und Zustände fehlen:** Gezeigt wird nur `Verbunden`. Unverbunden, OAuth-Einstieg, abgelaufenes Token, laufender Sync und fehlende Berechtigung sind nicht als S02-Zustände sichtbar. +- **Globale Settings-Navigation bleibt Platzhalter:** Die wiederverwendete innere Sidebar zeigt noch `Account` und generische `Platzhalter`. Das ist kein Kalender-Untermenü, muss aber mit der finalen globalen Settings-Informationsarchitektur benannt werden. ## Pattern / Archetyp -A6 Settings/Connection — Connection-Card-Muster aus WF-P5 Integrationen; Konflikt-Verlauf analog Abgleich-Verlauf (WF-P5 S03), hier nur als Sektion. +A6 Settings/Connection — `DefaultPageLayoutWithInnerSidebar` + echte `SettingsPage`-Komponente mit kompakten Connection-Cards. ## Subframe -- (erst nach explizitem OK) +- [Verbindungen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/e95220a1-132a-445d-b785-d292385faa5e/edit) +- [Kalender-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas b/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas index 6de34c32..41cf20f1 100644 --- a/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas @@ -1,42 +1,235 @@ { - "nodes":[ - {"id":"md-paket","type":"file","file":"02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.md","x":-80,"y":-440,"width":460,"height":280}, - {"id":"group-kalender","type":"group","x":-80,"y":-100,"width":1140,"height":380,"label":"Kalender (Desktop, Bespoke)"}, - {"id":"group-dialoge","type":"group","x":-80,"y":460,"width":1140,"height":380,"label":"Termin-Dialoge"}, - {"id":"group-sync","type":"group","x":1300,"y":-100,"width":1120,"height":380,"label":"Einstellungen & Sync (pro Nutzer)"}, - {"id":"note-entry","type":"text","text":"# Einstieg\n\nSidebar → Kalender.\n\nQuellen: Google · Buchung · Plantafel · Projekt · eigene Termine. Kollegen als Overlay einblendbar (fremde private Google-Termine nur »belegt«).","x":0,"y":0,"width":360,"height":200}, - {"id":"s01","type":"file","file":"02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S01 Kalender.md","x":560,"y":0,"width":420,"height":200}, - {"id":"m01","type":"file","file":"02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Termin-Dialog.md","x":0,"y":560,"width":420,"height":200}, - {"id":"m02","type":"file","file":"02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M02 Termin-Detail.md","x":580,"y":560,"width":420,"height":200}, - {"id":"s02","type":"file","file":"02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md","x":1340,"y":0,"width":420,"height":200}, - {"id":"note-sync","type":"text","text":"# Wiederverwendet aus WF-P5\n\nOAuth-Assistent (M01) + Trennen-Modal (M03, + »auch extern entfernen?«).\n\nOutlook als Teaser »bald verfügbar« (v2). Konflikt-Verlauf als Sektion hier.","x":1900,"y":0,"width":460,"height":200} - ], - "edges":[ - { - "id":"e-entry", - "fromNode":"note-entry", - "fromSide":"right", - "toNode":"s01", - "toSide":"left", - "toEnd":"arrow", - "styleAttributes":{"path":"dotted"} - }, - {"id":"e-new","fromNode":"s01","fromSide":"bottom","toNode":"m01","toSide":"top","toEnd":"arrow","label":"Slot-Klick / + Termin"}, - {"id":"e-open","fromNode":"s01","fromSide":"bottom","toNode":"m02","toSide":"top","toEnd":"arrow","label":"Termin-Klick"}, - {"id":"e-edit","fromNode":"m02","fromSide":"left","toNode":"m01","toSide":"right","toEnd":"arrow","label":"Bearbeiten"}, - {"id":"e-settings","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","toEnd":"arrow","label":"Zahnrad / Verbinden"}, - { - "id":"e-sync-note", - "fromNode":"note-sync", - "fromSide":"left", - "toNode":"s02", - "toSide":"right", - "toEnd":"arrow", - "styleAttributes":{"path":"dotted"} - } - ], - "metadata":{ - "version":"1.0-1.0", - "frontmatter":{} - } -} \ No newline at end of file + "nodes": [ + { + "id": "md-paket", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.md", + "x": -80, + "y": -440, + "width": 460, + "height": 280 + }, + { + "id": "group-kalender", + "type": "group", + "label": "Kalender (Desktop, Bespoke)", + "x": -80, + "y": -100, + "width": 1140, + "height": 380 + }, + { + "id": "group-dialoge", + "type": "group", + "label": "Termin anlegen, öffnen und Änderungen senden", + "x": -80, + "y": 460, + "width": 1640, + "height": 760 + }, + { + "id": "group-sync", + "type": "group", + "label": "Kalender-Verbindung (schlank)", + "x": 1800, + "y": -100, + "width": 1120, + "height": 760 + }, + { + "id": "note-entry", + "type": "text", + "text": "# Einstieg\n\nSidebar → Kalender.\n\nQuellen: Google · Buchung · Plantafel · Projekt · eigene Termine. Kollegen als Overlay einblendbar; fremde private Google-Termine nur »belegt«.", + "x": 0, + "y": 0, + "width": 360, + "height": 200 + }, + { + "id": "s01", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S01 Kalender.md", + "x": 560, + "y": 0, + "width": 420, + "height": 200 + }, + { + "id": "4c8e1a7d3b6f9025", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01 Quick Create.md", + "x": 0, + "y": 560, + "width": 420, + "height": 200 + }, + { + "id": "c71a05e48fb293d6", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01a Quick Create Edit Mode.md", + "x": 0, + "y": 900, + "width": 420, + "height": 200 + }, + { + "id": "m01", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M01b Termin-Dialog.md", + "x": 560, + "y": 560, + "width": 420, + "height": 200 + }, + { + "id": "m02", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M02 Termin-Detail.md", + "x": 1120, + "y": 560, + "width": 420, + "height": 200 + }, + { + "id": "83f1b6d2a9c407e5", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/M03 Änderungen per E-Mail senden.md", + "x": 560, + "y": 900, + "width": 420, + "height": 200 + }, + { + "id": "s02", + "type": "file", + "file": "02 Wireframes/P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md", + "x": 1840, + "y": 0, + "width": 420, + "height": 200 + }, + { + "id": "note-sync", + "type": "text", + "text": "# Einheitliches Settings-Muster\n\nDefaultPageLayoutWithInnerSidebar + SettingsPage.\n\nGenau ein Kalender-Einstellungs-Screen: Verbindung, Status, Kalenderauswahl, Neu verbinden und Trennen.\n\nOrt: /settings/integrations/calendar. Kein Verbindungsdetail und kein Sync-Konfliktverlauf.", + "x": 2400, + "y": 0, + "width": 460, + "height": 240 + }, + { + "id": "6a2c0e91d4b8f3a7", + "type": "link", + "url": "https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit", + "x": 1840, + "y": 320, + "width": 420, + "height": 180 + }, + { + "id": "9d1e5b7c2a4f8063", + "type": "text", + "text": "# Fertig · Development-Handoff\n\nStand: 2026-08-31\n\n- 7 finale Live-Seiten synchronisiert\n- M01 Quick Create bleibt der Standardweg\n- M01a bearbeitet Datum und Zeit inline\n- nur die zweispaltige Vollansicht bleibt als M01b\n- M03 fragt nach E-Mail-Versand bei Änderungen\n- Einstellungen bleiben genau ein Verbindungs-Screen\n- kein Konfliktfeature; nur kleiner Personen-Badge", + "x": 2400, + "y": 320, + "width": 460, + "height": 340 + } + ], + "edges": [ + { + "id": "e-entry", + "fromNode": "note-entry", + "fromSide": "right", + "toNode": "s01", + "toSide": "left", + "toEnd": "arrow", + "styleAttributes": { + "path": "dotted" + } + }, + { + "id": "e-new", + "fromNode": "s01", + "fromSide": "bottom", + "toNode": "4c8e1a7d3b6f9025", + "toSide": "top", + "toEnd": "arrow", + "label": "Slot-Klick / + Termin" + }, + { + "id": "b2d84f6a1c90e735", + "fromNode": "4c8e1a7d3b6f9025", + "fromSide": "bottom", + "toNode": "c71a05e48fb293d6", + "toSide": "top", + "toEnd": "arrow", + "label": "Datum/Uhrzeit bearbeiten" + }, + { + "id": "a7d3c9e1f6048b25", + "fromNode": "4c8e1a7d3b6f9025", + "fromSide": "right", + "toNode": "m01", + "toSide": "left", + "toEnd": "arrow", + "label": "Weitere Optionen" + }, + { + "id": "e-open", + "fromNode": "s01", + "fromSide": "bottom", + "toNode": "m02", + "toSide": "top", + "toEnd": "arrow", + "label": "Termin-Klick" + }, + { + "id": "e-edit", + "fromNode": "m02", + "fromSide": "left", + "toNode": "m01", + "toSide": "right", + "toEnd": "arrow", + "label": "Bearbeiten" + }, + { + "id": "91c4d7e2a6b805f3", + "fromNode": "m01", + "fromSide": "bottom", + "toNode": "83f1b6d2a9c407e5", + "toSide": "top", + "toEnd": "arrow", + "label": "Änderungen speichern" + }, + { + "id": "f3a8c1d6e2b90745", + "fromNode": "83f1b6d2a9c407e5", + "fromSide": "right", + "toNode": "m02", + "toSide": "bottom", + "toEnd": "arrow", + "label": "Mit / ohne E-Mail speichern" + }, + { + "id": "e-settings", + "fromNode": "s01", + "fromSide": "right", + "toNode": "s02", + "toSide": "left", + "toEnd": "arrow", + "label": "Einstellungen / Verbinden" + }, + { + "id": "e-sync-note", + "fromNode": "note-sync", + "fromSide": "left", + "toNode": "s02", + "toSide": "right", + "toEnd": "arrow", + "styleAttributes": { + "path": "dotted" + } + } + ] +} diff --git a/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.md b/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.md index cc607cb3..93fb2145 100644 --- a/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.md +++ b/02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.md @@ -4,23 +4,24 @@ project: HiveGrid Screen Project ticket: D-BOOK + D-P16 (Teil) package: WF-P16 Kalender typ: Flow -status: Validiert -subframe: "" +status: Fertig / Development-Handoff +subframe: "https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit" canvas: "WF-P16 Kalender.canvas" +source_checked: 2026-08-31 --- # WF-P16 Kalender -Status: Validiert (Screen-Liste) -Subframe-Link: - -Canvas: [Canvas]() -Stand: 2026-07-09 +Status: Fertig / Development-Handoff +Subframe-Link: [Subframe-Flow](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) +Canvas: [Canvas]() +Stand: 2026-08-31 --- ## 1. Kurzfassung -Der HiveGrid-Kalender: Monats-/Wochen-Ansicht mit allen Terminen (Google-Sync, Buchungen, Plantafel, Projekt-Termine — je mit Herkunfts-Marker). **Davids Delta: ein vollwertiger Kalender**, nicht nur eine Lese-Sicht — Termine anlegen, Personen einladen (Team, Kontakte, freie E-Mails), Kollegen-Kalender als Verfügbarkeits-Overlay einblenden. Funktioniert eigenständig ohne Google; Google-Sync ist optional (Outlook → v2, in der UI als »bald verfügbar« sichtbar). +Der Kalender bleibt ein bewusst kleines Feature: Termine aus Google, Buchungen, Plantafel, Projekten und HiveGrid in einer Wochen-/Monatsansicht sehen, schnell anlegen, öffnen und bearbeiten. Quick Create ist der Standardweg. Der vollständige Dialog erscheint nur über Weitere Optionen oder beim Bearbeiten. Nach relevanten Änderungen an einem bestehenden Termin entscheidet ein kleines Modal, ob die Teilnehmenden per E-Mail informiert werden. --- @@ -28,12 +29,11 @@ Der HiveGrid-Kalender: Monats-/Wochen-Ansicht mit allen Terminen (Google-Sync, B | Frage | Antwort | |---|---| -| Ticket/Modul | D-BOOK (Kalender-View) + D-P16 (Kalender-Verbindungen), Dev-Pendant AK-P16a | -| Nutzer-Ziel | Alle Termine an einem Ort sehen, neue Termine planen ohne Doppelbelegung, Google bleibt synchron | -| Quellen geprüft | `ticket-docs/D-BOOK.md`, `ticket-docs/D-P16.md`, `designer-briefs/P16-…md`, HiveGrid Map | -| Sicher im Scope | Kalender-Grid (Monat/Woche), Termin anlegen/bearbeiten + Einladen, Termin-Detail, Sync-Einstellungen inkl. Konflikt-Verlauf | -| Sicher nicht im Scope | Buchungsseiten + Verfügbarkeits-Editor (WF-P16 Terminbuchung); Plantafel (WF-P9); Outlook-Sync (v2) | -| Unsichere Annahmen | Termin-Objekt + Einladungen sind NICHT im Dev-Ticket — Change-Request nötig (s. Offene Fragen) | +| Ticket/Modul | D-BOOK (Kalender-View) + D-P16 (Kalender-Verbindungen) | +| Nutzer-Ziel | Termine zentral sehen und die meisten davon mit möglichst wenig Aufwand anlegen | +| Sicher im Scope | Kalender-Grid, Quick Create, Quick-Create-Edit-State, vollständiger Termin-Dialog, Termin-Detail, E-Mail-Entscheidung bei Änderungen und eine schlanke Google-Verbindungsseite | +| Sicher nicht im Scope | Buchungsseiten, Verfügbarkeits-Editor, Plantafel-Bearbeitung, Outlook-Sync v1, eigenes Konfliktfeature | +| Leitlinie | Zustände innerhalb bestehender Oberflächen bevorzugen; keine unnötigen Unterseiten | --- @@ -41,90 +41,131 @@ Der HiveGrid-Kalender: Monats-/Wochen-Ansicht mit allen Terminen (Google-Sync, B | Punkt | Inhalt | |---|---| -| Startpunkt | Sidebar »Kalender« | -| Ziel | Termin geplant (mit Teilnehmern, ohne Kollision) · Google verbunden und synchron | -| Haupt-Archetyp | **BESPOKE** (Kalender-Grid) + A6 (Einstellungen) | -| Out of scope | Booking-Pages, Plantafel-Einsätze (nur als Quelle sichtbar), Outlook | +| Startpunkt | Sidebar Kalender | +| Ziel | Termin schnell geplant oder geändert; Teilnehmende bei Bedarf per E-Mail informiert | +| Haupt-Archetyp | Bespoke Kalender-Grid + kompakte Dialoge + Settings | +| Out of scope | Booking-Pages, Plantafel-Einsätze als Bearbeitungsfläche, Outlook-Sync | --- -## 4. Entscheidungen (validiert 2026-07-09) +## 4. Entscheidungen | Entscheidung | Status | Notiz | |---|---|---| -| Vollwertiger Kalender statt reiner Lese-Sicht | genommen (Delta) | Termine anlegen/bearbeiten/löschen, »alles was man für einen Kalender braucht« — **Change-Request an Dev** (Ticket sah nur Grid + Marker vor) | -| Einladen: Team + Kontakte + freie E-Mails | genommen (Delta) | Interne sehen den Termin in ihrem HiveGrid-Kalender; Externe bekommen E-Mail mit Kalender-Datei (.ics); Zu-/Absagen sichtbar | -| Kollegen-Kalender einblendbar (Overlay) | genommen (Delta) | Vor dem Einladen prüfen, ob jemand Zeit hat; fremde private Google-Termine nur als »belegt« ohne Details | -| Eigener + fremde Kalender in einer Ansicht | genommen | Plantafel bleibt die Baustellen-/Einsatz-Sicht — der Kalender ist die Termin-Sicht | -| Verbinden-Einstieg direkt im Kalender | genommen | Hinweis-Karte solange nichts verbunden ist; danach über Zahnrad → Einstellungen. Kalender ist auch ohne Google voll nutzbar | -| Provider-Auswahl mit Outlook-Teaser | genommen | Google aktiv (v1), Outlook ausgegraut »bald verfügbar« — UI bleibt provider-neutral | -| Sync-Konflikt-Verlauf in den Einstellungen | genommen | Kleine Sektion (letzte 50, Klartext: was kollidierte, wie gelöst) — Muster wie Abgleich-Verlauf WF-P5; im Kalender nur dezenter Hinweis bei frischen Konflikten | -| OAuth-Assistent + Trennen-Modal aus WF-P5 wiederverwenden | genommen | Trennen mit »auch extern entfernen?«-Wahl | +| Vollwertiger Kalender | genommen | Termine können angelegt, geöffnet, bearbeitet und gelöscht werden | +| Quick Create als Standardweg | final | Slot-Klick und Termin anlegen öffnen M01; Weitere Optionen führt mit übernommenen Eingaben zu M01b | +| Datum/Uhrzeit direkt in Quick Create korrigieren | final | Klick auf die Zeitzeile wechselt in M01a mit Inline-Date-/Time-Pickern | +| Vollständiger Termin-Dialog | final | Nur die zweispaltige Version bleibt; V2 und V3 wurden gelöscht | +| Einladen: Team, Kontakte und freie E-Mails | genommen | Interne sehen den Termin in HiveGrid; Externe erhalten E-Mail und Kalenderdaten | +| Änderungen per E-Mail senden | final | M03 erscheint nach relevanten Änderungen an einem bestehenden Termin mit Teilnehmenden; Zurück, ohne E-Mail speichern oder E-Mail senden | +| Kollegen-Kalender als Overlay | genommen | Private Fremdtermine erscheinen nur als Belegt | +| Konflikte bewusst schlank | final | Kein eigener Konflikt-Screen oder Pop-up; nur ein kleiner Badge Möglicher Konflikt direkt an einer Person | +| Einstellungen auf Verbindung reduzieren | final | Eine Seite für Google-Status, Kalenderauswahl, neu verbinden und trennen | +| Outlook | Backlog | In S02 nur als deaktivierter Demnächst-Teaser | ### Happy Path -1. Mitarbeiter öffnet Kalender (Woche), sieht eigene Termine quell-farbig (Google / Buchung / Plantafel / Projekt / eigene). -2. Klick auf freien Slot → Termin-Dialog: Titel, Zeit, Teilnehmer (Kollege @Max, Kontakt Müller, freie E-Mail) — beim Hinzufügen zeigt der Dialog, wer belegt ist; optional Kollegen-Kalender als Overlay einblenden. -3. Speichern → Interne sehen den Termin sofort, Externe bekommen Mail mit .ics; Zu-/Absagen laufen am Termin auf. -4. Einmalig: »Google verbinden« → OAuth (P5-Muster) → Kalender auswählen, Sync-Richtung — ab da läuft alles synchron. +1. Mitarbeiter öffnet S01 und sieht Termine aus allen Quellen. +2. Slot-Klick oder Termin anlegen öffnet M01 Quick Create mit vorausgefüllter Zeit. +3. Klick auf die Zeitzeile wechselt bei Bedarf in M01a und danach zurück in den kompakten Zustand. +4. Speichern legt einen einfachen Termin direkt an. +5. Weitere Optionen öffnet M01b für zusätzliche Angaben. +6. Termin-Klick öffnet M02; Bearbeiten führt bei eigenen Terminen zu M01b. +7. Wird ein bestehender Termin mit Teilnehmenden relevant geändert, öffnet Speichern M03. +8. M03 speichert ohne E-Mail oder speichert und versendet die aktualisierten Termindaten per E-Mail. -### Meldungs-/Error-States (validiert) +### Zustände -| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz | +| Ereignis | UI-Form | Blockiert? | Status | +|---|---|---|---| +| Kein Google verbunden | Hinweis in S01 und Verbindungsbereich in S02 | nein | dokumentiert | +| Verbindung abgelaufen | Re-Connect-Banner in S01 und Aktion in S02 | nein | in S01 sichtbar | +| Person möglicherweise belegt | Kleiner Badge direkt an der Person | nein | in M01b sichtbar | +| Fremder privater Google-Termin | Belegt-Block ohne Details | nein | in S01 sichtbar | +| Einladungs-Mail unzustellbar | Hinweis am Teilnehmer plus erneut senden | nein | in M02 sichtbar | +| Änderungen an bestehendem Termin | M03 E-Mail-Entscheidung | ja, bis Entscheidung | gebaut | +| Leerer Kalender | Empty State mit Termin-/Google-CTA | nein | nur dokumentiert | + +--- + +## 5. Validierte Screen-Liste + +| ID | Screen/Zustand | Typ | Ort | Status | |---|---|---|---|---| -| Kein Google verbunden | Hinweis-Karte in S01 (dismissbar) + Bereich in S02 | nein | Nur dokumentieren | »Verbinde deinen Google-Kalender …« — Kalender funktioniert trotzdem | -| Verbindung kaputt (Token abgelaufen) | Re-Connect-Banner in S01 + S02 | nein | Nur dokumentieren | Klartext + »Neu verbinden«-Knopf | -| Sync-Konflikt (beidseitige Änderung) | Benachrichtigung (Glocke) + Eintrag im Konflikt-Verlauf (S02) | nein | Nur dokumentieren | »Termin X wurde in Google auf 14:00 verschoben — HiveGrid hat übernommen« (Last-Write-Wins) | -| Teilnehmer belegt | Inline-Warnung im Termin-Dialog | nein (bewusst buchbar) | in M01 enthalten | »Max ist 9–12 Uhr belegt« — analog Plantafel-Konflikt, aber ohne Block | -| Fremder privater Google-Termin | nur »belegt«-Block ohne Titel/Details | nein | Nur dokumentieren | Datenschutz-Vorgabe aus dem Ticket | -| Einladungs-Mail unzustellbar | Hinweis am Teilnehmer in M02 | nein | Nur dokumentieren | Bounce-Marker + erneut senden | -| Leerer Kalender | Leer-Zustand + CTA (Termin anlegen / Google verbinden) | nein | Nur dokumentieren | — | +| S01 | Kalender | Bespoke Grid | /calendar | Fertig / Development-Handoff | +| M01 | Quick Create | Kompakter Dialog | Slot-Klick / Termin anlegen | Fertig / Development-Handoff | +| M01a | Quick Create Edit Mode | Zustand von M01 | Klick auf Zeitzeile | Fertig / Development-Handoff | +| M01b | Termin vollständig anlegen/bearbeiten | Modal | Weitere Optionen / Bearbeiten | Fertig / Development-Handoff | +| M02 | Termin-Detail | Popover | Termin-Klick | Fertig / Development-Handoff | +| M03 | Änderungen per E-Mail senden | Bestätigungsmodal | Speichern eines geänderten Termins | Fertig / Development-Handoff | +| S02 | Kalender-Verbindungen | Settings | /settings/integrations/calendar | Fertig / Development-Handoff | + +Wiederverwendet werden der OAuth-Assistent und das Trennen-Modal aus WF-P5. Sie sind keine zusätzlichen Kalender-Screens. --- -## 7. Validierte Screen-Liste +## 6. Flow -| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status | -|---|---|---|---|---|---| -| S01 | Kalender (Monat/Woche, Quell-Marker, Kollegen-Overlay) ⭐ | BESPOKE | Bauen | `/calendar` | Validiert | -| M01 | Termin anlegen/bearbeiten (Teilnehmer + Verfügbarkeits-Check) | Modal | Bauen | aus S01 (Slot-Klick / + Termin) | Validiert | -| M02 | Termin-Detail (Quelle + Absprung, Zu-/Absagen) | Popover | Bauen | Termin-Klick in S01 | Validiert | -| S02 | Kalender-Einstellungen & Sync (Provider, Kalender-Auswahl, Richtung, Konflikt-Verlauf) | Settings (A6) | Bauen | `/calendar/settings` | Validiert | -| D01 | OAuth-Assistent | Wiederverwenden | Wiederverwenden | WF-P5 M01 | Validiert | -| D02 | Trennen-Bestätigung (»auch extern entfernen?«) | Wiederverwenden | Wiederverwenden | WF-P5 M03 (+ Extern-Wahl) | Validiert | -| D03–D07 | Verbinden-Hinweis / Re-Connect / Konflikt / »belegt« / Leer (s. Tabelle) | Inline | Nur dokumentieren | — | Validiert | +- Sidebar → S01 +- S01 → M01 über Slot-Klick oder Termin anlegen +- M01 → M01a über Klick auf Datum/Uhrzeit +- M01a → M01 mit aktualisiertem Zeitraum +- M01 → M01b über Weitere Optionen +- S01 → M02 über Termin-Klick +- M02 → M01b über Bearbeiten +- M01b → M03, wenn ein bestehender Termin mit Teilnehmenden relevant geändert wurde +- M03 → M01b über Zurück +- M03 → Kalender beziehungsweise Termin-Detail über Ohne E-Mail speichern oder E-Mail senden +- S01 → S02 über Verbinden beziehungsweise Einstellungen --- -## 8. Grid +## 7. Screen-Dateien -```text -Sidebar -> S01 (Monat/Woche, Quellen: Google + Buchung + Plantafel + Projekt + eigene) -S01 -> M01 (Slot-Klick / »+ Termin«: anlegen mit Teilnehmern + Verfügbarkeits-Check) -S01 -> M02 (Termin-Klick: Detail-Popover, Quelle-Absprung, Zu-/Absagen) -M02 -> M01 (Bearbeiten, nur bei eigenen Terminen) -S01 -> S02 (Zahnrad / Verbinden-Hinweis: Provider, Kalender-Auswahl, Sync-Richtung, Konflikt-Verlauf) -S02 nutzt WF-P5: OAuth-Assistent (M01) + Trennen-Modal (M03) -Quell-Absprünge: Buchung -> WF-P16 Terminbuchung · Einsatz -> WF-P9 Plantafel · Projekt-Termin -> WF-P9 Projekt-Akte -``` +- [[S01 Kalender]] +- [[M01 Quick Create]] +- [[M01a Quick Create Edit Mode]] +- [[M01b Termin-Dialog]] +- [[M02 Termin-Detail]] +- [[M03 Änderungen per E-Mail senden]] +- [[S02 Kalender-Einstellungen]] --- -## 9. Screen-Pakete +## 8. Subframe-Vollabgleich -- [[S01 Kalender]] · [[M01 Termin-Dialog]] · [[M02 Termin-Detail]] · [[S02 Kalender-Einstellungen]] +Der Flow enthält aktuell genau sieben Live-Seiten für sieben dokumentierte Screens beziehungsweise Zustände. Die gelöschten Seiten M01 V2, M01 V3 und der frühere Quick-Create-Picker sind nicht mehr Teil des Pakets. ---- +| Subframe-Seite | Logische Zuordnung | Befund | Link | +|---|---|---|---| +| S01 Kalender V1 | S01 | Wochenansicht mit Quellen und Kollegen-Overlay | [Subframe](https://app.subframe.com/f023064a5ca0/design/238adab5-a284-4065-91b5-28cd894f6b31/edit) | +| M01 Quick Create | M01 | Kompakter Standardweg | [Subframe](https://app.subframe.com/f023064a5ca0/design/a4088a8a-fab2-433c-b2ff-46a521640999/edit) | +| M01a Quick Create Edit Mode | M01a | Inline-Felder für Start und Ende | [Subframe](https://app.subframe.com/f023064a5ca0/design/1c0335d4-b6c9-4418-9ee6-f817928720e7/edit) | +| M01 Termin anlegen V4 Zweispaltig | M01b | Einzige verbliebene Vollansicht | [Subframe](https://app.subframe.com/f023064a5ca0/design/eaf3f0ba-f80f-4ba3-b0a1-16e2695a2122/edit) | +| M02 Termindetail Popover V1 | M02 | Termin-Detail mit Teilnehmerstatus und Antwortaktionen | [Subframe](https://app.subframe.com/f023064a5ca0/design/99fbcf22-50fd-42de-9243-278d1ef746c1/edit) | +| M03 Änderungen per E-Mail senden | M03 | Google-ähnliche Entscheidung mit drei Aktionen | [Subframe](https://app.subframe.com/f023064a5ca0/design/3bac63a2-82fe-487a-9a0a-0dab263cc6d0/edit) | +| S02 Kalender-Verbindungen V2 | S02 | Eine schlanke Verbindungsseite | [Subframe](https://app.subframe.com/f023064a5ca0/design/e95220a1-132a-445d-b785-d292385faa5e/edit) | -## 10. Offene Fragen +### High-Level-Bewertung -- **Change-Request an Dev (groß):** Eigenes Termin-Objekt + Einladungen (Team/Kontakt/freie E-Mail, .ics-Versand, Zu-/Absage-Tracking) + Free/Busy-Overlay — Ticket AK-P16a sah nur Lese-Grid + Sync vor; ENTITY-MODEL Domäne 9 braucht Ergänzung -- Zu-/Absage-Tracking bei internen Teilnehmern: eigener Status oder reicht angenommen/abgelehnt wie extern? → Dev -- Erinnerungen vor Terminen (Push/Mail)? → v2-Kandidat, mit Benachrichtigungen (P3) klären -- Tages-Ansicht zusätzlich zu Monat/Woche? → beim Subframe-Bau entscheiden +Der Satz ist für den einfachen Kalender ausreichend. M01a und M03 sind klar begrenzte Zustände, keine eigenen tiefen Features. Zusätzliche Seiten für Konflikte, Datenschutz, Benachrichtigungseinstellungen oder ein Verbindungsdetail sind nicht nötig. + +### Finaler Development-Vertrag + +- S01 implementiert in v1 Monat und Woche. Der im statischen Mock sichtbare Tag-Umschalter wird nicht übernommen. +- S01 erhält Heute, einen direkten Zugang zu S02 und im Re-Connect-Banner die konkrete Aktion Neu verbinden. +- M01a und M01b übernehmen Datum und Uhrzeit immer aus dem gewählten Slot beziehungsweise bestehenden Termin; die sichtbaren Platzhalter sind nur Design-Daten. +- M02 wird rollen- und quellenabhängig ausgespielt: Organisatoren sehen Bearbeiten/Löschen, eingeladene Nutzer Zusagen/Ablehnen und fremde Quellen nur den passenden Absprung. Duplizieren und Verschieben sind nicht Teil von v1. +- Bounce wird in der Nutzeroberfläche als Nicht zustellbar bezeichnet. +- Der ältere technische Subframe-Name von M01b ist kein Implementierungsbegriff und blockiert den Handoff nicht. +- Empty-, Loading-, Error-, Permission- und Offline-Zustände verwenden bestehende globale Standards und benötigen keine zusätzlichen Kalender-Screens. ## Handoff-Check -- [x] Jeder Screen ist mit Umsetzung markiert. -- [x] Meldungs-/Error-State-Matrix ist ausgefüllt. -- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)* +- [x] Alle sieben Live-Seiten sind erfasst. +- [x] Gelöschte Varianten und tote Links sind aus dem Paket entfernt. +- [x] Quick Create und Edit Mode entsprechen der aktuellen Benennung. +- [x] M03 ist gebaut, gerendert und dokumentiert. +- [x] Der Konfliktumfang bleibt auf den kleinen Personen-Badge beschränkt. +- [x] Sichtbare Mock-Abweichungen sind als verbindliche Development-Regeln entschieden. +- [x] Das Kalender-Paket ist bereit für Development. diff --git a/02 Wireframes/P2 Set Password/WF-P2 Set Password/Screens/S06 Abschluss.md b/02 Wireframes/P2 Set Password/WF-P2 Set Password/Screens/S06 Abschluss.md index 86b3d5c3..ace7e327 100644 --- a/02 Wireframes/P2 Set Password/WF-P2 Set Password/Screens/S06 Abschluss.md +++ b/02 Wireframes/P2 Set Password/WF-P2 Set Password/Screens/S06 Abschluss.md @@ -9,7 +9,7 @@ typ: Auth Feedback umsetzung: Bauen status: In Subframe route: auth-core set-password done -subframe: "https://app.subframe.com/f023064a5ca0/design/4bd741f3-92a2-495b-4ddb-8db2-670042df98b8/edit" +subframe: "https://app.subframe.com/f023064a5ca0/design/4bd741f3-92a2-495b-9db2-670042df98b8/edit" --- # S06 — Abschluss diff --git a/02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas b/02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas index bd65270c..7f0c9b7f 100644 --- a/02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas +++ b/02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas @@ -1,301 +1,71 @@ { - "nodes": [ - { - "id": "group-main", - "type": "group", - "x": -80, - "y": -100, - "width": 1840, - "height": 420, - "label": "Hauptflow" - }, - { - "id": "group-anlage", - "type": "group", - "x": -80, - "y": 480, - "width": 1240, - "height": 400, - "label": "Anlegen und Einbettung" - }, - { - "id": "group-schnell", - "type": "group", - "x": 1260, - "y": 480, - "width": 1000, - "height": 400, - "label": "Schnellzugriff (Davids Delta)" - }, - { - "id": "7e2a1c4b9d6f8031", - "type": "group", - "x": -80, - "y": 1040, - "width": 3640, - "height": 720, - "label": "Finales Subframe-Inventar · 16 Seiten · Development-Handoff", - "color": "4" - }, - { - "id": "note-entry", - "type": "text", - "text": "# Einstieg\n\nSidebar → Aufgaben (`/tasks`).", - "x": 0, - "y": 0, - "width": 360, - "height": 200 - }, - { - "id": "s01", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/S01 Aufgaben-Liste.md", - "x": 560, - "y": 0, - "width": 420, - "height": 200 - }, - { - "id": "s02", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/S02 Aufgaben-Detail.md", - "x": 1240, - "y": 0, - "width": 420, - "height": 200 - }, - { - "id": "md-paket", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.md", - "x": -80, - "y": -440, - "width": 460, - "height": 280 - }, - { - "id": "m01", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/M01 Aufgabe anlegen.md", - "x": -20, - "y": 580, - "width": 420, - "height": 200 - }, - { - "id": "v01", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/V01 Eingebettete Kompakt-Variante.md", - "x": 460, - "y": 580, - "width": 420, - "height": 200 - }, - { - "id": "note-topbar", - "type": "text", - "text": "# Einstieg\n\nTopbar-Button »Meine Aufgaben« (Davids Ergänzung).", - "x": 1340, - "y": 580, - "width": 320, - "height": 200 - }, - { - "id": "s03", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/S03 Aufgaben-Drawer.md", - "x": 1780, - "y": 580, - "width": 420, - "height": 200 - }, - { - "id": "c41e8a206bd9537f", - "type": "text", - "text": "# Subframe-Quelle · final\n\n[Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/192a194e-bb51-4f4c-9f02-7c05d26584e8/edit)\n\nProjekt `Basedesign` · Flow-ID `192a194e-bb51-4f4c-9f02-7c05d26584e8`\n\n⚠️ Flow heißt weiterhin `WF-P16 Aufgaben`; Paket/Ticket bleiben `WF-P4` / `D-P4`.\n\nStand: 2026-08-23 · finaler Live-Readback **16 Seiten**: S01, S02, S03, M01, zwei V01-Repräsentationen und zehn Interaktionsmodals. Mobile und reine Zustandsseiten sind nicht Teil von Subframe; ihr Vertrag steht in Z01.", - "x": 0, - "y": 1100, - "width": 480, - "height": 500, - "color": "3" - }, - { - "id": "b7d30f1a68c2459e", - "type": "text", - "text": "# S01 Liste · aktuelle Basis\n\n[S01 B3 · Kompakter Statuspunkt](https://app.subframe.com/f023064a5ca0/design/7dcb65c5-ba2c-490a-ad06-8758e8e6e913/edit)\n`7dcb65c5-ba2c-490a-ad06-8758e8e6e913`\n\nB3 ersetzt den früheren B-Screen als sichtbare Flow-Basis.\n\nErgänzte Wege: einzelnes Löschen, Bulk-Löschen, offene Checklistenpunkte, Duplizieren und Filter-Preset. Empty/Error/Feedback nur in Z01.", - "x": 560, - "y": 1100, - "width": 520, - "height": 440, - "color": "3" - }, - { - "id": "f192bc804da63e71", - "type": "text", - "text": "# S02 Detail · Versuch 4 final\n\n[Verlauf im Fokus](https://app.subframe.com/f023064a5ca0/design/b4e91d35-0d28-43d1-941e-e67a7ec3d834/edit)\n`b4e91d35-0d28-43d1-941e-e67a7ec3d834`\n\n`Dialog Fullscreen` bleibt direkte Wurzel. Route `/tasks/:id`; Kopf/Banner voll; Eigenschaften links, Arbeitsinhalt rechts.\n\n**Dropdown-Vertrag:** Statusbadges · ProjectCard-Priorität: Niedrig grün, Mittel gelb, Hoch rot, Kritisch violett; jeweils Vier-Strich-Indikator links + Badge rechts · Markus Weber + Personen/Gruppen · Date-/Multi-Selects · Erinnerung · Format · Sortierung. Kopf-, Anhang- und Verknüpfungsmenüs bleiben vollständig.\n\n**Ergänzt 23.08.:** `Notiz hinzufügen` im Verlaufskopf; pro Ereignis nur noch einmal `Datum · Uhrzeit` statt doppelter Datumzeile.\n\n**Gelöscht 23.08.:** 1/2/3/5 und Legacy V1/V2; sechs UUIDs ohne Referenzen im Paketprotokoll. Fünf technische Entwürfe waren bereits nicht mehr im Flow.", - "x": 1160, - "y": 1100, - "width": 520, - "height": 620, - "color": "3" - }, - { - "id": "2a6e9c13b5d8407f", - "type": "text", - "text": "# S03 Drawer · final\n\n[S03 öffnen](https://app.subframe.com/f023064a5ca0/design/c7978061-8467-49d9-adf3-614301843bb2/edit)\n`c7978061-8467-49d9-adf3-614301843bb2`\n\nKopf `Meine Aufgaben` ohne Tabs; kompakter Überfällig-Hinweis; farbige Zeitgruppen; klickbares Accordion ohne graue Fläche; Verknüpfung unter Titel; Datum/Priorität rechts untereinander; Footer-Aktionen `Neue Aufgabe` und `Vollansicht`.", - "x": 1760, - "y": 1100, - "width": 520, - "height": 440, - "color": "3" - }, - { - "id": "8c5f137ad024e69b", - "type": "text", - "text": "# M01 Anlegen · final\n\n[M01 V5 · Inhalt + Planung](https://app.subframe.com/f023064a5ca0/design/826b6837-a486-42c8-bbe6-d3745528993e/edit)\n`826b6837-a486-42c8-bbe6-d3745528993e`\n\nEine Oberfläche, drei Datenmodi: global mit leerer Verknüpfung, aus Objektkontext vorbefüllt und Duplizieren als bearbeitbare Kopie.\n\nTerminologie verbindlich `Fälligkeit`; M05 schützt Dirty-Close. M01b/M01c sind nicht mehr im Live-Flow.", - "x": 2360, - "y": 1100, - "width": 520, - "height": 500, - "color": "3" - }, - { - "id": "de903a17c6b5428f", - "type": "text", - "text": "# V01 Einbettung · final\n\n[A · Kompakte Tabelle](https://app.subframe.com/f023064a5ca0/design/7dd5df56-7cea-445b-91f2-29b9f1fbb407/edit)\n`7dd5df56-7cea-445b-91f2-29b9f1fbb407`\n\n[Minimal · Sidebar-Liste](https://app.subframe.com/f023064a5ca0/design/841f9e3f-ca13-4fed-aac6-6977cea19a03/edit)\n`841f9e3f-ca13-4fed-aac6-6977cea19a03`\n\nA ist die datenreiche Tabelle mit Bulk-Aktionen. Minimal ist die reduzierte, nach Fälligkeit gruppierte Accordion-Liste. Beide sind objektbezogen vorgefiltert.", - "x": 2960, - "y": 1100, - "width": 520, - "height": 440, - "color": "3" - }, - { - "id": "a91f2c7e4b6d8035", - "type": "group", - "x": -80, - "y": 1880, - "width": 1840, - "height": 620, - "label": "Finale Interaktionen und Development-Zustände", - "color": "4" - }, - { - "id": "b23e7d91a4c6508f", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/M02-M09 Interaktionsmodals.md", - "x": 0, - "y": 1980, - "width": 700, - "height": 400, - "color": "5" - }, - { - "id": "c47a1f93d6e5208b", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/Z01 Zustände und Feedback.md", - "x": 900, - "y": 1980, - "width": 700, - "height": 400, - "color": "6" - } - ], - "edges": [ - { - "id": "e-entry", - "styleAttributes": { - "path": "dotted" - }, - "fromNode": "note-entry", - "fromSide": "right", - "toNode": "s01", - "toSide": "left" - }, - { - "id": "e-open", - "fromNode": "s01", - "fromSide": "right", - "toNode": "s02", - "toSide": "left", - "label": "Zeile öffnen" - }, - { - "id": "e-topbar", - "styleAttributes": { - "path": "dotted" - }, - "fromNode": "note-topbar", - "fromSide": "right", - "toNode": "s03", - "toSide": "left" - }, - { - "id": "e-drawer", - "toFloating": false, - "fromNode": "s03", - "fromSide": "top", - "toNode": "s02", - "toSide": "bottom", - "label": "Eintrag öffnen" - }, - { - "id": "e-new", - "fromFloating": false, - "fromNode": "s01", - "fromSide": "bottom", - "toNode": "m01", - "toSide": "top", - "label": "M01 · global, Objektkontext oder Duplikatmodus" - }, - { - "id": "e-variant", - "styleAttributes": { - "path": "short-dashed" - }, - "fromNode": "v01", - "fromSide": "top", - "toNode": "s01", - "toSide": "bottom", - "label": "kompakte Ausführung von S01" - }, - { - "id": "d58c1a7e3f9062b4", - "fromNode": "s01", - "fromSide": "bottom", - "toNode": "b23e7d91a4c6508f", - "toSide": "top", - "label": "Löschen · Bulk · Preset · Duplizieren" - }, - { - "id": "e69d2b8f4a0173c5", - "fromNode": "s02", - "fromSide": "bottom", - "toNode": "b23e7d91a4c6508f", - "toSide": "top", - "label": "Löschen · Erledigen · Verknüpfen · Notiz · Datei" - }, - { - "id": "f70e3c9a5b1284d6", - "fromNode": "m01", - "fromSide": "bottom", - "toNode": "b23e7d91a4c6508f", - "toSide": "left", - "label": "Dirty-Close" - }, - { - "id": "a81f4d0b6c2395e7", - "styleAttributes": { - "path": "dotted" - }, - "fromNode": "b23e7d91a4c6508f", - "fromSide": "right", - "toNode": "c47a1f93d6e5208b", - "toSide": "left", - "label": "Empty · Error · Upload · Save · Toast · Undo nur dokumentiert" - } - ], - "metadata": { - "version": "1.0-1.0", - "frontmatter": {} - } -} + "nodes":[ + {"id":"7e2a1c4b9d6f8031","type":"group","x":-80,"y":1960,"width":3640,"height":720,"color":"4","label":"Finales Subframe-Inventar · 16 Seiten · Development-Handoff"}, + {"id":"a91f2c7e4b6d8035","type":"group","x":-80,"y":1200,"width":2760,"height":620,"color":"4","label":"Finale Interaktionen und Development-Zustände"}, + {"id":"group-main","type":"group","x":-80,"y":-100,"width":1840,"height":420,"label":"Hauptflow"}, + {"id":"group-anlage","type":"group","x":-80,"y":480,"width":1240,"height":400,"label":"Anlegen und Einbettung"}, + {"id":"group-schnell","type":"group","x":1260,"y":480,"width":1000,"height":400,"label":"Schnellzugriff (Davids Delta)"}, + {"id":"note-entry","type":"text","text":"# Einstieg\n\nSidebar → Aufgaben (`/tasks`).","x":0,"y":0,"width":360,"height":200}, + {"id":"s01","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/S01 Aufgaben-Liste.md","x":560,"y":0,"width":420,"height":200}, + {"id":"s02","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/S02 Aufgaben-Detail.md","x":1240,"y":0,"width":420,"height":200}, + {"id":"md-paket","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.md","x":-80,"y":-440,"width":460,"height":280}, + {"id":"m01","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/M01 Aufgabe anlegen.md","x":-20,"y":580,"width":420,"height":200}, + {"id":"v01","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/V01 Eingebettete Kompakt-Variante.md","x":460,"y":580,"width":420,"height":200}, + {"id":"note-topbar","type":"text","text":"# Einstieg\n\nTopbar-Button »Meine Aufgaben« (Davids Ergänzung).","x":1340,"y":580,"width":320,"height":200}, + {"id":"s03","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/S03 Aufgaben-Drawer.md","x":1780,"y":580,"width":420,"height":200}, + {"id":"b23e7d91a4c6508f","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/M02-M09 Interaktionsmodals.md","x":0,"y":1300,"width":700,"height":400,"color":"5"}, + {"id":"c47a1f93d6e5208b","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/Screens/Z01 Zustände und Feedback.md","x":1880,"y":1300,"width":700,"height":400,"color":"6"}, + {"id":"c41e8a206bd9537f","type":"text","text":"# Subframe-Quelle · final\n\n[Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/192a194e-bb51-4f4c-9f02-7c05d26584e8/edit)\n\nProjekt `Basedesign` · Flow-ID `192a194e-bb51-4f4c-9f02-7c05d26584e8`\n\n⚠️ Flow heißt weiterhin `WF-P16 Aufgaben`; Paket/Ticket bleiben `WF-P4` / `D-P4`.\n\nStand: 2026-08-23 · finaler Live-Readback **16 Seiten**: S01, S02, S03, M01, zwei V01-Repräsentationen und zehn Interaktionsmodals. Mobile und reine Zustandsseiten sind nicht Teil von Subframe; ihr Vertrag steht in Z01.","x":0,"y":2020,"width":480,"height":500,"color":"3"}, + {"id":"b7d30f1a68c2459e","type":"text","text":"# S01 Liste · aktuelle Basis\n\n[S01 B3 · Kompakter Statuspunkt](https://app.subframe.com/f023064a5ca0/design/7dcb65c5-ba2c-490a-ad06-8758e8e6e913/edit)\n`7dcb65c5-ba2c-490a-ad06-8758e8e6e913`\n\nB3 ersetzt den früheren B-Screen als sichtbare Flow-Basis.\n\nErgänzte Wege: einzelnes Löschen, Bulk-Löschen, offene Checklistenpunkte, Duplizieren und Filter-Preset. Empty/Error/Feedback nur in Z01.","x":560,"y":2020,"width":520,"height":440,"color":"3"}, + {"id":"f192bc804da63e71","type":"text","text":"# S02 Detail · Versuch 4 final\n\n[Verlauf im Fokus](https://app.subframe.com/f023064a5ca0/design/b4e91d35-0d28-43d1-941e-e67a7ec3d834/edit)\n`b4e91d35-0d28-43d1-941e-e67a7ec3d834`\n\n`Dialog Fullscreen` bleibt direkte Wurzel. Route `/tasks/:id`; Kopf/Banner voll; Eigenschaften links, Arbeitsinhalt rechts.\n\n**Dropdown-Vertrag:** Statusbadges · ProjectCard-Priorität: Niedrig grün, Mittel gelb, Hoch rot, Kritisch violett; jeweils Vier-Strich-Indikator links + Badge rechts · Markus Weber + Personen/Gruppen · Date-/Multi-Selects · Erinnerung · Format · Sortierung. Kopf-, Anhang- und Verknüpfungsmenüs bleiben vollständig.\n\n**Ergänzt 23.08.:** `Notiz hinzufügen` im Verlaufskopf; pro Ereignis nur noch einmal `Datum · Uhrzeit` statt doppelter Datumzeile.\n\n**Gelöscht 23.08.:** 1/2/3/5 und Legacy V1/V2; sechs UUIDs ohne Referenzen im Paketprotokoll. Fünf technische Entwürfe waren bereits nicht mehr im Flow.","x":1160,"y":2020,"width":520,"height":620,"color":"3"}, + {"id":"2a6e9c13b5d8407f","type":"text","text":"# S03 Drawer · final\n\n[S03 öffnen](https://app.subframe.com/f023064a5ca0/design/c7978061-8467-49d9-adf3-614301843bb2/edit)\n`c7978061-8467-49d9-adf3-614301843bb2`\n\nKopf `Meine Aufgaben` ohne Tabs; kompakter Überfällig-Hinweis; farbige Zeitgruppen; klickbares Accordion ohne graue Fläche; Verknüpfung unter Titel; Datum/Priorität rechts untereinander; Footer-Aktionen `Neue Aufgabe` und `Vollansicht`.","x":1760,"y":2020,"width":520,"height":440,"color":"3"}, + {"id":"8c5f137ad024e69b","type":"text","text":"# M01 Anlegen · final\n\n[M01 V5 · Inhalt + Planung](https://app.subframe.com/f023064a5ca0/design/826b6837-a486-42c8-bbe6-d3745528993e/edit)\n`826b6837-a486-42c8-bbe6-d3745528993e`\n\nEine Oberfläche, drei Datenmodi: global mit leerer Verknüpfung, aus Objektkontext vorbefüllt und Duplizieren als bearbeitbare Kopie.\n\nTerminologie verbindlich `Fälligkeit`; M05 schützt Dirty-Close. M01b/M01c sind nicht mehr im Live-Flow.","x":2360,"y":2020,"width":520,"height":500,"color":"3"}, + {"id":"de903a17c6b5428f","type":"text","text":"# V01 Einbettung · final\n\n[A · Kompakte Tabelle](https://app.subframe.com/f023064a5ca0/design/7dd5df56-7cea-445b-91f2-29b9f1fbb407/edit)\n`7dd5df56-7cea-445b-91f2-29b9f1fbb407`\n\n[Minimal · Sidebar-Liste](https://app.subframe.com/f023064a5ca0/design/841f9e3f-ca13-4fed-aac6-6977cea19a03/edit)\n`841f9e3f-ca13-4fed-aac6-6977cea19a03`\n\nA ist die datenreiche Tabelle mit Bulk-Aktionen. Minimal ist die reduzierte, nach Fälligkeit gruppierte Accordion-Liste. Beide sind objektbezogen vorgefiltert.","x":2960,"y":2020,"width":520,"height":440,"color":"3"} + ], + "edges":[ + { + "id":"e-entry", + "styleAttributes":{"path":"dotted"}, + "fromNode":"note-entry", + "fromSide":"right", + "toNode":"s01", + "toSide":"left" + }, + {"id":"e-open","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","label":"Zeile öffnen"}, + { + "id":"e-topbar", + "styleAttributes":{"path":"dotted"}, + "fromNode":"note-topbar", + "fromSide":"right", + "toNode":"s03", + "toSide":"left" + }, + {"id":"e-drawer","toFloating":false,"fromNode":"s03","fromSide":"top","toNode":"s02","toSide":"bottom","label":"Eintrag öffnen"}, + {"id":"e-new","fromFloating":false,"fromNode":"s01","fromSide":"bottom","toNode":"m01","toSide":"top","label":"M01 · global, Objektkontext oder Duplikatmodus"}, + { + "id":"e-variant", + "styleAttributes":{"path":"short-dashed"}, + "fromNode":"v01", + "fromSide":"top", + "toNode":"s01", + "toSide":"bottom", + "label":"kompakte Ausführung von S01" + }, + {"id":"d58c1a7e3f9062b4","fromNode":"s01","fromSide":"bottom","toNode":"b23e7d91a4c6508f","toSide":"top","label":"Löschen · Bulk · Preset · Duplizieren"}, + {"id":"e69d2b8f4a0173c5","fromNode":"s02","fromSide":"bottom","toNode":"b23e7d91a4c6508f","toSide":"top","label":"Löschen · Erledigen · Verknüpfen · Notiz · Datei"}, + {"id":"f70e3c9a5b1284d6","fromNode":"m01","fromSide":"bottom","toNode":"b23e7d91a4c6508f","toSide":"left","label":"Dirty-Close"}, + { + "id":"a81f4d0b6c2395e7", + "styleAttributes":{"path":"dotted"}, + "fromNode":"b23e7d91a4c6508f", + "fromSide":"right", + "toNode":"c47a1f93d6e5208b", + "toSide":"left", + "label":"Empty · Error · Upload · Save · Toast · Undo nur dokumentiert" + } + ], + "metadata":{ + "version":"1.0-1.0", + "frontmatter":{} + } +} \ No newline at end of file diff --git a/02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md b/02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md index fff45e54..d327e547 100644 --- a/02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md +++ b/02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md @@ -12,7 +12,7 @@ umsetzung: Bauen status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/ae41c6ea-d1b0-4656-9a5c-55f64343962a/edit" -source_checked: 2026-08-20 +source_checked: 2026-08-25 --- # S01 — Arbeitsliste diff --git a/02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas b/02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas index b087d9b8..cc4e51d0 100644 --- a/02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas +++ b/02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas @@ -1,72 +1,72 @@ { - "nodes": [ - {"id":"a100000000000001","type":"group","x":0,"y":0,"width":2300,"height":1600,"color":"4","label":"1 · Eingang, Arbeitsliste und Lead-Record"}, - {"id":"a100000000000002","type":"group","x":2400,"y":0,"width":2200,"height":1600,"color":"5","label":"2 · Anlage, Konversion und Record-Aktionen"}, - {"id":"a100000000000003","type":"group","x":0,"y":1800,"width":2300,"height":820,"color":"6","label":"3 · Telefon"}, - {"id":"a100000000000004","type":"group","x":2400,"y":1800,"width":2200,"height":820,"color":"6","label":"4 · E-Mail"}, - {"id":"a100000000000005","type":"group","x":4800,"y":0,"width":1120,"height":1600,"color":"3","label":"5 · Dokumentierte Development-Folgethemen"}, - {"id":"b100000000000001","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.md","x":0,"y":-520,"width":420,"height":260}, - {"id":"b100000000000002","type":"text","text":"# Fertig / Development-Handoff\n\n**Finaler Abgleich:** 2026-08-20 · 20/20 Seiten inklusive JSX gelesen; alle zuletzt geänderten Hauptseiten und Dialogvarianten gerendert. S01 besitzt eine neue UUID.\n\n**Kanten:** sichtbare Controls plus final dokumentierte Handoff-Logik. Die exportierten `onClick`-Handler bleiben technisch leer.\n\n**Farben:** Grün = Hauptfluss · Cyan = Record/Aktionen · Violett = Kommunikation · Gelb = Folgethemen.","x":520,"y":-520,"width":1000,"height":300}, - {"id":"b100000000000003","type":"text","text":"# Finaler UI-Stand\n\nSubframe zeigt **Lead → Deal** auf dem festen Vertriebsboard; das ist der geltende P7-Screen-Handoff. Frühere Anforderungen zu Projekt-Konversion, Freigabe, Zielwahl, Anti-Spam, Statistik und Quellenverwaltung bleiben dokumentierte Folgethemen.\n\nDetails und QA-Hinweise stehen im Paket-MD, Abschnitt 6. Subframe wurde nicht verändert.","x":1620,"y":-520,"width":980,"height":300,"color":"1"}, - {"id":"b100000000000004","type":"text","text":"# Einstieg\n\nNavigation **Leads**.\n\nNeue Anfragen starten im Eingang. **Übernehmen** weist der handelnden Person zu, **Zuweisen** einer gewählten Person; beide führen in die priorisierte Arbeitsliste.","x":80,"y":160,"width":400,"height":220}, - {"id":"b100000000000005","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S02 Eingang Karten.md","x":560,"y":160,"width":420,"height":220}, - {"id":"b100000000000006","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S02 Eingang Liste.md","x":560,"y":540,"width":420,"height":220}, - {"id":"b100000000000007","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md","x":1200,"y":160,"width":420,"height":220}, - {"id":"b100000000000008","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S03 Lead-Record.md","x":1700,"y":540,"width":440,"height":240}, - {"id":"b100000000000009","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V01 Abarbeiten-Modus.md","x":1200,"y":920,"width":420,"height":220,"color":"3"}, - {"id":"b10000000000000a","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M05 Ansicht speichern.md","x":560,"y":920,"width":420,"height":220,"color":"6"}, - {"id":"b10000000000000b","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V08 Verwerfen bestaetigen.md","x":1700,"y":920,"width":420,"height":220,"color":"1"}, - {"id":"b10000000000000c","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen.md","x":2500,"y":160,"width":420,"height":220,"color":"6"}, - {"id":"b10000000000000d","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen Kontakt verknuepfen.md","x":3100,"y":160,"width":420,"height":220,"color":"6"}, - {"id":"b10000000000000e","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M03 Dubletten-Pruefung.md","x":3740,"y":160,"width":420,"height":220,"color":"6"}, - {"id":"b10000000000000f","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M01 Konversion.md","x":2500,"y":560,"width":420,"height":220,"color":"6"}, - {"id":"b100000000000010","type":"text","text":"# Finales Outcome\n\nM01 legt einen **Deal auf dem Vertriebsboard** an. Das ist der geltende P7-Screen-Handoff.\n\nDie ältere Projekt-Konversion aus AD-20 / D-P7 / R-P7 bleibt ein separates Vertragsdelta.","x":3100,"y":560,"width":420,"height":220,"color":"1"}, - {"id":"b100000000000011","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M04 Naechste Aktion.md","x":2500,"y":920,"width":420,"height":220,"color":"6"}, - {"id":"b100000000000012","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M08 Ansprechpartner hinzufuegen.md","x":3100,"y":920,"width":420,"height":220,"color":"6"}, - {"id":"b100000000000013","type":"text","text":"# Record-Abhängigkeiten\n\nS03 öffnet Konversion, nächste Aktion, Dialer, E-Mail und Ansprechpartner.\n\nM08 berührt P6 Kontakte & Organisationen. WhatsApp und Datei besitzen im aktuellen P7-Flow keine eigene Seite.","x":3740,"y":920,"width":420,"height":260}, - {"id":"b100000000000014","type":"text","text":"# Einstieg Telefon\n\nS03 Lead-Record → **Anrufen**.\n\nAnrufzustände bleiben als schwebendes Panel im Arbeitskontext.","x":80,"y":1960,"width":360,"height":200}, - {"id":"b100000000000015","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M06 Dialer.md","x":520,"y":1960,"width":400,"height":220,"color":"6"}, - {"id":"b100000000000016","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V02 Dialer Tastenfeld.md","x":1040,"y":1960,"width":400,"height":220,"color":"3"}, - {"id":"b100000000000017","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V03 Dialer Im Gespraech.md","x":1560,"y":1960,"width":400,"height":220,"color":"3"}, - {"id":"b100000000000018","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V05 Dialer kompakt.md","x":1040,"y":2280,"width":400,"height":220,"color":"3"}, - {"id":"b100000000000019","type":"text","text":"# Einstieg E-Mail\n\nS03 Lead-Record → **Mail**.\n\nDer Composer bleibt schwebend, kann minimiert oder auf Vollbild erweitert werden.","x":2480,"y":1960,"width":360,"height":200}, - {"id":"b10000000000001a","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M07 E-Mail schreiben.md","x":2940,"y":1960,"width":400,"height":220,"color":"6"}, - {"id":"b10000000000001b","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V06 E-Mail minimiert.md","x":3460,"y":1960,"width":400,"height":220,"color":"3"}, - {"id":"b10000000000001c","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V07 E-Mail Vollbild.md","x":3980,"y":1960,"width":400,"height":220,"color":"3"}, - {"id":"b10000000000001d","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/README.md","x":4900,"y":160,"width":420,"height":220,"color":"3"}, - {"id":"b10000000000001e","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Lead-Statistiken.md","x":5420,"y":160,"width":400,"height":200,"color":"3"}, - {"id":"b10000000000001f","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Quellen-Verwaltung.md","x":4900,"y":520,"width":400,"height":200,"color":"3"}, - {"id":"b100000000000020","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Spam-Schutz.md","x":5420,"y":520,"width":400,"height":200,"color":"3"}, - {"id":"b100000000000021","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/CSV-Import-Wizard.md","x":4900,"y":880,"width":400,"height":200,"color":"3"}, - {"id":"b100000000000022","type":"text","text":"# Nicht Teil des finalen P7-UI-Flows\n\nStatistik, Quellen, Anti-Spam und CSV besitzen keine Seite. Der ältere Produktvertrag weicht bei Zielmodell und Pflichtdaten von M01 ab.\n\nDiese Punkte blockieren den Screen-Handoff nicht und bleiben als separate Development-/Produkt-Folgethemen erhalten.","x":4900,"y":1240,"width":920,"height":260,"color":"1"}, - {"id":"b100000000000023","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Produktvertrag-Deltas.md","x":5420,"y":880,"width":400,"height":200,"color":"1"} - ], - "edges": [ - {"id":"c100000000000001","fromNode":"b100000000000004","fromSide":"right","toNode":"b100000000000005","toSide":"left","toEnd":"arrow","label":"Eingang"}, - {"id":"c100000000000002","fromNode":"b100000000000005","fromSide":"bottom","fromEnd":"arrow","toNode":"b100000000000006","toSide":"top","toEnd":"arrow","label":"Darstellungsvariante"}, - {"id":"c100000000000003","fromNode":"b100000000000005","fromSide":"right","toNode":"b100000000000007","toSide":"left","toEnd":"arrow","label":"Übernehmen / Zuweisen"}, - {"id":"c100000000000004","fromNode":"b100000000000006","fromSide":"right","toNode":"b100000000000008","toSide":"left","toEnd":"arrow","label":"Öffnen"}, - {"id":"c100000000000005","fromNode":"b100000000000007","fromSide":"bottom","toNode":"b100000000000008","toSide":"top","toEnd":"arrow","label":"Lead öffnen"}, - {"id":"c100000000000006","fromNode":"b100000000000007","fromSide":"bottom","toNode":"b100000000000009","toSide":"top","toEnd":"arrow","label":"Abarbeiten"}, - {"id":"c100000000000007","fromNode":"b100000000000005","fromSide":"bottom","toNode":"b10000000000000a","toSide":"top","toEnd":"arrow","label":"Preset speichern"}, - {"id":"c100000000000008","fromNode":"b100000000000006","fromSide":"right","toNode":"b10000000000000b","toSide":"left","toEnd":"arrow","label":"Verwerfen"}, - {"id":"c100000000000009","fromNode":"b100000000000007","fromSide":"right","toNode":"b10000000000000c","toSide":"left","toEnd":"arrow","label":"Lead anlegen"}, - {"id":"c10000000000000a","fromNode":"b10000000000000c","fromSide":"right","toNode":"b10000000000000d","toSide":"left","toEnd":"arrow","label":"Kontakt verknüpfen"}, - {"id":"c10000000000000b","fromNode":"b10000000000000d","fromSide":"right","toNode":"b10000000000000e","toSide":"left","toEnd":"arrow","label":"gleiche Telefonnummer"}, - {"id":"c10000000000000c","fromNode":"b100000000000008","fromSide":"right","toNode":"b10000000000000f","toSide":"left","toEnd":"arrow","label":"Qualifiziert zu Deal"}, - {"id":"c10000000000000d","fromNode":"b10000000000000f","fromSide":"right","toNode":"b100000000000010","toSide":"left","toEnd":"arrow","label":"In Deal umwandeln"}, - {"id":"c10000000000000e","fromNode":"b100000000000008","fromSide":"bottom","toNode":"b100000000000011","toSide":"left","toEnd":"arrow","label":"Task / Reminder"}, - {"id":"c10000000000000f","fromNode":"b100000000000008","fromSide":"bottom","toNode":"b100000000000012","toSide":"left","toEnd":"arrow","label":"Ansprechpartner +"}, - {"id":"c100000000000010","fromNode":"b100000000000014","fromSide":"right","toNode":"b100000000000015","toSide":"left","toEnd":"arrow","label":"Anrufen"}, - {"id":"c100000000000011","fromNode":"b100000000000015","fromSide":"right","toNode":"b100000000000016","toSide":"left","toEnd":"arrow","label":"Tastenfeld"}, - {"id":"c100000000000012","fromNode":"b100000000000015","fromSide":"right","toNode":"b100000000000017","toSide":"left","toEnd":"arrow","label":"Anrufen"}, - {"id":"c100000000000013","fromNode":"b100000000000015","fromSide":"bottom","toNode":"b100000000000018","toSide":"left","toEnd":"arrow","label":"minimieren"}, - {"id":"c100000000000014","fromNode":"b100000000000019","fromSide":"right","toNode":"b10000000000001a","toSide":"left","toEnd":"arrow","label":"Mail"}, - {"id":"c100000000000015","fromNode":"b10000000000001a","fromSide":"right","toNode":"b10000000000001b","toSide":"left","toEnd":"arrow","label":"minimieren"}, - {"id":"c100000000000016","fromNode":"b10000000000001a","fromSide":"right","toNode":"b10000000000001c","toSide":"left","toEnd":"arrow","label":"Vollbild"} - ], - "metadata": { - "version": "1.0-1.0", - "frontmatter": {} - } -} + "nodes":[ + {"id":"a100000000000001","type":"group","x":0,"y":0,"width":2300,"height":1600,"color":"4","label":"1 · Eingang, Arbeitsliste und Lead-Record"}, + {"id":"a100000000000002","type":"group","x":2400,"y":0,"width":2200,"height":1600,"color":"5","label":"2 · Anlage, Konversion und Record-Aktionen"}, + {"id":"a100000000000003","type":"group","x":0,"y":1800,"width":2300,"height":820,"color":"6","label":"3 · Telefon"}, + {"id":"a100000000000004","type":"group","x":2400,"y":1800,"width":2200,"height":820,"color":"6","label":"4 · E-Mail"}, + {"id":"a100000000000005","type":"group","x":4800,"y":0,"width":1120,"height":1600,"color":"3","label":"5 · Dokumentierte Development-Folgethemen"}, + {"id":"b100000000000001","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.md","x":0,"y":-520,"width":420,"height":260}, + {"id":"b100000000000002","type":"text","text":"# Fertig / Development-Handoff\n\n**Finaler Abgleich:** 2026-08-20 · 20/20 Seiten inklusive JSX gelesen; alle zuletzt geänderten Hauptseiten und Dialogvarianten gerendert. S01 besitzt eine neue UUID.\n\n**Kanten:** sichtbare Controls plus final dokumentierte Handoff-Logik. Die exportierten `onClick`-Handler bleiben technisch leer.\n\n**Farben:** Grün = Hauptfluss · Cyan = Record/Aktionen · Violett = Kommunikation · Gelb = Folgethemen.","x":520,"y":-520,"width":1000,"height":300}, + {"id":"b100000000000003","type":"text","text":"# Finaler UI-Stand\n\nSubframe zeigt **Lead → Deal** auf dem festen Vertriebsboard; das ist der geltende P7-Screen-Handoff. Frühere Anforderungen zu Projekt-Konversion, Freigabe, Zielwahl, Anti-Spam, Statistik und Quellenverwaltung bleiben dokumentierte Folgethemen.\n\nDetails und QA-Hinweise stehen im Paket-MD, Abschnitt 6. Subframe wurde nicht verändert.","x":1620,"y":-520,"width":980,"height":300,"color":"1"}, + {"id":"b100000000000004","type":"text","text":"# Einstieg\n\nNavigation **Leads**.\n\nNeue Anfragen starten im Eingang. **Übernehmen** weist der handelnden Person zu, **Zuweisen** einer gewählten Person; beide führen in die priorisierte Arbeitsliste.","x":80,"y":160,"width":400,"height":220}, + {"id":"b100000000000005","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S02 Eingang Karten.md","x":560,"y":160,"width":420,"height":220}, + {"id":"b100000000000006","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S02 Eingang Liste.md","x":560,"y":540,"width":420,"height":220}, + {"id":"b100000000000007","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md","x":1200,"y":160,"width":420,"height":220}, + {"id":"b100000000000008","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S03 Lead-Record.md","x":1700,"y":540,"width":440,"height":240}, + {"id":"b100000000000009","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V01 Abarbeiten-Modus.md","x":1200,"y":920,"width":420,"height":220,"color":"3"}, + {"id":"b10000000000000a","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M05 Ansicht speichern.md","x":560,"y":920,"width":420,"height":220,"color":"6"}, + {"id":"b10000000000000b","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V08 Verwerfen bestaetigen.md","x":1700,"y":920,"width":420,"height":220,"color":"1"}, + {"id":"b10000000000000c","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen.md","x":2500,"y":160,"width":420,"height":220,"color":"6"}, + {"id":"b10000000000000d","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen Kontakt verknuepfen.md","x":3100,"y":160,"width":420,"height":220,"color":"6"}, + {"id":"b10000000000000e","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M03 Dubletten-Pruefung.md","x":3740,"y":160,"width":420,"height":220,"color":"6"}, + {"id":"b10000000000000f","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M01 Konversion.md","x":2500,"y":560,"width":420,"height":220,"color":"6"}, + {"id":"b100000000000010","type":"text","text":"# Finales Outcome\n\nM01 legt einen **Deal auf dem Vertriebsboard** an. Das ist der geltende P7-Screen-Handoff.\n\nDie ältere Projekt-Konversion aus AD-20 / D-P7 / R-P7 bleibt ein separates Vertragsdelta.","x":3100,"y":560,"width":420,"height":220,"color":"1"}, + {"id":"b100000000000011","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M04 Naechste Aktion.md","x":2500,"y":920,"width":420,"height":220,"color":"6"}, + {"id":"b100000000000012","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M08 Ansprechpartner hinzufuegen.md","x":3100,"y":920,"width":420,"height":220,"color":"6"}, + {"id":"b100000000000013","type":"text","text":"# Record-Abhängigkeiten\n\nS03 öffnet Konversion, nächste Aktion, Dialer, E-Mail und Ansprechpartner.\n\nM08 berührt P6 Kontakte & Organisationen. WhatsApp und Datei besitzen im aktuellen P7-Flow keine eigene Seite.","x":3740,"y":920,"width":420,"height":260}, + {"id":"b100000000000014","type":"text","text":"# Einstieg Telefon\n\nS03 Lead-Record → **Anrufen**.\n\nAnrufzustände bleiben als schwebendes Panel im Arbeitskontext.","x":80,"y":1960,"width":360,"height":200}, + {"id":"b100000000000015","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M06 Dialer.md","x":520,"y":1960,"width":400,"height":220,"color":"6"}, + {"id":"b100000000000016","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V02 Dialer Tastenfeld.md","x":1040,"y":1960,"width":400,"height":220,"color":"3"}, + {"id":"b100000000000017","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V03 Dialer Im Gespraech.md","x":1560,"y":1960,"width":400,"height":220,"color":"3"}, + {"id":"b100000000000018","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V05 Dialer kompakt.md","x":1040,"y":2280,"width":400,"height":220,"color":"3"}, + {"id":"b100000000000019","type":"text","text":"# Einstieg E-Mail\n\nS03 Lead-Record → **Mail**.\n\nDer Composer bleibt schwebend, kann minimiert oder auf Vollbild erweitert werden.","x":2480,"y":1960,"width":360,"height":200}, + {"id":"b10000000000001a","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M07 E-Mail schreiben.md","x":2940,"y":1960,"width":400,"height":220,"color":"6"}, + {"id":"b10000000000001b","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V06 E-Mail minimiert.md","x":3460,"y":1960,"width":400,"height":220,"color":"3"}, + {"id":"b10000000000001c","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V07 E-Mail Vollbild.md","x":3980,"y":1960,"width":400,"height":220,"color":"3"}, + {"id":"b10000000000001d","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/README.md","x":4900,"y":160,"width":420,"height":220,"color":"3"}, + {"id":"b10000000000001e","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Lead-Statistiken.md","x":5420,"y":160,"width":400,"height":200,"color":"3"}, + {"id":"b10000000000001f","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Quellen-Verwaltung.md","x":4900,"y":520,"width":400,"height":200,"color":"3"}, + {"id":"b100000000000020","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Spam-Schutz.md","x":5420,"y":520,"width":400,"height":200,"color":"3"}, + {"id":"b100000000000021","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/CSV-Import-Wizard.md","x":4900,"y":880,"width":400,"height":200,"color":"3"}, + {"id":"b100000000000022","type":"text","text":"# Nicht Teil des finalen P7-UI-Flows\n\nStatistik, Quellen, Anti-Spam und CSV besitzen keine Seite. Der ältere Produktvertrag weicht bei Zielmodell und Pflichtdaten von M01 ab.\n\nDiese Punkte blockieren den Screen-Handoff nicht und bleiben als separate Development-/Produkt-Folgethemen erhalten.","x":4900,"y":1240,"width":920,"height":260,"color":"1"}, + {"id":"b100000000000023","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Produktvertrag-Deltas.md","x":5420,"y":880,"width":400,"height":200,"color":"1"} + ], + "edges":[ + {"id":"c100000000000001","fromNode":"b100000000000004","fromSide":"right","toNode":"b100000000000005","toSide":"left","toEnd":"arrow","label":"Eingang"}, + {"id":"c100000000000002","fromNode":"b100000000000005","fromSide":"bottom","fromEnd":"arrow","toNode":"b100000000000006","toSide":"top","toEnd":"arrow","label":"Darstellungsvariante"}, + {"id":"c100000000000003","fromNode":"b100000000000005","fromSide":"right","toNode":"b100000000000007","toSide":"left","toEnd":"arrow","label":"Übernehmen / Zuweisen"}, + {"id":"c100000000000004","fromNode":"b100000000000006","fromSide":"right","toNode":"b100000000000008","toSide":"left","toEnd":"arrow","label":"Öffnen"}, + {"id":"c100000000000005","fromNode":"b100000000000007","fromSide":"bottom","toNode":"b100000000000008","toSide":"top","toEnd":"arrow","label":"Lead öffnen"}, + {"id":"c100000000000006","fromNode":"b100000000000007","fromSide":"bottom","toNode":"b100000000000009","toSide":"top","toEnd":"arrow","label":"Abarbeiten"}, + {"id":"c100000000000007","fromNode":"b100000000000005","fromSide":"bottom","toNode":"b10000000000000a","toSide":"top","toEnd":"arrow","label":"Preset speichern"}, + {"id":"c100000000000008","fromNode":"b100000000000006","fromSide":"right","toNode":"b10000000000000b","toSide":"left","toEnd":"arrow","label":"Verwerfen"}, + {"id":"c100000000000009","fromNode":"b100000000000007","fromSide":"right","toNode":"b10000000000000c","toSide":"left","toEnd":"arrow","label":"Lead anlegen"}, + {"id":"c10000000000000a","fromNode":"b10000000000000c","fromSide":"right","toNode":"b10000000000000d","toSide":"left","toEnd":"arrow","label":"Kontakt verknüpfen"}, + {"id":"c10000000000000b","fromNode":"b10000000000000d","fromSide":"right","toNode":"b10000000000000e","toSide":"left","toEnd":"arrow","label":"gleiche Telefonnummer"}, + {"id":"c10000000000000c","fromNode":"b100000000000008","fromSide":"right","toNode":"b10000000000000f","toSide":"left","toEnd":"arrow","label":"Qualifiziert zu Deal"}, + {"id":"c10000000000000d","fromNode":"b10000000000000f","fromSide":"right","toNode":"b100000000000010","toSide":"left","toEnd":"arrow","label":"In Deal umwandeln"}, + {"id":"c10000000000000e","fromNode":"b100000000000008","fromSide":"bottom","toNode":"b100000000000011","toSide":"left","toEnd":"arrow","label":"Task / Reminder"}, + {"id":"c10000000000000f","fromNode":"b100000000000008","fromSide":"bottom","toNode":"b100000000000012","toSide":"left","toEnd":"arrow","label":"Ansprechpartner +"}, + {"id":"c100000000000010","fromNode":"b100000000000014","fromSide":"right","toNode":"b100000000000015","toSide":"left","toEnd":"arrow","label":"Anrufen"}, + {"id":"c100000000000011","fromNode":"b100000000000015","fromSide":"right","toNode":"b100000000000016","toSide":"left","toEnd":"arrow","label":"Tastenfeld"}, + {"id":"c100000000000012","fromNode":"b100000000000015","fromSide":"right","toNode":"b100000000000017","toSide":"left","toEnd":"arrow","label":"Anrufen"}, + {"id":"c100000000000013","fromNode":"b100000000000015","fromSide":"bottom","toNode":"b100000000000018","toSide":"left","toEnd":"arrow","label":"minimieren"}, + {"id":"c100000000000014","fromNode":"b100000000000019","fromSide":"right","toNode":"b10000000000001a","toSide":"left","toEnd":"arrow","label":"Mail"}, + {"id":"c100000000000015","fromNode":"b10000000000001a","fromSide":"right","toNode":"b10000000000001b","toSide":"left","toEnd":"arrow","label":"minimieren"}, + {"id":"c100000000000016","fromNode":"b10000000000001a","fromSide":"right","toNode":"b10000000000001c","toSide":"left","toEnd":"arrow","label":"Vollbild"} + ], + "metadata":{ + "version":"1.0-1.0", + "frontmatter":{} + } +} \ No newline at end of file diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md index ffb8416b..7c0ecd35 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md @@ -9,7 +9,7 @@ subframe_name: "M01 Verloren-Dialog" subframe_page_id: "e0c4d9da-aff9-400b-b028-6e215e6e86db" typ: Modal / Pflichtentscheidung umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "aus Projektstatus Verloren" subframe: "https://app.subframe.com/f023064a5ca0/design/e0c4d9da-aff9-400b-b028-6e215e6e86db/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M03 Kontextmen_ Rechtsklick.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M03 Kontextmen_ Rechtsklick.md index e29be284..afd3c3dc 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M03 Kontextmen_ Rechtsklick.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M03 Kontextmen_ Rechtsklick.md @@ -9,7 +9,7 @@ subframe_name: "M03 Kontextmen_ Rechtsklick" subframe_page_id: "78fa6fa5-e2e8-441c-aefd-e9990996b761" typ: Kontextmenü umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Rechtsklick auf Kanban-Karte in S01" subframe: "https://app.subframe.com/f023064a5ca0/design/78fa6fa5-e2e8-441c-aefd-e9990996b761/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04 Pipeline-Uebergabe.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04 Pipeline-Uebergabe.md index be6edc4c..46315c98 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04 Pipeline-Uebergabe.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04 Pipeline-Uebergabe.md @@ -9,7 +9,7 @@ subframe_name: "M04 Pipeline-Uebergabe" subframe_page_id: "928e8ef6-90af-4733-8dad-38765c00c42f" typ: Modal / Übergabe · Notizen umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Statuswechsel in die letzte Stage der aktuellen Pipeline" subframe: "https://app.subframe.com/f023064a5ca0/design/928e8ef6-90af-4733-8dad-38765c00c42f/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04a Pipeline-Uebergabe Dateien.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04a Pipeline-Uebergabe Dateien.md index b0dded7c..1e11bd25 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04a Pipeline-Uebergabe Dateien.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04a Pipeline-Uebergabe Dateien.md @@ -9,7 +9,7 @@ subframe_name: "M04a Pipeline-Uebergabe Dateien" subframe_page_id: "2f8d946f-2700-4ba5-b1f3-f8199ef4c07f" typ: Modal-Variante / Übergabe · Dateien umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Dateien-Tab von M04" subframe: "https://app.subframe.com/f023064a5ca0/design/2f8d946f-2700-4ba5-b1f3-f8199ef4c07f/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04b Pipeline-Uebergabe Aufgaben.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04b Pipeline-Uebergabe Aufgaben.md index 0dc7932e..fe2e639f 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04b Pipeline-Uebergabe Aufgaben.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04b Pipeline-Uebergabe Aufgaben.md @@ -9,7 +9,7 @@ subframe_name: "M04b Pipeline-Uebergabe Aufgaben" subframe_page_id: "9ba224d7-3288-4027-9bd1-6c1483453b4f" typ: Modal-Variante / Übergabe · Aufgaben umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Aufgaben-Tab von M04" subframe: "https://app.subframe.com/f023064a5ca0/design/9ba224d7-3288-4027-9bd1-6c1483453b4f/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04c Pipeline-Uebergabe Termine.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04c Pipeline-Uebergabe Termine.md index e039b51f..1fceba7d 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04c Pipeline-Uebergabe Termine.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M04c Pipeline-Uebergabe Termine.md @@ -9,7 +9,7 @@ subframe_name: "M04c Pipeline-Uebergabe Termine" subframe_page_id: "d248e3b5-4470-4c33-9e2f-c2fc2cf4006a" typ: Modal-Variante / Übergabe · Termine umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Termine-Tab von M04" subframe: "https://app.subframe.com/f023064a5ca0/design/d248e3b5-4470-4c33-9e2f-c2fc2cf4006a/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/Modal Bestandsfeld.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/Modal Bestandsfeld.md index dd13d595..e64467d1 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/Modal Bestandsfeld.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/Modal Bestandsfeld.md @@ -9,7 +9,7 @@ subframe_name: "Modal Bestandsfeld" subframe_page_id: "4b1c3497-6eff-48f6-9680-1cbad7e67da7" typ: S05-Variante mit Unterdialog umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "aus S05: Bestehendes Feld hinzufügen" subframe: "https://app.subframe.com/f023064a5ca0/design/4b1c3497-6eff-48f6-9680-1cbad7e67da7/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S00 Boards-Startseite.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S00 Boards-Startseite.md index 9b673b2f..040a3b6e 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S00 Boards-Startseite.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S00 Boards-Startseite.md @@ -9,7 +9,7 @@ subframe_name: "S00 Boards-Startseite" subframe_page_id: "1778cf5e-777b-439c-81b6-c51f85283cc4" typ: Board-Auswahl / Liste umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/1778cf5e-777b-439c-81b6-c51f85283cc4/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md index 9ce2e4cd..94b73711 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md @@ -9,10 +9,10 @@ subframe_name: "S01 Kanban-Board" subframe_page_id: "52699d37-974d-4f5d-b3d0-003de765b692" typ: Board-Hauptansicht umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/52699d37-974d-4f5d-b3d0-003de765b692/edit" -source_checked: 2026-07-28 +source_checked: 2026-08-25 --- # S01 — Kanban-Board diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01a Kanban-Board Empty State.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01a Kanban-Board Empty State.md index cb8c5c15..010d5742 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01a Kanban-Board Empty State.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01a Kanban-Board Empty State.md @@ -9,7 +9,7 @@ subframe_name: "S01a Kanban-Board Empty State" subframe_page_id: "99a06fd6-d3c7-407b-8a52-5ffb202d5be4" typ: Gebaute Empty-State-Variante umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Variante von S01" subframe: "https://app.subframe.com/f023064a5ca0/design/99a06fd6-d3c7-407b-8a52-5ffb202d5be4/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Aufgabe erstellen.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Aufgabe erstellen.md index da3a0c0e..04b98e92 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Aufgabe erstellen.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Aufgabe erstellen.md @@ -9,7 +9,7 @@ subframe_name: "S02 Modal Aufgabe erstellen" subframe_page_id: "57954141-d806-4766-ba3e-a8a35f5b1902" typ: Schnellaktions-Modal umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Schnellaktion aus S02" subframe: "https://app.subframe.com/f023064a5ca0/design/57954141-d806-4766-ba3e-a8a35f5b1902/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Datei hochladen.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Datei hochladen.md index 4fe23a94..314d07b9 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Datei hochladen.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Datei hochladen.md @@ -9,7 +9,7 @@ subframe_name: "S02 Modal Datei hochladen" subframe_page_id: "b2182708-1af1-45d1-8d18-c652081d04c5" typ: Schnellaktions-Modal umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Schnellaktion aus S02" subframe: "https://app.subframe.com/f023064a5ca0/design/b2182708-1af1-45d1-8d18-c652081d04c5/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Notiz erstellen.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Notiz erstellen.md index d9ce49db..a229e4fd 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Notiz erstellen.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Notiz erstellen.md @@ -9,7 +9,7 @@ subframe_name: "S02 Modal Notiz erstellen" subframe_page_id: "2dcbdcd7-d91a-4e74-96ec-103e3c545e76" typ: Schnellaktions-Modal umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Schnellaktion aus S02" subframe: "https://app.subframe.com/f023064a5ca0/design/2dcbdcd7-d91a-4e74-96ec-103e3c545e76/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Termin erstellen.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Termin erstellen.md index 141062e7..2ed2ba1a 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Termin erstellen.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Modal Termin erstellen.md @@ -9,7 +9,7 @@ subframe_name: "S02 Modal Termin erstellen" subframe_page_id: "2a15d9a8-03b4-45e2-8c39-5be6e18b79cf" typ: Schnellaktions-Modal umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Schnellaktion aus S02" subframe: "https://app.subframe.com/f023064a5ca0/design/2a15d9a8-03b4-45e2-8c39-5be6e18b79cf/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Pipelines Detailansicht.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Pipelines Detailansicht.md index 1aae4e6e..cf969ba1 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Pipelines Detailansicht.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Pipelines Detailansicht.md @@ -9,10 +9,10 @@ subframe_name: "S02 Pipelines Detailansicht" subframe_page_id: "8f60a380-bb06-4ed7-b21f-1abd1c8ddbb7" typ: Projekt-Detail / Editor umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/8f60a380-bb06-4ed7-b21f-1abd1c8ddbb7/edit" -source_checked: 2026-07-28 +source_checked: 2026-08-25 --- # S02 — Pipelines Detailansicht diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md index 53d18340..3dbbc7e1 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md @@ -9,7 +9,7 @@ subframe_name: "S03 Projekt-Liste" subframe_page_id: "5c5bdb0a-995e-4c22-aa8b-e48333c60297" typ: Listen-Hauptansicht umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/5c5bdb0a-995e-4c22-aa8b-e48333c60297/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03a Projekt-Liste Empty State.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03a Projekt-Liste Empty State.md index 316cc813..6106d223 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03a Projekt-Liste Empty State.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03a Projekt-Liste Empty State.md @@ -9,7 +9,7 @@ subframe_name: "S03a Projekt-Liste Empty State" subframe_page_id: "4f05ca11-e8b7-4b4c-a82e-abf34d64f181" typ: Gebaute Empty-State-Variante umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Variante von S03" subframe: "https://app.subframe.com/f023064a5ca0/design/4f05ca11-e8b7-4b4c-a82e-abf34d64f181/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md index 8a3cc595..989bb0c6 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md @@ -9,7 +9,7 @@ subframe_name: "S04 Board-Einstellungen" subframe_page_id: "0b946683-2cca-4cd4-864d-f69ed1937fdb" typ: Board-Einstellungsdetail / Pipeline-Konfiguration umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "aus S07 Board-Übersicht → Board-Einstellungen" subframe: "https://app.subframe.com/f023064a5ca0/design/0b946683-2cca-4cd4-864d-f69ed1937fdb/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md index e2a0395c..26d4da3a 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md @@ -9,7 +9,7 @@ subframe_name: "S05 Detail-Schablone Edit-Mode" subframe_page_id: "699d1c64-ef84-4bb8-b1e0-e9afedaf1f3e" typ: Detailfeld-Konfiguration umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/699d1c64-ef84-4bb8-b1e0-e9afedaf1f3e/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md index 9e2cfd1b..349ab9fe 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md @@ -9,7 +9,7 @@ subframe_name: "S06 Verlust-Gruende" subframe_page_id: "3c95e1e1-728b-460c-996f-5a641c971dfe" typ: Settings-Liste umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/3c95e1e1-728b-460c-996f-5a641c971dfe/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md index cfc723d0..af7f2280 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md @@ -9,7 +9,7 @@ subframe_name: "S07 Boards-Uebersicht" subframe_page_id: "5190e285-e92f-4ad2-9f3d-2a2f511fe695" typ: Admin-Boardverwaltung umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "" subframe: "https://app.subframe.com/f023064a5ca0/design/5190e285-e92f-4ad2-9f3d-2a2f511fe695/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Neues Board Dialog Variante.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Neues Board Dialog Variante.md index 96d07c5e..73521a82 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Neues Board Dialog Variante.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Neues Board Dialog Variante.md @@ -9,7 +9,7 @@ subframe_name: "S07 Neues Board Dialog Variante" subframe_page_id: "50219cd7-323d-4a74-82cd-61c23c45da79" typ: Modal / Anlegen umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "aus S00 oder S07" subframe: "https://app.subframe.com/f023064a5ca0/design/50219cd7-323d-4a74-82cd-61c23c45da79/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07a Neues Board Error State.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07a Neues Board Error State.md index ffbeed2d..a2163b7a 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07a Neues Board Error State.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07a Neues Board Error State.md @@ -9,7 +9,7 @@ subframe_name: "S07a Neues Board Error State" subframe_page_id: "a0139eb6-cb59-47ce-8065-d1c4217a3e85" typ: Modal-Fehlerzustand umsetzung: Bauen -status: In Subframe +status: Fertig / Development-Handoff route: "Fehlerzustand von S07-D" subframe: "https://app.subframe.com/f023064a5ca0/design/a0139eb6-cb59-47ce-8065-d1c4217a3e85/edit" source_checked: 2026-07-28 diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md index f60176ac..7efd1efc 100644 --- a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md @@ -4,7 +4,7 @@ project: HiveGrid Screen Project ticket: D-P8 + D-KANBAN package: WF-P8 Pipelines typ: Flow -status: In Subframe +status: Fertig / Development-Handoff subframe: "https://app.subframe.com/f023064a5ca0/flow/d9dfdec6-7236-4386-8514-697b9e0f0bc4/edit" canvas: "WF-P8 Pipelines.canvas" source_checked: 2026-07-28 @@ -12,7 +12,7 @@ source_checked: 2026-07-28 # WF-P8 Pipelines -Status: In Subframe · Obsidian mit dem aktuellen Flow abgeglichen +Status: Fertig / Development-Handoff · Obsidian mit dem aktuellen Flow abgeglichen Subframe: [Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/d9dfdec6-7236-4386-8514-697b9e0f0bc4/edit) Canvas: [Canvas öffnen]() Stand: 2026-07-28 @@ -31,6 +31,8 @@ Für diesen Paketstand ist der aktuelle Subframe-Flow die Single Source of Truth | Bestand | 23 Subframe-Seiten | | Abgleich | 2026-07-28, per MCP; jede Seite inklusive aktuellem JSX gelesen | +Readback 2026-08-25: Der Bestand ist weiterhin 23/23. S01 und S02 wurden nach ihren spaeteren Live-Aenderungen erneut inklusive JSX gelesen; die dokumentierten Inhalte und Beziehungen bleiben gueltig. Subframe wurde nicht veraendert. + Die Screen-Namen, UUIDs, sichtbaren Inhalte und Komponenten kommen direkt aus Subframe. Alte Planungsannahmen wurden nur übernommen, wenn sie im aktuellen Screen-Code noch sichtbar sind. Interaktionslogik, die statisches JSX nicht ausdrücken kann, ist nur dann ergänzt, wenn David sie ausdrücklich für Development validiert hat. Wichtig für die Kanten im Canvas: Die exportierten `onClick`-Handler sind leer. Die Verbindungen bilden deshalb sichtbare Beziehungen plus die am 2026-07-28 validierten Produktentscheidungen ab; sie behaupten keine bereits verdrahtete Prototype-Navigation. diff --git a/02 Wireframes/Screen Paket Tracker.md b/02 Wireframes/Screen Paket Tracker.md index f7505ec0..f842f235 100644 --- a/02 Wireframes/Screen Paket Tracker.md +++ b/02 Wireframes/Screen Paket Tracker.md @@ -42,14 +42,14 @@ Diese Datei ist der erste Ort, um zu sehen: | WF-P5 Integrationen | D-P5 | Integrationen | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-08; Sync-Verlauf als eigene Seiten; Connection-Card = Muster fuer P14/P15/P16 | | WF-P6 Kontakte und Organisationen | D-CRM | Kontakte | Fertig / Development-Handoff | [MD]() | [Canvas]() | [Subframe]() | Übergabe abgeschlossen | 13/13 Live-Seiten gelesen und gerendert; S01–S04, M01a/M02a, M08 und S03a–S03f validiert; Backlog separat | | WF-P7 Leads | D-P7 | Leads | Fertig / Development-Handoff | [MD]() | [Canvas]() | [Subframe]() | Übergabe abgeschlossen | 20/20 Seiten nach Davids finalen Änderungen am 2026-08-20 erneut synchronisiert; S01 mit neuer UUID, Folgethemen separat dokumentiert | -| WF-P8 Pipelines | D-P8 + D-KANBAN | Pipelines | In Subframe | [MD]() | [Canvas]() | [Subframe]() | Development-Handoff | 23 aktuelle Seiten per MCP abgeglichen; S03/S04/M03/M04-Produktlogik am 2026-07-28 von David validiert | +| WF-P8 Pipelines | D-P8 + D-KANBAN | Pipelines | Fertig / Development-Handoff | [MD]() | [Canvas]() | [Subframe]() | Übergabe abgeschlossen | 23/23 aktuelle Seiten abgeglichen; S01/S02 am 2026-08-25 nach spaeteren Live-Aenderungen erneut gelesen; S03/S04/M03/M04-Produktlogik am 2026-07-28 von David validiert | | WF-P9 Projekt-Akte | D-P9 | Auftrag | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Rechnung v1 neu; Board-Auftragsoptionen erweitern WF-P8 S04 | | WF-P9 Plantafel | D-PLAN | Auftrag | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Monteur-Modus = 1 Frame Heute<->Woche; Konflikt-Dialog wird gebaut | | WF-P9 Abnahme | D-ABN | Auftrag | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; mehrstufiger Mobile-Workflow; immutable nach Abschluss | | WF-P12 Flow-Editor | D-FLOW | Automationen | Fertig / Development-Handoff | [MD]() | [Canvas]() | [Subframe]() | Übergabe abgeschlossen | 39 aktuelle Seiten: 6 finale Editor-/Modal-Seiten, M03 V3 als Referenz und 32 Konfigurationsdialoge. Picker 31/31; kein eigener Screen für gefüllten Editor, Probelauf oder Schleifen-/Ratenwarnung. | | WF-P12 Verwaltung | D-P12 | Automationen | Fertig / Development-Handoff | [MD]() | [Canvas]() | [Subframe]() | Übergabe abgeschlossen | 5 finale Seiten: S01, S02, S03, M04 Vorlagen-Katalog und S06. Beide Flows zusammen 44/44 Seiten. | | WF-D-FORM Form Builder | D-FORM | Termine & Formulare | Review | [MD]() | [Canvas]() | [Subframe]() | David Review / Handoff | Mitarbeiterinnen-Paket eingebaut 2026-07-09; S02 Simple Builder ist empfohlener Hauptfluss; Advanced-Canvas bleibt Referenz | -| WF-P16 Kalender | D-BOOK + D-P16 | Termine | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Davids Delta: vollwertiger Kalender (anlegen + einladen inkl. freie E-Mails, Kollegen-Overlay) = CR an Dev; Sync im P5-Muster | +| WF-P16 Kalender | D-BOOK + D-P16 | Termine | Fertig / Development-Handoff | [MD]() | [Canvas]() | [Subframe]() | Development | 7 finale Live-Seiten vollständig synchronisiert; Produktregeln, E-Mail-Entscheidung und nicht blockierende Development-Hinweise abgeschlossen | | WF-P16 Terminbuchung | D-BOOK + D-P16 | Termine | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Calendly-Stil; Davids Delta: Kunde kann per Mail-Link absagen/verschieben (S04) = CR an Dev; Feld-Zuordnung zum Lead im Editor | | WF-P16 E-Signatur | D-P16 + AK-P16d | Termine | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Projekt-Kern statt Deal; SES-Eigenbau Default; Davids Delta: eigene Kunden-Signierseite S04 | | WF-P15 Team-Chat | D-CHAT + AK-P15b | Kommunikation | Fertig / Development-Handoff | [MD]() | [Canvas]() | [Subframe]() | Übergabe abgeschlossen | 24/24 aktuelle Subframe-Seiten am 2026-08-08 im finalen Team-Chat-Flow synchronisiert; UX-Validierung und Development-Handoff abgeschlossen | @@ -72,7 +72,7 @@ Diese Datei ist der erste Ort, um zu sehen: | S03 | 2FA erforderlich | WF-P2 Set Password | Auth Decision | Bauen | In Subframe | nach S01, wenn 2FA Pflicht | [MD]() | [Subframe]() | [Canvas]() | | S04 | 2FA einrichten | WF-P2 Set Password | Auth Security | Bauen | In Subframe | nach S02/S03 | [MD]() | [Subframe]() | [Canvas]() | | S05 | Recovery Hinweis | WF-P2 Set Password | Auth Security | Bauen | In Subframe | nach S04 | [MD]() | [Subframe]() | [Canvas]() | -| S06 | Abschluss | WF-P2 Set Password | Auth Feedback | Bauen | In Subframe | Flow-Ende | [MD]() | [Subframe]() | [Canvas]() | +| S06 | Abschluss | WF-P2 Set Password | Auth Feedback | Bauen | In Subframe | Flow-Ende | [MD]() | [Subframe]() | [Canvas]() | | V03 | 2FA Setup gesperrt | WF-P2 Set Password | Auth Blocker | Bauen | In Subframe | Variante von S04 | [MD]() | [Subframe]() | [Canvas]() | | S01 | Passwort Reset anfordern | WF-P2 Passwort Reset | Auth Form | Bauen | In Subframe | `/forgot-password` | [MD]() | [Subframe]() | [Canvas]() | | S02 | Reset-Link gesendet | WF-P2 Passwort Reset | Auth Feedback | Bauen | In Subframe | nach S01 | [MD]() | [Subframe]() | [Canvas]() | @@ -185,29 +185,29 @@ Diese Datei ist der erste Ort, um zu sehen: | V02 | Dialer Tastenfeld | WF-P7 Leads | Dialer-Variante | Bauen | Fertig / Development-Handoff | aus M06 | [MD]() | [Subframe]() | [Canvas]() | | V03 | Dialer Im Gespraech | WF-P7 Leads | Dialer-Variante | Bauen | Fertig / Development-Handoff | aus M06 | [MD]() | [Subframe]() | [Canvas]() | | V05 | Dialer kompakt | WF-P7 Leads | Dialer-Variante | Bauen | Fertig / Development-Handoff | aus M06 | [MD]() | [Subframe]() | [Canvas]() | -| S00 | Boards-Startseite | WF-P8 Pipelines | Board-Auswahl | Bauen | In Subframe | Einstieg Pipelines | [MD]() | [Subframe]() | [Canvas]() | -| S01 | Kanban-Board | WF-P8 Pipelines | Board | Bauen | In Subframe | aus S00 | [MD]() | [Subframe]() | [Canvas]() | -| S02 | Pipelines Detailansicht | WF-P8 Pipelines | Projekt-Detail / Editor | Bauen | In Subframe | aus S01/S03 | [MD]() | [Subframe]() | [Canvas]() | -| S03 | Projekt-Liste | WF-P8 Pipelines | Liste | Bauen | In Subframe | Schwesteransicht von S01 | [MD]() | [Subframe]() | [Canvas]() | -| S04 | Board-Einstellungen | WF-P8 Pipelines | Board-Einstellungsdetail / Pipeline-Konfiguration | Bauen | In Subframe | primär aus S07 | [MD]() | [Subframe]() | [Canvas]() | -| S05 | Detail-Schablone Edit-Mode | WF-P8 Pipelines | Detailfeld-Konfiguration | Bauen | In Subframe | aus S04 | [MD]() | [Subframe]() | [Canvas]() | -| S06 | Verlust-Gruende | WF-P8 Pipelines | Settings-Liste | Bauen | In Subframe | aus S00/S07 | [MD]() | [Subframe]() | [Canvas]() | -| S07 | Boards-Uebersicht | WF-P8 Pipelines | Admin-Boardverwaltung | Bauen | In Subframe | Admin-Einstieg | [MD]() | [Subframe]() | [Canvas]() | -| M03 | Kontextmen_ Rechtsklick | WF-P8 Pipelines | Kanban-Karten-Kontextmenü | Bauen | In Subframe | Karten-Rechtsklick in S01 | [MD]() | [Subframe]() | [Canvas]() | -| S01a | Kanban-Board Empty State | WF-P8 Pipelines | Board-Variante | Bauen | In Subframe | Variante von S01 | [MD]() | [Subframe]() | [Canvas]() | -| S03a | Projekt-Liste Empty State | WF-P8 Pipelines | Listen-Variante | Bauen | In Subframe | Variante von S03 | [MD]() | [Subframe]() | [Canvas]() | -| S07-D | Neues Board Dialog Variante | WF-P8 Pipelines | Modal | Bauen | In Subframe | aus S00/S07 | [MD]() | [Subframe]() | [Canvas]() | -| M01 | Verloren-Dialog | WF-P8 Pipelines | Modal | Bauen | In Subframe | aus S01/S02 | [MD]() | [Subframe]() | [Canvas]() | -| S07a | Neues Board Error State | WF-P8 Pipelines | Modal-Fehler | Bauen | In Subframe | Variante von S07-D | [MD]() | [Subframe]() | [Canvas]() | -| S02-A | Modal Aufgabe erstellen | WF-P8 Pipelines | Modal | Bauen | In Subframe | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | -| S02-N | Modal Notiz erstellen | WF-P8 Pipelines | Modal | Bauen | In Subframe | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | -| S02-T | Modal Termin erstellen | WF-P8 Pipelines | Modal | Bauen | In Subframe | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | -| S02-F | Modal Datei hochladen | WF-P8 Pipelines | Modal | Bauen | In Subframe | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | -| M04 | Pipeline-Uebergabe | WF-P8 Pipelines | Modal · Notizen | Bauen | In Subframe | letzte Stage / finaler Status in S01 | [MD]() | [Subframe]() | [Canvas]() | -| M04a | Pipeline-Uebergabe Dateien | WF-P8 Pipelines | Modal-Variante | Bauen | In Subframe | Dateien-Tab von M04 | [MD]() | [Subframe]() | [Canvas]() | -| M04b | Pipeline-Uebergabe Aufgaben | WF-P8 Pipelines | Modal-Variante | Bauen | In Subframe | Aufgaben-Tab von M04 | [MD]() | [Subframe]() | [Canvas]() | -| M04c | Pipeline-Uebergabe Termine | WF-P8 Pipelines | Modal-Variante | Bauen | In Subframe | Termine-Tab von M04 | [MD]() | [Subframe]() | [Canvas]() | -| M05 | Modal Bestandsfeld | WF-P8 Pipelines | S05-Dialogzustand | Bauen | In Subframe | aus S05 | [MD]() | [Subframe]() | [Canvas]() | +| S00 | Boards-Startseite | WF-P8 Pipelines | Board-Auswahl | Bauen | Fertig / Development-Handoff | Einstieg Pipelines | [MD]() | [Subframe]() | [Canvas]() | +| S01 | Kanban-Board | WF-P8 Pipelines | Board | Bauen | Fertig / Development-Handoff | aus S00 | [MD]() | [Subframe]() | [Canvas]() | +| S02 | Pipelines Detailansicht | WF-P8 Pipelines | Projekt-Detail / Editor | Bauen | Fertig / Development-Handoff | aus S01/S03 | [MD]() | [Subframe]() | [Canvas]() | +| S03 | Projekt-Liste | WF-P8 Pipelines | Liste | Bauen | Fertig / Development-Handoff | Schwesteransicht von S01 | [MD]() | [Subframe]() | [Canvas]() | +| S04 | Board-Einstellungen | WF-P8 Pipelines | Board-Einstellungsdetail / Pipeline-Konfiguration | Bauen | Fertig / Development-Handoff | primär aus S07 | [MD]() | [Subframe]() | [Canvas]() | +| S05 | Detail-Schablone Edit-Mode | WF-P8 Pipelines | Detailfeld-Konfiguration | Bauen | Fertig / Development-Handoff | aus S04 | [MD]() | [Subframe]() | [Canvas]() | +| S06 | Verlust-Gruende | WF-P8 Pipelines | Settings-Liste | Bauen | Fertig / Development-Handoff | aus S00/S07 | [MD]() | [Subframe]() | [Canvas]() | +| S07 | Boards-Uebersicht | WF-P8 Pipelines | Admin-Boardverwaltung | Bauen | Fertig / Development-Handoff | Admin-Einstieg | [MD]() | [Subframe]() | [Canvas]() | +| M03 | Kontextmen_ Rechtsklick | WF-P8 Pipelines | Kanban-Karten-Kontextmenü | Bauen | Fertig / Development-Handoff | Karten-Rechtsklick in S01 | [MD]() | [Subframe]() | [Canvas]() | +| S01a | Kanban-Board Empty State | WF-P8 Pipelines | Board-Variante | Bauen | Fertig / Development-Handoff | Variante von S01 | [MD]() | [Subframe]() | [Canvas]() | +| S03a | Projekt-Liste Empty State | WF-P8 Pipelines | Listen-Variante | Bauen | Fertig / Development-Handoff | Variante von S03 | [MD]() | [Subframe]() | [Canvas]() | +| S07-D | Neues Board Dialog Variante | WF-P8 Pipelines | Modal | Bauen | Fertig / Development-Handoff | aus S00/S07 | [MD]() | [Subframe]() | [Canvas]() | +| M01 | Verloren-Dialog | WF-P8 Pipelines | Modal | Bauen | Fertig / Development-Handoff | aus S01/S02 | [MD]() | [Subframe]() | [Canvas]() | +| S07a | Neues Board Error State | WF-P8 Pipelines | Modal-Fehler | Bauen | Fertig / Development-Handoff | Variante von S07-D | [MD]() | [Subframe]() | [Canvas]() | +| S02-A | Modal Aufgabe erstellen | WF-P8 Pipelines | Modal | Bauen | Fertig / Development-Handoff | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | +| S02-N | Modal Notiz erstellen | WF-P8 Pipelines | Modal | Bauen | Fertig / Development-Handoff | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | +| S02-T | Modal Termin erstellen | WF-P8 Pipelines | Modal | Bauen | Fertig / Development-Handoff | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | +| S02-F | Modal Datei hochladen | WF-P8 Pipelines | Modal | Bauen | Fertig / Development-Handoff | Schnellaktion aus S02 | [MD]() | [Subframe]() | [Canvas]() | +| M04 | Pipeline-Uebergabe | WF-P8 Pipelines | Modal · Notizen | Bauen | Fertig / Development-Handoff | letzte Stage / finaler Status in S01 | [MD]() | [Subframe]() | [Canvas]() | +| M04a | Pipeline-Uebergabe Dateien | WF-P8 Pipelines | Modal-Variante | Bauen | Fertig / Development-Handoff | Dateien-Tab von M04 | [MD]() | [Subframe]() | [Canvas]() | +| M04b | Pipeline-Uebergabe Aufgaben | WF-P8 Pipelines | Modal-Variante | Bauen | Fertig / Development-Handoff | Aufgaben-Tab von M04 | [MD]() | [Subframe]() | [Canvas]() | +| M04c | Pipeline-Uebergabe Termine | WF-P8 Pipelines | Modal-Variante | Bauen | Fertig / Development-Handoff | Termine-Tab von M04 | [MD]() | [Subframe]() | [Canvas]() | +| M05 | Modal Bestandsfeld | WF-P8 Pipelines | S05-Dialogzustand | Bauen | Fertig / Development-Handoff | aus S05 | [MD]() | [Subframe]() | [Canvas]() | | S01 | Auftrags-Reiter am Projekt | WF-P9 Projekt-Akte | Detail-Erweiterung | Bauen | Validiert | `/projects/:id` | [MD]() | - | [Canvas]() | | S02 | Mobil-Modus | WF-P9 Projekt-Akte | Variante 📱 | Bauen | Validiert | `/projects/:id` (Handy) | [MD]() | - | [Canvas]() | | M01 | Rechnung anlegen | WF-P9 Projekt-Akte | Modal | Bauen | Validiert | Rechnungen-Reiter | [MD]() | - | [Canvas]() | @@ -271,6 +271,7 @@ Diese Datei ist der erste Ort, um zu sehen: | E02 | S00 Keine Treffer | WF-D-FORM Form Builder | Empty State | Bauen | Subframe Draft / Review offen | `/forms` | [MD]() | [Subframe]() | [Canvas]() | | S01 | Formularart auswaehlen | WF-D-FORM Form Builder | Einstieg / Auswahl | Alternative bauen | Subframe Draft / Review offen | `/forms/new` | [MD]() | [Subframe]() | [Canvas]() | | S02 | Einfacher Fragen Editor | WF-D-FORM Form Builder | Simple Builder Alternative | Alternative bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | +| S01B | Gefuehrter Fragen Editor | WF-D-FORM Form Builder | Builder Backlog | Nicht im Handoff | Subframe Backlog / nicht im Review | `/forms/:id/edit` | - | [Subframe]() | - | | S02L | Lead Felder zuweisen | WF-D-FORM Form Builder | S02-Zustand / Lead Editor | Subframe Draft | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | | E05 | S02 Lead Zuweisung pruefen | WF-D-FORM Form Builder | Lead Mapping Error State | Subframe Draft | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | | S03 | Formular Design | WF-D-FORM Form Builder | Builder Tab | Bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | @@ -281,9 +282,9 @@ Diese Datei ist der erste Ort, um zu sehen: | S05 | Antworten Tabelle | WF-D-FORM Form Builder | Builder Tab | Bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | | E03 | S05 Keine Antworten | WF-D-FORM Form Builder | Empty State | Bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | | E04 | S05 Export Fehler | WF-D-FORM Form Builder | Error State | Bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | -| S01C | Website Formular Editor | WF-D-FORM Form Builder | Simple Builder Beispiel | Alternative bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | -| S01D | Umfrage Editor | WF-D-FORM Form Builder | Simple Builder Beispiel | Alternative bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | -| S01E | Internes Formular Editor | WF-D-FORM Form Builder | Simple Builder Beispiel | Alternative bauen | Subframe Draft / Review offen | `/forms/:id/edit` | [MD]() | [Subframe]() | [Canvas]() | +| S01C | Website Formular Editor | WF-D-FORM Form Builder | Simple Builder Beispiel | Dokumentieren | Lokal dokumentiert / nicht mehr in Subframe | `/forms/:id/edit` | [MD]() | - | [Canvas]() | +| S01D | Umfrage Editor | WF-D-FORM Form Builder | Simple Builder Beispiel | Dokumentieren | Lokal dokumentiert / nicht mehr in Subframe | `/forms/:id/edit` | [MD]() | - | [Canvas]() | +| S01E | Internes Formular Editor | WF-D-FORM Form Builder | Simple Builder Beispiel | Dokumentieren | Lokal dokumentiert / nicht mehr in Subframe | `/forms/:id/edit` | [MD]() | - | [Canvas]() | | D01 | Sharing Panel URL QR iFrame | WF-D-FORM Form Builder | Detailnotiz | Nur dokumentieren | Dokumentiert / nicht im Review-Canvas | Public-Link/Teilen-Kontext, kein eigener Screen | [MD]() | - | - | | D02 | Post-Submit Actions | WF-D-FORM Form Builder | Detailnotiz | Nur dokumentieren | Dokumentiert / nicht im Review-Canvas | Nach-Absenden-Kontext, kein eigener Screen | [MD]() | - | - | | D03 | Conditional Logic Editor | WF-D-FORM Form Builder | Detailnotiz | Nur dokumentieren | Dokumentiert / nicht im Review-Canvas | einfache Bedingungen, kein eigener Screen | [MD]() | - | - | @@ -293,10 +294,13 @@ Diese Datei ist der erste Ort, um zu sehen: | M02 | Unpublish Confirm | WF-D-FORM Form Builder | Confirm Modal | Nur dokumentieren | Dokumentiert / nicht im Review-Canvas | von Publish/Public-Link-Kontext | [MD]() | - | - | | M03 | Archive Confirm | WF-D-FORM Form Builder | Confirm Modal | Nur dokumentieren | Dokumentiert / nicht im Review-Canvas | von More-Menue | [MD]() | - | - | | M04 | Unsaved Changes Confirm | WF-D-FORM Form Builder | Confirm Modal / Browser Guard | Nur dokumentieren | Dokumentiert / nicht im Review-Canvas | beim Verlassen mit Dirty State | [MD]() | - | - | -| S01 | Kalender (Monat/Woche, Kollegen-Overlay) | WF-P16 Kalender | BESPOKE Grid | Bauen | Validiert | `/calendar` | [MD]() | - | [Canvas]() | -| M01 | Termin anlegen/bearbeiten | WF-P16 Kalender | Modal | Bauen | Validiert | Slot-Klick / + Termin in S01 | [MD]() | - | [Canvas]() | -| M02 | Termin-Detail (Popover) | WF-P16 Kalender | Popover | Bauen | Validiert | Termin-Klick in S01 | [MD]() | - | [Canvas]() | -| S02 | Kalender-Einstellungen & Sync | WF-P16 Kalender | Settings (A6) | Bauen | Validiert | `/calendar/settings` | [MD]() | - | [Canvas]() | +| S01 | Kalender (Monat/Woche, Kollegen-Overlay) | WF-P16 Kalender | BESPOKE Grid | Bauen | Fertig / Development-Handoff | `/calendar` | [MD]() | [Subframe]() | [Canvas]() | +| M01 | Quick Create | WF-P16 Kalender | Kompakter Dialog / Popover | Bauen | Fertig / Development-Handoff | Slot-Klick / + Termin in S01 | [MD]() | [Subframe]() | [Canvas]() | +| M01a | Quick Create Edit Mode | WF-P16 Kalender | Zustand des kompakten Dialogs | Bauen | Fertig / Development-Handoff | Klick auf Zeitzeile in M01 | [MD]() | [Subframe]() | [Canvas]() | +| M01b | Termin vollständig anlegen/bearbeiten | WF-P16 Kalender | Modal | Bauen | Fertig / Development-Handoff | Weitere Optionen aus M01 / Bearbeiten aus M02 | [MD]() | [Subframe]() | [Canvas]() | +| M02 | Termin-Detail (Popover) | WF-P16 Kalender | Popover | Bauen | Fertig / Development-Handoff | Termin-Klick in S01 | [MD]() | [Subframe]() | [Canvas]() | +| M03 | Änderungen per E-Mail senden | WF-P16 Kalender | Bestätigungsmodal | Bauen | Fertig / Development-Handoff | Speichern eines geänderten bestehenden Termins mit Teilnehmenden | [MD]() | [Subframe]() | [Canvas]() | +| S02 | Kalender-Verbindung | WF-P16 Kalender | Settings / Connection | Bauen | Fertig / Development-Handoff | `/settings/integrations/calendar` | [MD]() | [Subframe]() | [Canvas]() | | D01 | OAuth-Assistent (aus WF-P5 M01) | WF-P16 Kalender | Wizard | Wiederverwenden | Validiert | aus S02 | [MD]() | - | - | | D02 | Trennen-Bestaetigung + Extern-Wahl (aus WF-P5 M03) | WF-P16 Kalender | Modal | Wiederverwenden | Validiert | aus S02 | [MD]() | - | - | | S01 | Termin waehlen (Slot-Picker) 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Validiert | `/b/{firma}/{slug}` | [MD]() | - | [Canvas]() | @@ -500,7 +504,7 @@ Diese Datei ist der erste Ort, um zu sehen: | WF-P12 Verwaltung | Begriff Board statt Pipeline | Genommen | Das Ding heisst ueberall `Board`. | Dejan 2026-07-13; in K-T1 Lead qualifiziert behoben | | WF-P12 Verwaltung | Erklaer-Box bleibt handgebaut | Genommen | Bewusste Ausnahme: Alert-Komponente kann kein Violett/Gelb und wuerde das Kategorie-Farbschema brechen. | Dejan 2026-07-13 | | WF-P12 Verwaltung | Pflichtfeld-Muster | Genommen | Sternchen im Label + `Pflichtfeld.` am Ende des helpText. Vorbild K-A3 Aufgabe anlegen. | Dejan 2026-07-13 | -| Baukasten (D-D0b) | **Uhrzeit-Komponente fehlt komplett** | Offen | Date Picker ist ein reiner Kalender ohne Zeit. Betrifft **P12 + Plantafel (D-PLAN) + Terminbuchung (D-BOOK) + Kalender**. | Befund 2026-07-13. In P12 vorlaeufig mit Dropdown ueberbrueckt. Braucht eigene Standards-Runde | +| Baukasten (D-D0b) | Date-/Time-Komponenten | Gelöst | Date Picker, Time Picker, Time Panel, Calendar Panel und Date with Time Picker sind im aktuellen Subframe-Bestand vorhanden und im Komponenten-Index dokumentiert. | Kalender-Abgleich 2026-08-31; P12/Plantafel können die Bausteine bei ihrer nächsten Review übernehmen | | WF-P12 Verwaltung | Baustein »Frist oder Termin« ersetzt »Deadline naht« | Genommen | Bezug bekommt zusätzlich `Termin`, Zeitangabe bekommt `danach` neben `vorher`. Deckt Terminerinnerung und Mahnwesen ab; die zwei alten Picker-Einträge entfallen. | Inhalt gebaut; Subframe-Seitenname muss noch von Hand umbenannt werden | | WF-P12 Verwaltung | Zeitplan: Felder wechseln je Wiederholung | Genommen | Täglich → nur Uhrzeit. Wöchentlich → Wochentage + Uhrzeit. Monatlich → Tag im Monat + Uhrzeit. | Monatlicher Zustand ist als eigene Subframe-Seite gebaut und gespiegelt; täglicher Zustand bleibt trivial dokumentiert. | | Baukasten (D-D0b) | Number Input auf exakt 192px festgenagelt | Offen | `min-w` und `max-w` beide 192px: Zahlenfelder koennen weder schmal noch voll breit sein. | Befund 2026-07-13. Aenderung am Baukasten braucht eigene Standards-Runde | @@ -511,11 +515,15 @@ Diese Datei ist der erste Ort, um zu sehen: | WF-D-FORM Form Builder | Simple Builder als Hauptfluss | Review | S02 ist der empfohlene Google-Forms-nahe Haupteditor fuer Handwerksbetriebe; S01B und die alten Advanced-Screens wurden aus dem Obsidian-Handoff entfernt. | David prueft Richtung und Subframe-Feinschliff | | WF-D-FORM Form Builder | Lead-Feldzuweisung | Review | S02L ordnet Formularfragen per Dropdown Lead-Feldern zu; E05 deckt fehlende oder unmoegliche Zuweisungen ab. | Davids Feedback aus dem Mitarbeiterinnen-Paket uebernommen | | WF-D-FORM Form Builder | Scope-Abgrenzung | Genommen | D-FORM umfasst Builder, Public Form, Public States, Design und Antworten-Tabelle; Booking, Kalender, Signatur und HR bleiben eigene Pakete. | Handoff-Datei angelegt | -| WF-P16 Kalender | Vollwertiger Kalender | Genommen (Delta) | Termine anlegen/bearbeiten/loeschen statt reiner Lese-Sicht; eigenes Termin-Objekt noetig. | Change-Request an Dev (AK-P16a); validiert 2026-07-09 | +| WF-P16 Kalender | Vollwertiger Kalender | Genommen | Termine koennen angelegt, geoeffnet, bearbeitet und geloescht werden. | Produktentscheidung validiert 2026-07-09, vereinfacht 2026-08-30 | +| WF-P16 Kalender | Quick Create als Standardweg | Genommen / final | Slot-Klick und `Termin anlegen` öffnen zuerst M01; `Weitere Optionen` übernimmt alle Eingaben in M01b. | David 2026-08-30; Benennung 2026-08-31 synchronisiert | +| WF-P16 Kalender | Quick Create Zeitbearbeitung | Genommen / final | Klick auf die Zeitzeile wechselt in M01a; Start- und Enddatum/-zeit werden inline mit Date-/Time-Pickern bearbeitet. | David 2026-08-31; aktueller Live-State synchronisiert | +| WF-P16 Kalender | Änderungen an Teilnehmende senden | Genommen / final | M03 erscheint nach relevanten Änderungen an einem bestehenden Termin mit Teilnehmenden: Zurück, ohne E-Mail speichern oder E-Mail senden. Keine Push-/In-App-Benachrichtigung und kein Nachrichtenfeld. | David 2026-08-31; M03 gebaut und gerendert | | WF-P16 Kalender | Einladen: Team + Kontakte + freie E-Mails | Genommen (Delta) | Interne sehen Termin im HiveGrid-Kalender, Externe bekommen Mail + .ics; Zu-/Absagen sichtbar. | Teil des CR an Dev | | WF-P16 Kalender | Kollegen-Overlay (Verfuegbarkeit) | Genommen (Delta) | Andere Kalender einblendbar; fremde private Google-Termine nur als »belegt«. | Teil des CR an Dev | -| WF-P16 Kalender | Verbinden-Einstieg im Kalender | Genommen | Hinweis-Karte solange nichts verbunden, danach Zahnrad -> `/calendar/settings`; kein Admin-Umweg (Verbindung pro Nutzer). | OAuth/Trennen aus WF-P5 wiederverwendet | -| WF-P16 Kalender | Konflikt-Verlauf-Ort | Genommen | Sektion in den Kalender-Einstellungen (letzte 50, Klartext); zusaetzlich Benachrichtigung je Aufloesung. | Muster wie Abgleich-Verlauf WF-P5 | +| WF-P16 Kalender | Verbinden-Einstieg im Kalender | Genommen | Hinweis-Karte solange nichts verbunden, danach Zahnrad -> `/settings/integrations/calendar`; kein Admin-Umweg (Verbindung pro Nutzer). | OAuth/Trennen aus WF-P5 wiederverwendet | +| WF-P16 Kalender | Sync-Konfliktfeature | Verworfen / entfernt | Kein Verlauf, keine Benachrichtigung, kein eigener Screen und kein Pop-up. Erlaubt bleibt nur ein kleiner nicht blockierender Badge `Moeglicher Konflikt` direkt an einer Person in M01b/M02. | David 2026-08-30 | +| WF-P16 Kalender | Einstellungsstruktur | Genommen / final | Nur eine schlanke Verbindungsseite auf Basis der echten `SettingsPage`-Komponente. Kalenderansicht, Benachrichtigungen und Datenschutz sind keine Kalender-Unterseiten; Sync-Richtung, Konfliktverlauf und separates Verbindungsdetail bleiben entfernt. | David 2026-08-30; Umfang am 2026-08-31 erneut auditiert und als absichtliche Vereinfachung bestätigt | | WF-P16 Kalender | Outlook-Teaser | Genommen | Provider-Auswahl zeigt Outlook ausgegraut »bald verfuegbar« (v1 nur Google aktiv). | UI bleibt provider-neutral | | WF-P16 Terminbuchung | Kunden-Strecke als 3 Screens + Handy-Frame | Genommen | Termin waehlen -> Fragen -> Bestaetigung als eigene Frames; Handy-Frame vom Slot-Picker. | Validiert 2026-07-09 | | WF-P16 Terminbuchung | Self-Service absagen/verschieben per Mail-Link | Genommen (Delta) | »Wie Calendly«: eigene oeffentliche Seite S04, signierter Link, kein Login. | Change-Request an Dev (AK-P16b) | @@ -563,8 +571,8 @@ Diese Liste sammelt Punkte, die in einzelnen Paketen als `Backlog`, `Spaeter` od | WF-P2 Workspace Settings | Workspace-Settings ausbauen | Backlog | Voraussetzung fuer Konto-/Workspace-Loeschflows; Bereich ist noch nicht gebaut | | WF-P2 Admin RBAC | V2-Backlog | Dokumentiert | Reassign, Rollen-Loeschen mit Ersatzrolle, Gruppen, Rechtekatalog, Rollen-Audit, Rollen-Review, Templates, Rechte-Matrix, Bulk-Aktionen, erweiterter Admin-Schutz | | WF-P16 Kalender | Outlook-Sync | Backlog (v2) | Interface bleibt provider-agnostisch; in der UI als Teaser sichtbar | -| WF-P16 Kalender | Termin-Erinnerungen (Push/Mail) | Backlog/Klaeren | Mit Benachrichtigungen (P3) klaeren; v2-Kandidat | -| WF-P16 Kalender | Tages-Ansicht | Backlog/Klaeren | Zusaetzlich zu Monat/Woche? Beim Subframe-Bau entscheiden | +| WF-P16 Kalender | Termin-Erinnerungen (Push/Mail) | Backlog/Klaeren | Falls spaeter benoetigt, zentral mit WF-P3 loesen; kein eigener Kalender-Einstellungsreiter | +| WF-P16 Kalender | Tages-Ansicht | Backlog/Klaeren | Subframe zeigt `Tag` im S01-Umschalter und als Standardansicht, aber keine gebaute Tag-Darstellung; Entscheidung offen | | WF-P16 Terminbuchung | Wunsch-Mitarbeiter / Round-Robin | Backlog (v2) | v1 nur »erster freier Mitarbeiter«; Kunde waehlt keinen Mitarbeiter | | WF-P16 Terminbuchung | Personalisierte Buchungslinks | Backlog (v2) | v1 nur URL + QR + iFrame | | WF-P16 E-Signatur | Freier PDF-Feldplatzierer | Backlog (v2) | v1 nutzt standardisierte Signatur-/Certificate-Platzierung; kein PDF-Tagger | diff --git a/04 Standards/Subframe UI Standards/05_Komponenten-Index.md b/04 Standards/Subframe UI Standards/05_Komponenten-Index.md index 8eb68cf6..cc492260 100644 --- a/04 Standards/Subframe UI Standards/05_Komponenten-Index.md +++ b/04 Standards/Subframe UI Standards/05_Komponenten-Index.md @@ -16,7 +16,11 @@ Regeln stehen in [[03_Benennung]] und [[04_Gruppenregeln]]. Komponenten-spezifis | Form Inputs | Checkbox | [[Components/Checkbox]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Checkbox_3816e3b5-c48c-499b-b45e-0777c6972523) | | | Form Inputs | Checkbox Group | [[Components/Checkbox Group]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Checkbox+Group_f9f1b596-c6b3-4d60-aa9a-f34b353f8aa5) | | | Form Inputs | Combobox Autocomplete | [[Components/Combobox Autocomplete]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Custom+Component_8a1be2ee-c1b7-4407-9c21-6448306d2700) | | -| Form Inputs | Date Picker | [[Components/Date Picker]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Michelle+Test_Date+Field_8597ff0e-368d-42c9-b5bc-b22473c41104) | | +| Form Inputs | Date Picker | [[Components/Date Picker]] | [Subframe](https://app.subframe.com/f023064a5ca0/design/e0461776-caeb-4bb3-a9a1-7df3bcfe9afe/edit) | | +| Form Inputs | Time Picker | [[Components/Time Picker]] | [Subframe](https://app.subframe.com/f023064a5ca0/design/112bf5fd-6bf3-46ae-859d-571384cc04de/edit) | | +| Form Inputs | Date with Time Picker | [[Components/Date with Time Picker]] | [Subframe](https://app.subframe.com/f023064a5ca0/design/9c475604-cb24-4326-b803-a55a7b851305/edit) | | +| Form Inputs | Calendar Panel | [[Components/Calendar Panel]] | [Subframe](https://app.subframe.com/f023064a5ca0/design/37a3cced-3793-4849-a1bc-2cdeba169093/edit) | | +| Form Inputs | Time Panel | [[Components/Time Panel]] | [Subframe](https://app.subframe.com/f023064a5ca0/design/b72b2762-6e0c-45f9-87ed-c99b67c3982c/edit) | | | Form Inputs | File Upload | [[Components/File Upload]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Upload_28a3336a-2bdd-4d1c-8dc1-75c9d6eef452) | | | Form Inputs | Form Group Input Group | [[Components/Form Group Input Group]] | Noch nicht verlinkt | | | Form Inputs | Input OTP Pin Code | [[Components/Input OTP Pin Code]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Verification+Code_1a223fbe-dca0-4e44-a383-44bbc7db975d) | | @@ -41,8 +45,8 @@ Regeln stehen in [[03_Benennung]] und [[04_Gruppenregeln]]. Komponenten-spezifis | Data Display | Table | [[Components/Table]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Table_142dfde7-d0cc-48a1-a04c-a08ab2252633) | | | Data Display | Tag Label | [[Components/Tag Label]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Tag+_+Label_bb114597-3b27-4c24-a34b-737c67238809) | | | Feedback | Alert | [[Components/Alert]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Alert_3a65613d-d546-467c-80f4-aaba6a7edcd5) | | -| Feedback | Banner Alert | [[Components/Banner Alert]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Michelle+Test_Alert_c836f6cf-ff90-4e2d-991f-5cc256be2b6b) | | -| Feedback | Error State | [[Components/Error State]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Partial+page+failure_db7ae858-338b-4089-8177-2dea8e3b97fe) | | +| Feedback | Banner Alert | [[Components/Banner Alert]] | [Subframe](https://app.subframe.com/f023064a5ca0/design/a3e8dcff-3c57-42da-880f-432bb8ce4100/edit) | | +| Feedback | Error State | [[Components/Error State]] | [Subframe](https://app.subframe.com/f023064a5ca0/design/07f75db5-d9ee-406e-8c83-cb9e3bf687ee/edit) | | | Feedback | Form save retry | [[Components/Form save retry]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Form+save+retry_db7627dd-19cb-457b-bbfd-6fe16d620fe0) | | | Feedback | Loading Indicator ProgressBar | [[Components/Loading Indicator ProgressBar]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Progress_60964db0-a1bf-428b-b9d5-f34cdf58ea77) | | | Feedback | Loading Indicator ProgressCircle | [[Components/Loading Indicator ProgressCircle]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Michelle+Test_Progress+Circle_91a72105-500a-46e2-997b-7e8cd29b5f81) | | @@ -54,12 +58,12 @@ Regeln stehen in [[03_Benennung]] und [[04_Gruppenregeln]]. Komponenten-spezifis | Feedback | Stepper Progress Steps Horizontal | [[Components/Stepper Progress Steps Horizontal]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Stepper_3c5d47dc-1b1a-45d9-b244-18422d7bfb56) | | | Feedback | Stepper Progress Steps Vertikal | [[Components/Stepper Progress Steps Vertikal]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Vertical+Stepper_bdc0291d-b5be-40c5-ae2f-527a868488b2) | | | Feedback | Tooltip | [[Components/Tooltip]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Tooltip_ccebd1e9-f6ac-4737-8376-0dfacd90c9f3) | | -| Overlays | Confirm Dialog | [[Components/Confirm Dialog]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Confirm+Dialog_7826382f-0b13-45d9-ac8f-238fa6de9121) | | +| Overlays | Confirm Dialog | [[Components/Confirm Dialog]] | Nicht mehr im aktuellen Subframe-Bestand (2026-08-25) | | | Overlays | Context Menu | [[Components/Context Menu]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Context+Menu_f8a49f07-fa5b-46c8-9399-cbbf0930cc62) | | | Overlays | Drawer Bottom Sheet | [[Components/Drawer Bottom Sheet]] | Noch nicht verlinkt | | | Overlays | Dropdown Menu | [[Components/Dropdown Menu]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Dropdown+Menu_99951515-459b-4286-919e-a89e7549b43b) | | | Overlays | Modal Dialog | [[Components/Modal Dialog]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Dialog_ca59db17-43fb-4247-8094-3c55162e902d) | | -| Overlays | Result Dialog | [[Components/Result Dialog]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Result+Dialog_15b54873-a4f7-4507-a25a-06739f26cf11) | | +| Overlays | Result Dialog | [[Components/Result Dialog]] | Nicht mehr im aktuellen Subframe-Bestand (2026-08-25) | | | Overlays | Slide Over Side Panel | [[Components/Slide Over Side Panel]] | Noch nicht verlinkt | | | Navigation | Breadcrumb | [[Components/Breadcrumb]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Breadcrumbs_8898334b-a66f-4ee8-8bd1-afcfa8e37cc0) | | | Navigation | Page Header with Back | [[Components/Page Header with Back]] | Noch nicht verlinkt | | @@ -71,7 +75,7 @@ Regeln stehen in [[03_Benennung]] und [[04_Gruppenregeln]]. Komponenten-spezifis | Layout | Card Icon | [[Components/Card Icon]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=MichelleTest_CardIcon_41867f0d-7a6a-4e51-9b08-6cce5a3070b1) | | | Layout | Card Image | [[Components/Card Image]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=MichelleTest_CardImage_1f735087-2381-42e1-8ceb-491a8bc63948) | | | Layout | Page Layout Templates | [[Components/Page Layout Templates]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Default+Page+Layout_a57b1c43-310a-493f-b807-8cc88e2452cf) | | -| Layout | Separator Divider | [[Components/Separator Divider]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=MichelleTest_Divider_d7beb179-8dd1-4635-8e50-38eea311008d) | | +| Layout | Separator Divider | [[Components/Separator Divider]] | Nicht mehr im aktuellen Subframe-Bestand (2026-08-25) | | | Typography | Label | [[Components/Label]] | Noch nicht verlinkt | | | Utility | Dark Mode Toggle | [[Components/Dark Mode Toggle]] | Noch nicht verlinkt | | | Utility | Icon | [[Components/Icon]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=Icon+Feedback_e24ec5dc-9821-430d-8254-1d72a7d46218) | | @@ -80,7 +84,7 @@ Regeln stehen in [[03_Benennung]] und [[04_Gruppenregeln]]. Komponenten-spezifis | Patterns | Copy to Clipboard | [[Components/Copy to Clipboard]] | Noch nicht verlinkt | | | Patterns | Error Recovery | [[Components/Error Recovery]] | Noch nicht verlinkt | | | Patterns | Inline Editing Click to Edit | [[Components/Inline Editing Click to Edit]] | Noch nicht verlinkt | | -| Patterns | Kanban Card | [[Components/Kanban Card]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=MichelleTest_KanbanCard_27235bcb-e61b-4880-9ae6-3f12d290a434) | | +| Patterns | Kanban Card | [[Components/Kanban Card]] | Nicht mehr im aktuellen Subframe-Bestand (2026-08-25) | | | Patterns | Kanban Column | [[Components/Kanban Column]] | [Subframe](https://app.subframe.com/f023064a5ca0/library?component=MichelleTest_KanbanColumn_bbc08458-14aa-4512-a807-e673a64315ab) | | | Patterns | Save State Indicators | [[Components/Save State Indicators]] | Noch nicht verlinkt | | | Patterns | Search Filter Bar | [[Components/Search Filter Bar]] | Noch nicht verlinkt | | diff --git a/04 Standards/Subframe UI Standards/Components/Banner Alert.md b/04 Standards/Subframe UI Standards/Components/Banner Alert.md index aed5bc41..f3e82aa8 100644 --- a/04 Standards/Subframe UI Standards/Components/Banner Alert.md +++ b/04 Standards/Subframe UI Standards/Components/Banner Alert.md @@ -1,5 +1,5 @@ Bereich: #Feedback -Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/library?component=Michelle+Test_Alert_c836f6cf-ff90-4e2d-991f-5cc256be2b6b) +Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/a3e8dcff-3c57-42da-880f-432bb8ce4100/edit) Regeln: - [[03_Benennung]] - [[07_Global-Rules]] diff --git a/04 Standards/Subframe UI Standards/Components/Calendar Panel.md b/04 Standards/Subframe UI Standards/Components/Calendar Panel.md new file mode 100644 index 00000000..ae37fbf6 --- /dev/null +++ b/04 Standards/Subframe UI Standards/Components/Calendar Panel.md @@ -0,0 +1,13 @@ +Bereich: #FormInputs +Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/37a3cced-3793-4849-a1bc-2cdeba169093/edit) +Regeln: +- [[03_Benennung]] +- [[07_Global-Rules]] +- ![[04_Gruppenregeln#Regel: Form Inputs teilen eine Field-Anatomy]] + +## Notizen + +- Gemeinsames Panel für Datum, Datumsbereich und optional Uhrzeit. +- Unterstützt Single-Date, Range und einen Zustand ohne Zeitauswahl. +- Monat, Jahr, ausgewählter Tag und Uhrzeiten müssen immer aus dem aufrufenden Screen kommen. +- Der aktuelle Komponenten-Preview enthält noch feste Beispielwerte. M01a, M01b und M02 dürfen diese nicht als echte Termindaten übernehmen. diff --git a/04 Standards/Subframe UI Standards/Components/Confirm Dialog.md b/04 Standards/Subframe UI Standards/Components/Confirm Dialog.md index e6579b4e..cfe83003 100644 --- a/04 Standards/Subframe UI Standards/Components/Confirm Dialog.md +++ b/04 Standards/Subframe UI Standards/Components/Confirm Dialog.md @@ -1,5 +1,5 @@ Bereich: #Overlays -Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/library?component=Confirm+Dialog_7826382f-0b13-45d9-ac8f-238fa6de9121) +Subframe: Kein eigener Confirm-Dialog-Baustein. Bestätigungsfälle werden mit [[Modal Dialog]] gebaut. Regeln: - [[03_Benennung]] - [[07_Global-Rules]] @@ -7,4 +7,6 @@ Regeln: ## Notizen -- +- Zwei klare Ausgänge reichen für einfache Bestätigungen. +- Wenn eine Aktion drei fachlich verschiedene Ergebnisse hat, müssen alle eindeutig benannt sein. Beispiel: [[M03 Änderungen per E-Mail senden]] mit Zurück, Ohne E-Mail speichern und E-Mail senden. +- Destruktive Aktionen behalten die destruktive Button-Hierarchie; ein Versandentscheid ist neutral und nutzt den normalen primären Button. diff --git a/04 Standards/Subframe UI Standards/Components/Date Picker.md b/04 Standards/Subframe UI Standards/Components/Date Picker.md index c4676c51..012ea586 100644 --- a/04 Standards/Subframe UI Standards/Components/Date Picker.md +++ b/04 Standards/Subframe UI Standards/Components/Date Picker.md @@ -1,5 +1,5 @@ Bereich: #FormInputs -Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/library?component=Michelle+Test_Date+Field_8597ff0e-368d-42c9-b5bc-b22473c41104) +Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/e0461776-caeb-4bb3-a9a1-7df3bcfe9afe/edit) Regeln: - [[03_Benennung]] - [[07_Global-Rules]] @@ -11,4 +11,6 @@ Regeln: ## Notizen -- Basis-Regeln gelten erstmal fuer Single Date. Date Range / von-bis braucht eine eigene offene Regelklaerung. +- Für ein einzelnes Datum direkt verwenden; Datum plus Uhrzeit beziehungsweise von–bis über [[Date with Time Picker]] zusammensetzen. +- Wenn ein Wert angezeigt werden soll, müssen Wert und Has-Value-Zustand gemeinsam gesetzt sein. Sonst bleibt visuell der Platzhalter sichtbar. +- Im Kalender-Flow wird der Date Picker in M01a und M01b zusammen mit dem Time Picker verwendet. diff --git a/04 Standards/Subframe UI Standards/Components/Date with Time Picker.md b/04 Standards/Subframe UI Standards/Components/Date with Time Picker.md new file mode 100644 index 00000000..181d47a6 --- /dev/null +++ b/04 Standards/Subframe UI Standards/Components/Date with Time Picker.md @@ -0,0 +1,15 @@ +Bereich: #FormInputs +Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/9c475604-cb24-4326-b803-a55a7b851305/edit) +Regeln: +- [[03_Benennung]] +- [[07_Global-Rules]] +- ![[04_Gruppenregeln#Regel: Form Inputs teilen eine Field-Anatomy]] +- ![[04_Gruppenregeln#Regel: Form Inputs nutzen definierte Standardbreiten]] + +## Notizen + +- Kombiniert [[Date Picker]] und [[Time Picker]] in einem gemeinsamen Auslöser. +- Im Range-Zustand werden Start und Ende zusammen dargestellt und über ein gemeinsames [[Calendar Panel]] bearbeitet. +- Reihenfolge und Trennzeichen müssen klar als Start → Ende lesbar sein. +- Beim Öffnen aus einem bestehenden Termin oder Kalenderslot müssen alle Werte vorausgefüllt bleiben. +- Im Kalender-Flow verwendet in M01a Quick Create Edit Mode und M01b Termin-Dialog. diff --git a/04 Standards/Subframe UI Standards/Components/Error State.md b/04 Standards/Subframe UI Standards/Components/Error State.md index d4b8ec52..7d707af1 100644 --- a/04 Standards/Subframe UI Standards/Components/Error State.md +++ b/04 Standards/Subframe UI Standards/Components/Error State.md @@ -1,5 +1,5 @@ Bereich: #Feedback -Subframe: [In Subframe oeffnen](https://app.subframe.com/f023064a5ca0/library?component=Partial+page+failure_db7ae858-338b-4089-8177-2dea8e3b97fe) +Subframe: [In Subframe oeffnen](https://app.subframe.com/f023064a5ca0/design/07f75db5-d9ee-406e-8c83-cb9e3bf687ee/edit) Regeln: - [[03_Benennung]] - [[07_Global-Rules]] diff --git a/04 Standards/Subframe UI Standards/Components/Kanban Card.md b/04 Standards/Subframe UI Standards/Components/Kanban Card.md index 4fb8b31c..7a08377e 100644 --- a/04 Standards/Subframe UI Standards/Components/Kanban Card.md +++ b/04 Standards/Subframe UI Standards/Components/Kanban Card.md @@ -1,5 +1,5 @@ Bereich: #Patterns -Subframe: [In Subframe oeffnen](https://app.subframe.com/f023064a5ca0/library?component=MichelleTest_KanbanCard_27235bcb-e61b-4880-9ae6-3f12d290a434) +Subframe: Nicht mehr im aktuellen Projektbestand (MCP-Abgleich 2026-08-25). Regeln: - [[03_Benennung]] - [[07_Global-Rules]] diff --git a/04 Standards/Subframe UI Standards/Components/Result Dialog.md b/04 Standards/Subframe UI Standards/Components/Result Dialog.md index 00daa653..c78949b2 100644 --- a/04 Standards/Subframe UI Standards/Components/Result Dialog.md +++ b/04 Standards/Subframe UI Standards/Components/Result Dialog.md @@ -1,5 +1,5 @@ Bereich: #Overlays -Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/library?component=Result+Dialog_15b54873-a4f7-4507-a25a-06739f26cf11) +Subframe: Nicht mehr im aktuellen Projektbestand (MCP-Abgleich 2026-08-25). Regeln: - [[03_Benennung]] - [[07_Global-Rules]] diff --git a/04 Standards/Subframe UI Standards/Components/Separator Divider.md b/04 Standards/Subframe UI Standards/Components/Separator Divider.md index a3a65e02..230e5374 100644 --- a/04 Standards/Subframe UI Standards/Components/Separator Divider.md +++ b/04 Standards/Subframe UI Standards/Components/Separator Divider.md @@ -1,5 +1,5 @@ Bereich: #Layout -Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/library?component=MichelleTest_Divider_d7beb179-8dd1-4635-8e50-38eea311008d) +Subframe: Nicht mehr im aktuellen Projektbestand (MCP-Abgleich 2026-08-25). Regeln: - [[03_Benennung]] - [[07_Global-Rules]] diff --git a/04 Standards/Subframe UI Standards/Components/Time Panel.md b/04 Standards/Subframe UI Standards/Components/Time Panel.md new file mode 100644 index 00000000..7bb9a769 --- /dev/null +++ b/04 Standards/Subframe UI Standards/Components/Time Panel.md @@ -0,0 +1,12 @@ +Bereich: #FormInputs +Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/b72b2762-6e0c-45f9-87ed-c99b67c3982c/edit) +Regeln: +- [[03_Benennung]] +- [[07_Global-Rules]] +- ![[04_Gruppenregeln#Regel: Form Inputs teilen eine Field-Anatomy]] + +## Notizen + +- Interne Auswahlliste für Stunde und Minute innerhalb des [[Time Picker]] beziehungsweise [[Calendar Panel]]. +- Genau ein Stunden- und ein Minutenwert sind aktiv. +- Tastaturbedienung, Scrollposition und Fokus müssen im Development erhalten bleiben. diff --git a/04 Standards/Subframe UI Standards/Components/Time Picker.md b/04 Standards/Subframe UI Standards/Components/Time Picker.md new file mode 100644 index 00000000..262c85a3 --- /dev/null +++ b/04 Standards/Subframe UI Standards/Components/Time Picker.md @@ -0,0 +1,14 @@ +Bereich: #FormInputs +Subframe: [In Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/112bf5fd-6bf3-46ae-859d-571384cc04de/edit) +Regeln: +- [[03_Benennung]] +- [[07_Global-Rules]] +- ![[04_Gruppenregeln#Regel: Control-Hoehen fuer Button und Form Inputs]] +- ![[04_Gruppenregeln#Regel: Form Inputs teilen eine Field-Anatomy]] + +## Notizen + +- Verwendet dieselben Größen-, Fehler-, Disabled- und Label-Zustände wie andere Form Inputs. +- Ein gesetzter Wert wird nur im Has-Value-Zustand sichtbar; andernfalls bleibt der Platzhalter stehen. +- Innerhalb von [[Date with Time Picker]] kann der eigene Dropdown-Auslöser deaktiviert werden, damit nur ein gemeinsames Panel öffnet. +- Die eigentliche Stunden-/Minutenauswahl verwendet [[Time Panel]]. diff --git a/05 HiveGrid Map/HiveGrid Map.canvas b/05 HiveGrid Map/HiveGrid Map.canvas index 2ae91d3f..abc6f372 100644 --- a/05 HiveGrid Map/HiveGrid Map.canvas +++ b/05 HiveGrid Map/HiveGrid Map.canvas @@ -14,29 +14,27 @@ {"id":"7a26f88c260892eb","type":"group","x":1950,"y":0,"width":557,"height":740,"color":"3","label":"WEBSITE 🌐"}, {"id":"2025c7621bb63c98","type":"group","x":2737,"y":0,"width":540,"height":740,"color":"4","label":"LOGIN & ZUGÄNGE"}, {"id":"3c6e5b1ea4a27913","type":"group","x":7297,"y":2080,"width":540,"height":740,"label":"HR (MITARBEITER)"}, - {"id":"77ebfde5a3a05b8a","type":"text","text":"## Online-Terminbuchung 🌐\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** 🌐 Buchungslink + `/bookings`\n\n**Was drin ist:** 🌐 Buchungs-Seite für Kunden (freien Termin wählen → Formular → Bestätigung mit Kalender-Datei), intern: Buchungs-Liste (verschieben, stornieren, No-Show), Buchungsseiten-Editor (Fragen mit Feld-Zuordnung zum Lead), Verfügbarkeits-Zeiten — Davids Delta: Kunde kann per Mail-Link selbst absagen/verschieben\n\n**So funktioniert's:** Kunde bucht selbst, der erste freie Mitarbeiter bekommt den Termin, die Anfrage landet im Lead-Eingang. Muss am schönsten aussehen — ist öffentlich.","x":3067,"y":2160,"width":460,"height":360,"color":"2"}, - {"id":"6b8c7d3bc3ee7449","type":"text","text":"## Formulare (Baukasten) 🌐\n**Ticket:** `D-FORM` + `D-P16` (Teil) · **Status:** 🟡 Review-Draft (Mitarbeiterinnen-Paket eingebaut, David Review offen)\n**Wo:** `/forms` + öffentlicher Link\n\n**Was drin ist:** Formular-Zentrale, einfacher Google-Forms-naher Builder S02, Lead-Feldzuweisung S02L/E05, Design, Antworten-Tabelle, 🌐 öffentliches Formular mit Erfolg/Blocker/Submit-Fehler\n\n**So funktioniert's:** S02 ist der Hauptfluss für Handwerksbetriebe; Advanced-Canvas, Logic/Actions und Publish-Blocker bleiben als Referenz/Power-User-Richtung. D-FORM kann später in Terminbuchung, HR und Abnahme-Vorlagen eingesteckt werden.","x":2560,"y":2160,"width":460,"height":360,"color":"2"}, - {"id":"28bd46ecb4eaa069","type":"text","text":"## Kalender\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/calendar` + Einstellungen\n\n**Was drin ist:** Monats-/Wochen-Ansicht mit allen Terminen (Google-Kalender + Buchungen + Plantafel, je mit Herkunfts-Marker), Google-Kalender verbinden, Konflikt-Übersicht — Davids Delta: Termine anlegen + einladen (Team/Kontakte/freie E-Mails), Kollegen-Overlay\n\n**So funktioniert's:** Läuft in beide Richtungen mit Google (Outlook kommt in v2). Fremde private Termine erscheinen nur als »belegt«.","x":3837,"y":2160,"width":460,"height":360,"color":"2"}, - {"id":"a5fedec01fe8bd0b","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas","x":2560,"y":2560,"width":460,"height":220}, - {"id":"4dcc2ddf551aa917","type":"file","file":"02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas","x":3837,"y":2560,"width":460,"height":220}, - {"id":"b75d102c4db2d32f","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas","x":3067,"y":2560,"width":460,"height":220}, {"id":"8f3127f03a5bab96","type":"text","text":"## Automations-Baukasten (Flow-Editor)\n**Ticket:** `D-FLOW` · **Status:** ✅ validiert / Development-Handoff\n**Wo:** `/automations/:id/edit`\n\n**Final:** Vollbild-Canvas, 31er-Baustein-Picker, Kontextmenü, 32 Konfigurationsdialoge, reduzierte Start-Auswahl sowie Bestätigungen für Aktivieren/Pausieren. M03 V3 bleibt als Referenz. Der Workflow-Engine-Flow umfasst 39 Seiten.\n\nKein eigener Screen für gefüllten Editor, Probelauf oder Schleifen-/Ratenwarnung. **Aufwendigste UI der ganzen App.**","x":2150,"y":3100,"width":460,"height":360,"color":"1"}, {"id":"e6d8c36a0f89d954","type":"text","text":"## Automationen: Übersicht & Verläufe\n**Ticket:** `D-P12` · **Status:** ✅ validiert / Development-Handoff\n**Wo:** `/automations`\n\n**Final:** Eigener Verwaltungs-Flow mit 5 Seiten: S01 Automation-Liste, S02 Lauf-Liste, S03 Lauf-Detail, M04 Vorlagen-Katalog und S06 Zugangsdaten. Zusammen mit den 39 Workflow-Engine-Seiten sind 44/44 aktuelle Seiten synchronisiert.\n\nDie 32 Konfigurationsdialoge bleiben einzeln dokumentiert.","x":3067,"y":3100,"width":460,"height":360,"color":"2"}, {"id":"8272764aa65537b0","type":"text","text":"## Lead-Eingang (Anfragen)\n**Ticket:** `D-P7` · **Status:** ✅ Development-Handoff\n**Quelle:** final 20/20 Seiten abgeglichen · S01 neue UUID · Subframe unverändert\n**Wo:** Eingang → Arbeitsliste → Lead-Record\n\n**Gebaut:** Karten-/Listen-Triage, priorisierte Arbeit, Record, Anlage/Dubletten, nächste Aktion, E-Mail und Dialer. M01 konvertiert final zu einem Deal.\n\n**Folgethemen:** ältere Projekt-Konversion, Freigabe/Zielwahl sowie Statistik, Quellen, Anti-Spam und CSV.","x":2007,"y":1040,"width":460,"height":360,"color":"5"}, {"id":"487ffd8c4ba06816","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas","x":2007,"y":1440,"width":460,"height":220}, {"id":"d9868dadb782f253","type":"text","text":"## Kontakte & Organisationen\n**Ticket:** `D-CRM` · **Status:** ✅ Development-Handoff\n**Quelle:** Subframe · 13/13 Seiten gelesen und gerendert\n**Wo:** `/contacts`\n\n**Final:** getrennte Personen-/Organisationslisten, S03/S04 als Pipeline-native Karteikarten, sechs Werkzeugzustände, Duplikatentscheidungen und Archivierung. Anlage und Relationspflege passieren direkt in S03/S04.\n\n**Modell:** Status optional; Primär/Sekundär liegt an der Relation, 0..n je Bereich; Relationsbezeichnung optional. Backlog bleibt separat.","x":3077,"y":1040,"width":460,"height":360,"color":"4"}, {"id":"e7b3227af605e50f","type":"file","file":"02 Wireframes/P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas","x":3077,"y":1440,"width":460,"height":220}, - {"id":"e10a35560a461111","type":"text","text":"## Kanban-Board & Pipelines (Projekte)\n**Ticket:** `D-P8` + `D-KANBAN` · **Status:** 🟢 in Subframe, 23/23 Seiten abgeglichen (2026-07-28)\n**Wo:** Boards-Startseite + Board/Liste + Admin\n\n**Was drin ist:** S00 Board-Auswahl, S01 Kanban und S03 Liste mit Empty States, S02 Projekt-Detail, Board-/Verlustgrund-/Detailfeld-Verwaltung sowie alle Modals.\n\n**Für Development validiert:** S07 → S04 Board-Einstellungsdetail; S03 setzt den aktiven Pipeline-Namen ein; Karten-Rechtsklick öffnet M03; letzte Stage/finaler Status öffnet M04 automatisch. Details und direkte Screen-Links liegen im P8-Paket.","x":4037,"y":1040,"width":460,"height":360,"color":"4"}, - {"id":"dffe68e69f10ce02","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas","x":4037,"y":1440,"width":460,"height":220}, {"id":"e19722e166e60234","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/WF-P12 Flow-Editor.canvas","x":2150,"y":3500,"width":460,"height":220}, {"id":"1e6745655cfaf5c0","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/WF-P12 Verwaltung.canvas","x":3067,"y":3500,"width":460,"height":220}, - {"id":"4cce52e2e3bd8823","type":"text","text":"## Versand-Technik & Statistiken 🌐\n**Ticket:** `D-P14` · **Status:** ⬜ offen\n**Wo:** `/email-marketing` + Einstellungen\n\n**Was drin ist:** Eigene Absender-Domain einrichten (mit Copy-Paste-Anleitung), Kampagnen-Übersicht + Statistiken (zugestellt/geöffnet/geklickt), gesperrte Empfänger, Vorlagen, 🌐 Abmelde-Seite\n\n**So funktioniert's:** Mails an Kunden tauchen automatisch am Kontakt auf (BCC-Trick, kein Postfach-Anschluss nötig — der kommt in v2).","x":1850,"y":2160,"width":460,"height":360,"color":"2"}, - {"id":"ab16fe58ff28c0ac","type":"text","text":"## Kampagnen & Empfängerlisten\n**Ticket:** `D-KAMP` · **Status:** ⬜ offen\n**Wo:** `/email-marketing`\n\n**Was drin ist:** Kampagne erstellen in 6 Schritten (Absender → Inhalt → Empfänger → Test-Mail → Zeitpunkt → Check) · Empfängerlisten (Segmente) mit Filtern bauen\n\n**So funktioniert's:** Vor dem Versand prüft eine Checkliste alles Rechtliche (Domain bestätigt? Abmelde-Link? Impressum?) — bei Rot wird nicht gesendet.","x":1200,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"e10a35560a461111","type":"text","text":"## Kanban-Board & Pipelines (Projekte)\n**Ticket:** `D-P8` + `D-KANBAN` · **Status:** ✅ validiert / Development-Handoff\n**Quelle:** Subframe · 23/23 Seiten abgeglichen\n**Wo:** Boards-Startseite + Board/Liste + Admin\n\n**Was drin ist:** S00 Board-Auswahl, S01 Kanban und S03 Liste mit Empty States, S02 Projekt-Detail, Board-/Verlustgrund-/Detailfeld-Verwaltung sowie alle Modals.\n\n**Für Development validiert:** S07 → S04 Board-Einstellungsdetail; S03 setzt den aktiven Pipeline-Namen ein; Karten-Rechtsklick öffnet M03; letzte Stage/finaler Status öffnet M04 automatisch. Details und direkte Screen-Links liegen im P8-Paket.","x":4037,"y":1040,"width":460,"height":360,"color":"4"}, + {"id":"dffe68e69f10ce02","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas","x":4037,"y":1440,"width":460,"height":220}, {"id":"903e3384b0a5e623","type":"text","text":"**Detail-Flows:** 9 Wireframe-Pakete mit eigenen Canvases in eigenständigen `02 Wireframes/P2 …/`-Toolordnern (Login, Signup, Reset, Set Password, 2FA, RBAC …) — siehe Tracker","x":2777,"y":480,"width":460,"height":220}, {"id":"3e27875daca5713d","type":"text","text":"## Login, Registrierung & Workspace\n**Ticket:** `D-P2` · **Status:** ✅ validiert / in Subframe\n**Wo:** Login-Seiten + Einstellungen\n\n**Was drin ist:** Registrierung, Login + 2FA, Passwort vergessen/ändern, Workspace-Auswahl + neuer Workspace, Profil & Sicherheit, Mitarbeiter & Rollen (Admin)\n\n**Stand:** 9 Wireframe-Pakete fertig gebaut. Konto/Workspace löschen bewusst geparkt. → eigenständige `02 Wireframes/P2 …/`-Toolordner","x":2777,"y":80,"width":460,"height":360,"color":"4"}, {"id":"ce5632682989a6ca","type":"text","text":"## Website (Landing & Demo-Anfrage)\n**Ticket:** `D-WEB` · **Status:** ⬜ offen\n**Wo:** 🌐 hivegrid.de\n\n**Was drin ist:** Startseite, Features-Seite, Preise-Teaser, Demo-Anfrage-Formular\n\n**Warum wichtig:** Der erste Eindruck nach außen. Farben/Schriften sind dieselben wie in der App. Demo-Anfragen landen im Lead-Eingang.","x":2007,"y":80,"width":460,"height":360,"color":"2"}, + {"id":"89c0813f7e139a88","type":"text","text":"## Dashboard (Startseite)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** `/dashboard`\n\n**Was drin ist:** 3 feste Ansichten je Rolle: Chef (Umsatz, Projekte, Auslastung) · Büro (Projekte, Aufgaben, Anrufe) · Monteur 📱 (meine Termine, Projekte, Aufgaben)\n\n**So funktioniert's:** Kacheln mit Zahlen, Listen und Trend-Charts, live aktualisiert. Kein freies Umbauen in v1 — nur Filter/Zeitraum einstellbar.","x":4037,"y":80,"width":460,"height":360,"color":"2"}, + {"id":"4a4e5be847a54e5f","type":"text","text":"## Suche (Cmd+K)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/search`\n\n**Was drin ist:** Such-Fenster per Tastenkürzel: tippen, Treffer nach Typ gruppiert, mit Pfeiltasten navigieren · dazu große Such-Seite mit Filtern\n\n**So funktioniert's:** Findet Kontakte, Projekte, Dateien usw. — zeigt nur, was man sehen darf.","x":4537,"y":80,"width":460,"height":360,"color":"1"}, + {"id":"4cce52e2e3bd8823","type":"text","text":"## Versand-Technik & Statistiken 🌐\n**Ticket:** `D-P14` · **Status:** ⬜ offen\n**Wo:** `/email-marketing` + Einstellungen\n\n**Was drin ist:** Eigene Absender-Domain einrichten (mit Copy-Paste-Anleitung), Kampagnen-Übersicht + Statistiken (zugestellt/geöffnet/geklickt), gesperrte Empfänger, Vorlagen, 🌐 Abmelde-Seite\n\n**So funktioniert's:** Mails an Kunden tauchen automatisch am Kontakt auf (BCC-Trick, kein Postfach-Anschluss nötig — der kommt in v2).","x":1850,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"ab16fe58ff28c0ac","type":"text","text":"## Kampagnen & Empfängerlisten\n**Ticket:** `D-KAMP` · **Status:** ⬜ offen\n**Wo:** `/email-marketing`\n\n**Was drin ist:** Kampagne erstellen in 6 Schritten (Absender → Inhalt → Empfänger → Test-Mail → Zeitpunkt → Check) · Empfängerlisten (Segmente) mit Filtern bauen\n\n**So funktioniert's:** Vor dem Versand prüft eine Checkliste alles Rechtliche (Domain bestätigt? Abmelde-Link? Impressum?) — bei Rot wird nicht gesendet.","x":1200,"y":2160,"width":460,"height":360,"color":"2"}, {"id":"e21930b7073823f8","type":"text","text":"## Aufgaben\n**Ticket:** `D-P4` (Teil) · **Status:** ✅ Development-Handoff\n**Wo:** `/tasks` + überall als Reiter\n\n**Bestand:** 16 Live-Seiten. [Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/192a194e-bb51-4f4c-9f02-7c05d26584e8/edit)\n\n**Final:** S01 B3, S02 Versuch 4, S03 Drawer, M01, V01 Tabelle + Minimal sowie zehn Interaktionsmodals.\n\n**Abgesichert:** Notiz-, Datei-, Verknüpfungs-, Dirty-Close- und Löschpfade; M02/M02b mit blauem `Lieber archivieren`. Zustände/Feedback stehen in Z01. Mobile ist nicht Teil der Abnahme.\n\n**Hinweis:** Flow heißt weiter `WF-P16 Aufgaben`; eindeutig dokumentiert und nicht blockierend.","x":800,"y":3100,"width":460,"height":400,"color":"4"}, {"id":"036e2a807223753d","type":"text","text":"## Dateien\n**Ticket:** `D-P4` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/files` + überall als Reiter\n\n**Was drin ist:** Datei-Übersicht (Tabelle oder Kacheln, Filter, Mehrfach-Aktionen inkl. ZIP), Upload per Drag&Drop (mehrere gleichzeitig, mit Fortschritt), Datei-Detail mit Vorschau\n\n**So funktioniert's:** Dateien hängen an Kontakten/Projekten/… mit Rolle (z. B. »Angebot«). iPhone-Fotos (HEIC) werden automatisch zu JPG. Versionen kommen in v2.","x":1450,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"a1328943a7cef3b2","type":"file","file":"02 Wireframes/P4 Dateien/WF-P4 Dateien/WF-P4 Dateien.canvas","x":1450,"y":3500,"width":460,"height":220}, + {"id":"98798c9044c1d4bc","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas","x":800,"y":3500,"width":460,"height":220}, {"id":"d48196ed3e229be5","type":"text","text":"**Standards:** `04 Standards/Subframe UI Standards/` — validierte Layout-Regeln","x":690,"y":480,"width":460,"height":220}, {"id":"c02969250252a3ab","type":"text","text":"## Feinschliff vor Launch\n**Ticket:** `D-POLISH` · **Status:** ⬜ offen\n**Wo:** 🌐 alles öffentlich Sichtbare\n\n**Was drin ist:** Letzter Polier-Durchgang: Terminbuchungs-Seite, öffentliche Formulare, Marketing-Mails · danach Screenshots als »So muss es aussehen«-Referenz einfrieren\n\n**Warum wichtig:** Kommt ganz am Ende, direkt vor dem Launch. Braucht Terminbuchung + Dashboard fertig.","x":1190,"y":80,"width":460,"height":360,"color":"3"}, {"id":"d53e7ea48a9b1e6c","type":"text","text":"## UI-Baukasten (Listen, Formulare, Modals …)\n**Ticket:** `D-D0b` · **Status:** ✅ validiert\n**Wo:** überall in der App\n\n**Was drin ist:** Fertige Bausteine: Listen mit Filter, Detail-Seiten, Formular-Felder (12 Typen), Dialoge/Wizards, Settings-Seiten, Leer-/Lade-/Fehler-Zustände + Kleinteile (Buttons, Tags, Charts, Unterschriften-Feld …)\n\n**Warum wichtig:** Einmal designen, überall wiederverwenden. Layout-Standards liegen in `04 Standards`. ✅ Bereits erledigt.","x":690,"y":80,"width":460,"height":360,"color":"4"}, @@ -53,35 +51,37 @@ "height":420 }, {"id":"c3ff54579acc3b17","type":"file","file":"05 HiveGrid Map/HiveGrid Map.md","x":-683,"y":-600,"width":460,"height":300}, - {"id":"a1328943a7cef3b2","type":"file","file":"02 Wireframes/P4 Dateien/WF-P4 Dateien/WF-P4 Dateien.canvas","x":1450,"y":3500,"width":460,"height":220}, - {"id":"98798c9044c1d4bc","type":"file","file":"02 Wireframes/P4 Aufgaben/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas","x":800,"y":3500,"width":460,"height":220}, - {"id":"ccd329042d522b12","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.canvas","x":5537,"y":3500,"width":460,"height":220}, + {"id":"7ed4a9c13b0f6e52","type":"file","file":"Todo.md","x":-683,"y":-260,"width":460,"height":220,"color":"3"}, + {"id":"401d8270854bebac","type":"text","text":"## Team-Chat\n**Ticket:** `D-CHAT` · **Status:** ✅ validiert / Development-Handoff\n**Quelle:** Subframe · 24/24 Screens synchronisiert\n\n**Aktueller Flow:** Chat-Auswahl, Projektchat, freie Gruppe, private DM, Thread, Text- und Audio-Composer, direkte Kontaktwahl, ein global oder chatbezogen wiederverwendbarer Medienflow sowie getrennte Gruppen- und Projektchat-Einstellungen.\n\n**Finale Korrekturen:** Filter Bar und Checkboxen sind Standard; Verlassen und Archivieren haben eigene Modale.\n\n**Übergabe:** UX-Validierung und Development-Handoff sind abgeschlossen.","x":5077,"y":2160,"width":460,"height":420,"color":"2"}, {"id":"3864f1b74d665e1a","type":"file","file":"02 Wireframes/P3 Audit Log/WF-P3 Audit Log/WF-P3 Audit Log.canvas","x":6037,"y":3500,"width":460,"height":220}, - {"id":"b334f15bdd19d9ad","type":"text","text":"## Erste Schritte & Demo-Daten\n**Ticket:** `D-P20` (Teil) · **Status:** ⬜ offen\n**Wo:** `/onboarding` + Admin\n\n**Was drin ist:** Erste-Schritte-Checkliste (mit Direkt-Links, abhakbar, ausblendbar), Beispieldaten-Knopf (anlegen, zählen, wieder löschen, »Demo ausblenden«-Filter), Hell/Dunkel-Umschalter\n\n**So funktioniert's:** Kein Einrichtungs-Assistent — beim Registrieren wird alles SHK-typisch vorbefüllt, die Checkliste führt danach durch.","x":5537,"y":3760,"width":460,"height":360,"color":"5"}, {"id":"6533d410b309a48f","type":"text","text":"## Datenschutz (Export & Löschung)\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** `/admin/privacy` + Einstellungen\n\n**Was drin ist:** Daten-Export als ZIP (für einen Nutzer oder den ganzen Workspace), Workspace-Löschung (mehrstufig, 30 Tage Schonfrist, Passwort + 2FA), Konto-Löschung, Liste der Unterauftragsverarbeiter, AVV-Vertrag\n\n**So funktioniert's:** Letzter Baustein vor dem Launch. DSGVO-Auskunftsanfragen laufen in v1 als manuelle Anleitung, ohne eigenen Assistenten.","x":6037,"y":3760,"width":460,"height":360,"color":"5"}, {"id":"03e8e03ef11606a0","type":"text","text":"## HR-Bereich 📱\n**Ticket:** `D-HR` · **Status:** ⬜ offen\n**Wo:** `/hr` + HR-Admin\n\n**Was drin ist:** Startseite (Ankündigungen, offene Anträge, wer ist heute da), Urlaub & Krankmeldung (mit Genehmigung), Lohnabrechnungen, Anträge (Spesen, Hardware …), Passwort-Safe, Umfragen, Mitarbeiter-Verzeichnis, Standorte, eigene Dokumente\n\n**So funktioniert's:** Mitarbeiter-Sicht und HR-Verwaltung sind strikt getrennt; sensible Daten verschlüsselt, jedes Aufdecken protokolliert. Urlaub/krank fließt direkt in die Plantafel-Konflikte.","x":7337,"y":2160,"width":460,"height":360,"color":"5"}, {"id":"c8d8914e45e1497e","type":"text","text":"## Plattform-Admin\n**Ticket:** `D-ADMIN` · **Status:** ⬜ offen\n**Wo:** admin.hivegrid.de\n\n**Was drin ist:** Eigener Login (2FA Pflicht), Übersichts-Dashboard (Kunden, Nutzer, Umsatz, System-Zustand), Kunden-Verwaltung (Module freischalten = Abo-Baukasten, Test verlängern, »als Kunde einloggen« mit Begründung), Nutzer-Hilfen (2FA-Reset), Feature-Schalter, Warteschlangen-Monitor, Support-Inbox, Protokoll\n\n**So funktioniert's:** Komplett eigene Welt für uns als Betreiber — Kunden sehen davon nichts. Muss funktionieren, nicht hübsch sein.","x":7337,"y":3100,"width":460,"height":360,"color":"5"}, {"id":"abf5f779c1463715","type":"text","text":"## Hinweis\nDieses eine Ticket enthält viele kleine Features (Kunden, Schalter, Support …).\n\nBeim atomaren Durchgehen behandeln wir es als eigenen Bereich und teilen es bei Bedarf in Unter-Pakete auf. Priorität liegt aber hinter der Vertriebs-/Auftrags-Kette.","x":7337,"y":3760,"width":460,"height":360,"color":"5"}, - {"id":"7ed4a9c13b0f6e52","type":"file","file":"Todo.md","x":-683,"y":-260,"width":460,"height":220,"color":"3"}, - {"id":"401d8270854bebac","type":"text","text":"## Team-Chat\n**Ticket:** `D-CHAT` · **Status:** 🟡 bereit zur Validierung\n**Quelle:** Subframe · 22/22 Screens synchronisiert\n\n**Aktueller Flow:** Chat-Auswahl, Projektchat, freie Gruppe, private DM, Thread, Text- und Audio-Composer, direkte Kontaktwahl, ein global oder chatbezogen wiederverwendbarer Medienflow sowie getrennte Gruppen- und Projektchat-Einstellungen.\n\n**Finale Korrekturen:** Filter Bar und Checkboxen sind Standard; Verlassen und Archivieren haben eigene Modale.\n\n**Nächster Schritt:** Die vier Teilflüsse in der Obsidian-Canvas gemeinsam Screen für Screen validieren.","x":5077,"y":2160,"width":460,"height":420,"color":"2"}, - {"id":"0dd112848b0f0dff","type":"file","file":"02 Wireframes/P15 Team-Chat/WF-P15 Team-Chat/WF-P15 Team-Chat.canvas","x":5077,"y":2560,"width":460,"height":220}, - {"id":"5c72e7b04059503a","type":"text","text":"## Integrationen (Apps verbinden)\n**Ticket:** `D-P5` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/admin/integrations`\n\n**Was drin ist:** App-Katalog (nach Kategorie, mit Status-Ampel), Verbindung einrichten per Schritt-für-Schritt-Assistent, Verbindungs-Zustand + Sync-Verlauf in Klartext\n\n**So funktioniert's:** Das gemeinsame Gerüst für alle Anbindungen — E-Mail, Telefonie, Kalender, Signatur nutzen alle dieselben Verbindungs-Karten.","x":5537,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"0dd112848b0f0dff","type":"file","file":"02 Wireframes/P15 Team-Chat/WF-P15 Team-Chat/WF-P15 Team-Chat.canvas","x":5077,"y":2600,"width":460,"height":220}, {"id":"29ca06733a9b243b","type":"text","text":"## Telefonie (Anrufe)\n**Ticket:** `D-P15` · **Status:** ⬜ offen\n**Wo:** `/calls` + Einstellungen\n\n**Was drin ist:** AirCall verbinden (Telefon-Nutzer zuordnen), Anruf-Liste + Detail (Notiz, Aufnahme), Anruf-Knopf direkt an Kontakt/Anfrage/Projekt\n\n**So funktioniert's:** Anrufe werden automatisch dem richtigen Kontakt zugeordnet. Unbekannte Nummer ruft an → wird automatisch eine Anfrage im Lead-Eingang.","x":5577,"y":2160,"width":460,"height":360,"color":"5"}, {"id":"0f6acf7087283c0c","type":"text","text":"## Aktivitäts-Protokoll (Audit-Log)\n**Ticket:** `D-P3` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/admin/audit`\n\n**Was drin ist:** Wer hat wann was geändert — als deutscher Klartext-Satz, mit Filter und Vorher/Nachher-Vergleich, Export mit Zweck-Angabe\n\n**So funktioniert's:** Der gleiche Verlauf ist auch an jedem Datensatz einblendbar (»Verlauf dieses Objekts«). Unterscheidet Mensch / Automation / Agent / Admin.","x":6037,"y":3100,"width":460,"height":360,"color":"5"}, {"id":"50945ed6e43505ce","type":"text","text":"## Benachrichtigungen\n**Ticket:** `D-P3` (Teil) · **Status:** ✅ validiert / Development-Handoff\n**Wo:** Glocke oben + `/notifications` + Einstellungen\n\n**Was drin ist:** Live-Karten, Glocken-Drawer, chronologische Vollseite, Quellenfilter, Read-State und Pflicht-Deeplinks. Einstellungen steuern Live-Pop-ups global und je Quelle.\n\n**So funktioniert's:** Relevante Ereignisse bleiben im Center; Status-Toasts und Mikro-Feedback sind flüchtiges Produktfeedback. E-Mail ist nur eine Quelle, kein Versandkanal.","x":6077,"y":2160,"width":460,"height":360,"color":"5"}, + {"id":"ccd329042d522b12","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.canvas","x":5537,"y":3500,"width":460,"height":220}, + {"id":"b334f15bdd19d9ad","type":"text","text":"## Erste Schritte & Demo-Daten\n**Ticket:** `D-P20` (Teil) · **Status:** ⬜ offen\n**Wo:** `/onboarding` + Admin\n\n**Was drin ist:** Erste-Schritte-Checkliste (mit Direkt-Links, abhakbar, ausblendbar), Beispieldaten-Knopf (anlegen, zählen, wieder löschen, »Demo ausblenden«-Filter), Hell/Dunkel-Umschalter\n\n**So funktioniert's:** Kein Einrichtungs-Assistent — beim Registrieren wird alles SHK-typisch vorbefüllt, die Checkliste führt danach durch.","x":5537,"y":3760,"width":460,"height":360,"color":"5"}, + {"id":"5c72e7b04059503a","type":"text","text":"## Integrationen (Apps verbinden)\n**Ticket:** `D-P5` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/admin/integrations`\n\n**Was drin ist:** App-Katalog (nach Kategorie, mit Status-Ampel), Verbindung einrichten per Schritt-für-Schritt-Assistent, Verbindungs-Zustand + Sync-Verlauf in Klartext\n\n**So funktioniert's:** Das gemeinsame Gerüst für alle Anbindungen — E-Mail, Telefonie, Kalender, Signatur nutzen alle dieselben Verbindungs-Karten.","x":5537,"y":3100,"width":460,"height":360,"color":"5"}, {"id":"6b3c0929759a607b","type":"text","text":"## Abo & Rechnungen (für HiveGrid)\n**Ticket:** `D-P20` (Teil) · **Status:** ⚠️ Ticket braucht Recut\n**Wo:** `/admin/subscription`\n\n**Was drin ist:** Abo-Übersicht (Plan, Plätze, gebuchte Module, Test-Countdown), Verbrauchs-Balken (Automations-Läufe, Speicher), Rechnungen + Zahlungsstatus\n\n**Achtung:** Das Ticket wird gerade umgeschnitten (neuer Abrechnungs-Unterbau) — erst planen, wenn der Brief neu steht. Kein Selbst-Upgrade in v1.","x":6537,"y":3100,"width":460,"height":360,"color":"5"}, {"id":"db76161d24fb0c1d","type":"text","text":"## Feedback & Hilfe\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/help`\n\n**Was drin ist:** Schwebender Feedback-Knopf (Fehler melden / Idee / Frage, optional mit Screenshot), kleine FAQ-Seite\n\n**So funktioniert's:** Meldungen landen direkt in unserer Support-Inbox im Plattform-Admin.","x":6537,"y":3760,"width":460,"height":360,"color":"5"}, - {"id":"89c0813f7e139a88","type":"text","text":"## Dashboard (Startseite)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** `/dashboard`\n\n**Was drin ist:** 3 feste Ansichten je Rolle: Chef (Umsatz, Projekte, Auslastung) · Büro (Projekte, Aufgaben, Anrufe) · Monteur 📱 (meine Termine, Projekte, Aufgaben)\n\n**So funktioniert's:** Kacheln mit Zahlen, Listen und Trend-Charts, live aktualisiert. Kein freies Umbauen in v1 — nur Filter/Zeitraum einstellbar.","x":4037,"y":80,"width":460,"height":360,"color":"2"}, {"id":"4bb807ef5e3c8dee","type":"text","text":"## Projekt-Akte (Auftrag) 📱\n**Ticket:** `D-P9` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Reiter am Projekt: Team-Mitglieder, Termine, **Rechnungen (neu in v1)**, Checklisten & Mängel, Aufgaben, Dateien, Abnahmen · dazu Projekt-Vorlagen und Abnahme-Formular-Vorlagen\n\n**So funktioniert's:** Alles zum Auftrag an einem Ort. Am Handy reduziert: Stammdaten, heutige Aufgaben, Abnahme-Knopf, Foto direkt hochladen.","x":5077,"y":1040,"width":460,"height":360,"color":"2"}, {"id":"5e02b1bae66787d4","type":"file","file":"02 Wireframes/P9 Projekt-Akte/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.canvas","x":5077,"y":1440,"width":460,"height":220}, + {"id":"77ebfde5a3a05b8a","type":"text","text":"## Online-Terminbuchung 🌐\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** 🌐 Buchungslink + `/bookings`\n\n**Was drin ist:** 🌐 Buchungs-Seite für Kunden (freien Termin wählen → Formular → Bestätigung mit Kalender-Datei), intern: Buchungs-Liste (verschieben, stornieren, No-Show), Buchungsseiten-Editor (Fragen mit Feld-Zuordnung zum Lead), Verfügbarkeits-Zeiten — Davids Delta: Kunde kann per Mail-Link selbst absagen/verschieben\n\n**So funktioniert's:** Kunde bucht selbst, der erste freie Mitarbeiter bekommt den Termin, die Anfrage landet im Lead-Eingang. Muss am schönsten aussehen — ist öffentlich.","x":3067,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"6b8c7d3bc3ee7449","type":"text","text":"## Formulare (Baukasten) 🌐\n**Ticket:** `D-FORM` + `D-P16` (Teil) · **Status:** 🟡 Review-Draft (Mitarbeiterinnen-Paket eingebaut, David Review offen)\n**Wo:** `/forms` + öffentlicher Link\n\n**Was drin ist:** Formular-Zentrale, einfacher Google-Forms-naher Builder S02, Lead-Feldzuweisung S02L/E05, Design, Antworten-Tabelle, 🌐 öffentliches Formular mit Erfolg/Blocker/Submit-Fehler\n\n**So funktioniert's:** S02 ist der Hauptfluss für Handwerksbetriebe; Advanced-Canvas, Logic/Actions und Publish-Blocker bleiben als Referenz/Power-User-Richtung. D-FORM kann später in Terminbuchung, HR und Abnahme-Vorlagen eingesteckt werden.","x":2560,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"28bd46ecb4eaa069","type":"text","text":"## Kalender\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** ✅ Development-Handoff\n**Wo:** `/calendar` + Einstellungen\n\n**Was drin ist:** Monats-/Wochen-Ansicht mit allen Quellen, Quick Create mit Inline-Zeitbearbeitung, Voll-Dialog, Termin-Detail, E-Mail-Entscheidung nach Änderungen, Kollegen-Overlay und eine schlanke Google-Verbindungsseite\n\n**So funktioniert's:** Die meisten Termine entstehen über Quick Create. Bei Änderungen an bestehenden Terminen wird der E-Mail-Versand abgefragt. Google ist optional, Outlook kommt in v2; fremde private Termine erscheinen nur als »belegt«. Kein eigenes Konfliktfeature.","x":3837,"y":2160,"width":460,"height":380,"color":"2"}, + {"id":"a5fedec01fe8bd0b","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas","x":2560,"y":2560,"width":460,"height":220}, + {"id":"4dcc2ddf551aa917","type":"file","file":"02 Wireframes/P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas","x":3837,"y":2560,"width":460,"height":220}, {"id":"3f83fa1a16ae69df","type":"text","text":"## Plantafel (Einsatzplanung) 📱\n**Ticket:** `D-PLAN` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/projects/plantafel`\n\n**Was drin ist:** Planungs-Raster: Zeilen = Mitarbeiter, Spalten = Zeit. Einsätze per Ziehen verschieben/verlängern, Klick auf freien Slot = neuer Einsatz\n\n**So funktioniert's:** Warnt bei Konflikten (doppelt verplant, Urlaub/krank, außerhalb Arbeitszeit) — zuweisen geht trotzdem. Monteure sehen am Handy »Meine Termine heute« mit Adresse + Navi, auch offline.","x":5897,"y":1040,"width":460,"height":360,"color":"1"}, {"id":"43a26561f03f72da","type":"file","file":"02 Wireframes/P3 Benachrichtigungen/WF-P3 Benachrichtigungen/WF-P3 Benachrichtigungen.canvas","x":6077,"y":2560,"width":460,"height":220}, {"id":"d9ad572ae83b4d0a","type":"text","text":"## Abnahme (Baustellen-Protokoll) 📱\n**Ticket:** `D-ABN` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Abnahme-Formular (Druckprobe, Funktionsprüfung, Zählerstände, übergebene Dokumente), Mängel mit Foto festhalten, Unterschrift Kunde + Monteur direkt am Handy, Liste aller Abnahmen je Projekt\n\n**So funktioniert's:** Nach dem Speichern unveränderbar (6 Jahre Aufbewahrung), PDF geht automatisch per Mail an den Kunden. Funktioniert offline, lädt später hoch. Mängel werden automatisch Aufgaben.","x":6767,"y":1040,"width":460,"height":360,"color":"1"}, {"id":"03b5ea95e563acd9","type":"file","file":"02 Wireframes/P9 Abnahme/WF-P9 Abnahme/WF-P9 Abnahme.canvas","x":6767,"y":1440,"width":460,"height":220}, + {"id":"ac81f31c1c891a76","type":"file","file":"02 Wireframes/P9 Plantafel/WF-P9 Plantafel/WF-P9 Plantafel.canvas","x":5897,"y":1440,"width":460,"height":220}, + {"id":"b75d102c4db2d32f","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas","x":3067,"y":2560,"width":460,"height":220}, {"id":"b789fc765f833f45","type":"text","text":"## Digital unterschreiben (E-Signatur)\n**Ticket:** `D-P16` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** PDF aus Projekt-Dateien wählen/hochladen → Unterzeichner + Reihenfolge → Kunde unterschreibt per Link mit Code oder direkt vor Ort → Status je Unterzeichner, Erinnerung, Zurückziehen, Downloads\n\n**So funktioniert's:** Hängt direkt am Projekt (»Zur Signatur senden«). SES-Eigenbau ist Default; PandaDoc nur optional BYOK. Davids Delta: eigene Kunden-Signierseite als Frame.","x":4337,"y":2160,"width":460,"height":360,"color":"5"}, - {"id":"4a4e5be847a54e5f","type":"text","text":"## Suche (Cmd+K)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/search`\n\n**Was drin ist:** Such-Fenster per Tastenkürzel: tippen, Treffer nach Typ gruppiert, mit Pfeiltasten navigieren · dazu große Such-Seite mit Filtern\n\n**So funktioniert's:** Findet Kontakte, Projekte, Dateien usw. — zeigt nur, was man sehen darf.","x":4537,"y":80,"width":460,"height":360,"color":"1"}, - {"id":"c6cbb590c3f9d168","type":"file","file":"02 Wireframes/P16 E-Signatur/WF-P16 E-Signatur/WF-P16 E-Signatur.canvas","x":4337,"y":2560,"width":460,"height":220}, - {"id":"ac81f31c1c891a76","type":"file","file":"02 Wireframes/P9 Plantafel/WF-P9 Plantafel/WF-P9 Plantafel.canvas","x":5897,"y":1440,"width":460,"height":220} + {"id":"c6cbb590c3f9d168","type":"file","file":"02 Wireframes/P16 E-Signatur/WF-P16 E-Signatur/WF-P16 E-Signatur.canvas","x":4337,"y":2560,"width":460,"height":220} ], "edges":[ { diff --git a/05 HiveGrid Map/HiveGrid Map.md b/05 HiveGrid Map/HiveGrid Map.md index ad28891b..f84a08aa 100644 --- a/05 HiveGrid Map/HiveGrid Map.md +++ b/05 HiveGrid Map/HiveGrid Map.md @@ -26,6 +26,7 @@ Gesamtkarte aller HiveGrid-v1-Features. Eine Karte = **ein Feature** (so benannt | Status | Bedeutung | |---|---| | ✅ validiert | bearbeitet und validiert (Handoff in `Tickets/Fertige Tickets/`) | +| 🟡 in Subframe / Review | aktueller Subframe-Bestand gespiegelt; Varianten noch nicht final validiert | | 🟡 vorgeplant | in dieser Map-Runde grob durchgeplant, Screens baubar, Modals offen | | ⬜ offen | noch nicht angefasst | | ⚠️ Recut | Ticket selbst wird gerade neu geschnitten — warten | @@ -45,7 +46,7 @@ Gesamtkarte aller HiveGrid-v1-Features. Eine Karte = **ein Feature** (so benannt | Suche (Cmd+K) | Suche & Dashboard | D-DASH (Teil) | 🔴 klein | ⬜ offen | | Lead-Eingang (Anfragen) | Vertrieb | D-P7 | 🔵 | ✅ Development-Handoff · Folgethemen dokumentiert | | Kontakte & Organisationen | Vertrieb | D-CRM | 🔵 | ✅ Development-Handoff | -| Kanban-Board & Pipelines (Projekte) | Vertrieb | D-P8 + D-KANBAN | 🟠 | 🟢 in Subframe, abgeglichen | +| Kanban-Board & Pipelines (Projekte) | Vertrieb | D-P8 + D-KANBAN | 🟠 | ✅ validiert / Development-Handoff | | Projekt-Akte (Auftrag) 📱 | Auftrag & Baustelle | D-P9 | 🟠 | 🟡 vorgeplant | | Plantafel (Einsatzplanung) 📱 | Auftrag & Baustelle | D-PLAN | 🔴 | 🟡 vorgeplant | | Abnahme (Baustellen-Protokoll) 📱 | Auftrag & Baustelle | D-ABN | 🔴 | 🟡 vorgeplant | @@ -53,9 +54,9 @@ Gesamtkarte aller HiveGrid-v1-Features. Eine Karte = **ein Feature** (so benannt | Versand-Technik & Statistiken 🌐 | E-Mail-Marketing | D-P14 | 🟠 | ⬜ offen | | Formulare (Baukasten) 🌐 | Termine & Formulare | D-FORM + D-P16 (Teil) | 🔴 | 🟡 Review-Draft | | Online-Terminbuchung 🌐 | Termine & Formulare | D-BOOK + D-P16 (Teil) | 🟠 | 🟡 vorgeplant | -| Kalender | Termine & Formulare | D-BOOK + D-P16 (Teil) | 🔴 mittel | 🟡 vorgeplant | +| Kalender | Termine & Formulare | D-BOOK + D-P16 (Teil) | 🔴 mittel | ✅ Development-Handoff | | Digital unterschreiben (E-Signatur) | Termine & Formulare | D-P16 (Teil) | 🔵 | 🟡 vorgeplant | -| Team-Chat 📱 | Kommunikation | D-CHAT | 🟠 | ⬜ offen | +| Team-Chat 📱 | Kommunikation | D-CHAT | 🟠 | ✅ validiert / Development-Handoff | | Telefonie (Anrufe) | Kommunikation | D-P15 | 🔵 | ⬜ offen | | Benachrichtigungen | Kommunikation | D-P3 (Teil) | 🔵 | ✅ validiert / Development-Handoff | | Aufgaben | Aufgaben & Dateien | D-P4 (Teil) | 🔵 | ✅ validiert / Development-Handoff | @@ -219,7 +220,7 @@ Abhaken = in der groben Planung berücksichtigt (Screens/Flow verortet). Quelle: - Backlog separat: Eigene Felder, Duplikat-Tool/Zusammenführen und Inline-Anlegen in der Liste - Paket: [WF-P6 Kontakte und Organisationen](<../02 Wireframes/P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.md>) · [Canvas](<../02 Wireframes/P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas>) · [Ticket](<../Tickets/Fertige Tickets/D-CRM Kontakte und Organisationen.md>) -#### Kanban-Board & Pipelines (Projekte) — `D-P8` + `D-KANBAN` — 🟢 in Subframe, abgeglichen (2026-07-28) +#### Kanban-Board & Pipelines (Projekte) — `D-P8` + `D-KANBAN` — ✅ validiert / Development-Handoff - [x] 23 aktuelle Subframe-Seiten per MCP inklusive JSX inventarisiert und in Obsidian verlinkt - [x] S00 Boards-Startseite als normaler Einstieg; gesperrte Boards bleiben sichtbar und bieten »Nutzung anfragen« - [x] S01 Kanban-Board und S03 Projekt-Liste als zwei Ansichten derselben elf Beispielprojekte, jeweils mit gebautem Empty State @@ -306,14 +307,16 @@ Abhaken = in der groben Planung berücksichtigt (Screens/Flow verortet). Quelle: - v1: Vergabe nur »erster freier Mitarbeiter«; Fragen-Felder als einfache Liste. D-FORM liegt jetzt als Review-Draft vor und kann später über die Lead-Feldzuweisungs-Schnittstelle eingesteckt werden. - Paket: `02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/` (Screens validiert; Subframe steht aus) -#### Kalender — `D-BOOK` + `D-P16` (Teil) — 🟡 vorgeplant (2026-07-09) +#### Kalender — `D-BOOK` + `D-P16` (Teil) — ✅ Development-Handoff (Stand 2026-08-31) - [x] Monats-/Wochen-Ansicht mit allen Terminen (Google + Buchungen + Plantafel + Projekt-Termine, je mit Herkunfts-Marker) -- [x] Google-Kalender verbinden (Einstieg direkt im Kalender, pro Mitarbeiter; Kalender auswählen, Richtung des Abgleichs, sauber trennen) — OAuth + Trennen im P5-Muster -- [x] Konflikt-Übersicht in Klartext (was kollidierte, wie gelöst) — als Sektion in den Kalender-Einstellungen + Benachrichtigung +- [x] Quick Create als Standardweg, eigener Inline-Edit-State für Datum/Uhrzeit und zweispaltiger Voll-Dialog für weitere Angaben +- [x] Termin-Detail mit Teilnehmerstatus sowie E-Mail-Entscheidung nach relevanten Änderungen an einem bestehenden Termin +- [x] Google-Kalender pro Mitarbeiter verbinden, Kalender auswählen, neu verbinden und sauber trennen — bewusst nur eine schlanke Einstellungsseite - [x] Fremde private Termine nur als »belegt« sichtbar (Kollegen-Overlay) -- Davids Delta (Change-Request an Dev): **vollwertiger Kalender** — Termine anlegen/bearbeiten, Einladungen an Team/Kontakte/freie E-Mails (.ics, Zu-/Absagen), Kollegen-Kalender als Verfügbarkeits-Overlay; funktioniert auch ohne Google +- [x] Kein eigenes Konfliktfeature: nur ein kleiner, nicht blockierender Badge direkt an einer möglicherweise belegten Person +- Davids Delta: **vollwertiger Kalender** — Termine anlegen/bearbeiten, Einladungen an Team/Kontakte/freie E-Mails (.ics, Zu-/Absagen), Kollegen-Kalender als Verfügbarkeits-Overlay; funktioniert auch ohne Google - v2: Outlook (in der Provider-Auswahl als »bald verfügbar« sichtbar). -- Paket: `02 Wireframes/P16 Kalender/WF-P16 Kalender/` (Screens validiert; Subframe steht aus) +- Paket: `02 Wireframes/P16 Kalender/WF-P16 Kalender/` (7 finale Live-Seiten; Ticket-Handoff abgeschlossen) #### Digital unterschreiben (E-Signatur) — `D-P16` (Teil) — 🟡 vorgeplant (2026-07-09) - [x] Projekt-Einstieg/Reiter »Signaturen« + Assistent: PDF aus Projekt-Dateien wählen oder hochladen → Unterzeichner + Reihenfolge → Signaturmodus → senden @@ -327,17 +330,16 @@ Abhaken = in der groben Planung berücksichtigt (Screens/Flow verortet). Quelle: ### Kommunikation -#### Team-Chat 📱 — `D-CHAT` — ⬜ offen (Entwurf angelegt, nicht validiert) -- [ ] Channel-Liste (Ungelesen-Zähler, @-Marker, anpinnen/stummschalten, Projekt-Status bei Projekt-Chats) + Channel-Browser -- [ ] Chat-Verlauf (Antwort-Threads, Emoji-Reaktionen, Anhänge, bearbeitet-Marker, »gelesen von X von Y«), Reconnect/Pending/Upload-Zustände -- [ ] Schreibfeld (Markdown, Emoji, @-Erwähnung mit Vorschlägen, Anhänge, Entwurf bleibt erhalten), »tippt gerade …« -- [ ] Angepinnte Nachrichten, alle meine Erwähnungen, Suche über alle Channels als eigene Nebenflächen -- [ ] Neuer Channel / Direktnachricht; Channel-Einstellungen (Mitglieder, Privacy, archivieren) -- [ ] Projekt-Channels: Team wird automatisch synchron gehalten, Chat erscheint im Projekt; View bleibt `/chat/:id` -- [ ] Admin-Einsicht in DMs nur mit Pflicht-Begründung + sichtbarem Hinweis-Banner + Audit-Log -- [ ] Monteur-Handy-Ansicht (vereinfacht, Foto-Direktupload, Push/Offline-Hinweis) -- Subframe-Vollabgleich vorhanden: `02 Wireframes/P15 Team-Chat/WF-P15 Team-Chat/` — 22/22 bereinigte Screens sind dokumentiert und in der Obsidian-Canvas sortiert. Enthalten sind ein einheitliches Drei-Punkte-Menü für Projektchat, Gruppe und DM, ein wiederverwendbarer Medienflow, kontextbezogene Einstellungsmodale, eine gemeinsame Mitglieder-/Adminverwaltung sowie getrennte Bestätigungen für Verlassen und Archivieren. -- Noch nicht als fachlich validiert zählen; Subframe und Obsidian sind synchron, die gemeinsame UX-Validierung steht als Nächstes an. +#### Team-Chat 📱 — `D-CHAT` — ✅ validiert / Development-Handoff +- [x] Channel-Liste (Ungelesen-Zähler, @-Marker, anpinnen/stummschalten, Projekt-Status bei Projekt-Chats) + Channel-Browser +- [x] Chat-Verlauf (Antwort-Threads, Emoji-Reaktionen, Anhänge, bearbeitet-Marker, »gelesen von X von Y«), Reconnect/Pending/Upload-Zustände +- [x] Schreibfeld (Markdown, Emoji, @-Erwähnung mit Vorschlägen, Anhänge, Entwurf bleibt erhalten), »tippt gerade …« +- [x] Angepinnte Nachrichten, alle meine Erwähnungen, Suche über alle Channels als eigene Nebenflächen +- [x] Neuer Channel / Direktnachricht; Channel-Einstellungen (Mitglieder, Privacy, archivieren) +- [x] Projekt-Channels: Team wird automatisch synchron gehalten, Chat erscheint im Projekt; View bleibt `/chat/:id` +- [x] Admin-Einsicht in DMs nur mit Pflicht-Begründung + sichtbarem Hinweis-Banner + Audit-Log +- [x] Monteur-Handy-Ansicht (vereinfacht, Foto-Direktupload, Push/Offline-Hinweis) +- Subframe-Vollabgleich abgeschlossen: `02 Wireframes/P15 Team-Chat/WF-P15 Team-Chat/` — 24/24 aktuelle Screens sind dokumentiert und in der Obsidian-Canvas sortiert. UX-Validierung und Development-Handoff sind abgeschlossen. #### Telefonie (Anrufe) — `D-P15` — ⬜ offen - [ ] AirCall verbinden (Status-Ampel, Telefon-Nutzer ↔ HiveGrid-Nutzer zuordnen mit Auto-Vorschlag, »Verbindung testen«) diff --git a/Tickets/Fertige Tickets/D-BOOK Kalender.md b/Tickets/Fertige Tickets/D-BOOK Kalender.md new file mode 100644 index 00000000..8ae12b57 --- /dev/null +++ b/Tickets/Fertige Tickets/D-BOOK Kalender.md @@ -0,0 +1,112 @@ +--- +kind: ticket-handoff +project: HiveGrid Screen Project +ticket: D-BOOK + D-P16 +area: Kalender +status: Fertig / Development-Handoff +scope: Kalender-Teil +repo: https://git.tool-ctrl.de/toolctrl-labs/HiveGrid-Wireframes +stand: 2026-08-31 +--- + +# D-BOOK Kalender + +Repo: https://git.tool-ctrl.de/toolctrl-labs/HiveGrid-Wireframes + +Zentrale Tracker-Datei: [Screen Paket Tracker](../../02%20Wireframes/Screen%20Paket%20Tracker.md) + +Flow-Paket: [WF-P16 Kalender](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/WF-P16%20Kalender.md) + +Canvas: [WF-P16 Kalender.canvas](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/WF-P16%20Kalender.canvas) + +Subframe: [Finaler Kalender-Flow](https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit) + +## Kurzfassung + +Der Kalender-Teil von D-BOOK und D-P16 ist als Development-Handoff abgeschlossen. Der finale Live-Stand umfasst sieben Seiten in einem Subframe-Flow: S01, M01, M01a, M01b, M02, M03 und S02. + +Der Scope bleibt bewusst klein: Kalenderansicht, Quick Create, direkte Datum-/Zeitbearbeitung, vollständiger Termin-Dialog, Termin-Detail, E-Mail-Entscheidung nach Änderungen und eine einzelne schlanke Kalender-Verbindungsseite. + +Dieses Handoff finalisiert ausschließlich den Kalender. Die getrennten Pakete Terminbuchung, Form Builder und E-Signatur behalten ihren bisherigen Status. + +## Gemacht + +- Wochen-/Monatskalender mit Google-, Buchungs-, Plantafel-, Projekt- und eigenen Terminen validiert. +- Quick Create als Standardweg festgelegt und korrekt als M01 benannt. +- Inline-Edit-State M01a für Start- und Enddatum/-zeit ergänzt. +- Frühere Voll-Dialog-Varianten V2 und V3 entfernt; nur die zweispaltige Version bleibt als logisches M01b. +- Termin-Detail M02 mit Teilnehmerstatus, Zu-/Absage und Quell-Absprung dokumentiert. +- M03 als Google-ähnliche Entscheidung für den E-Mail-Versand nach Terminänderungen gebaut und visuell geprüft. +- Kalender-Einstellungen auf genau eine Verbindungsseite reduziert. +- Eigenes Konfliktfeature vollständig entfernt; nur der kleine Badge Möglicher Konflikt an einer Person bleibt. +- Screen-Dateien, Paket-MD, Tracker, Kalender-Canvas, HiveGrid Map und Komponenten-Notizen synchronisiert. + +## Finale Produktentscheidungen + +- Quick Create ist der Standardweg. Weitere Optionen öffnet den vollständigen Dialog und übernimmt alle Eingaben. +- Der Quick-Create-Edit-State ist ein Zustand derselben Oberfläche, kein zusätzlicher Anlegeweg. +- Neue Einladungen werden regulär versendet. M03 gilt nur für relevante Änderungen an einem bereits bestehenden Termin mit Teilnehmenden. +- M03 bietet genau Zurück, Ohne E-Mail speichern und E-Mail senden. +- Teilnehmerrelevant sind Titel, Datum, Uhrzeit, Ort, Beschreibung und Teilnehmerkreis. Reine interne Projektverknüpfungen lösen M03 nicht aus. +- Team-Mitglieder, CRM-Kontakte und freie E-Mail-Adressen können eingeladen werden. +- Fremde private Google-Termine erscheinen im Kollegen-Overlay ausschließlich als Belegt. +- Kein Konfliktverlauf, keine Konfliktbenachrichtigung, kein eigener Konflikt-Screen und kein Konflikt-Pop-up. +- Google ist in v1 aktiv. Outlook bleibt ein deaktivierter Demnächst-Teaser für v2. +- Es gibt keine eigenen Kalender-Unterseiten für Ansicht, Benachrichtigungen oder Datenschutz. + +## Finaler Hauptfluss + +- Sidebar Kalender → S01 +- Slot-Klick oder Termin anlegen → M01 +- Datum-/Zeitzeile → M01a → zurück zu M01 +- Weitere Optionen → M01b +- Termin-Klick → M02 +- Bearbeiten eines eigenen Termins → M01b +- Relevante Änderung an bestehendem Termin → M03 +- M03 → zurück zur Bearbeitung oder speichern mit/ohne E-Mail +- Kalender verbinden beziehungsweise verwalten → S02 + +## Finales Subframe-Inventar + +| # | Live-Name | Logische ID | UUID | Repo | Subframe | +|---:|---|---|---|---|---| +| 1 | S01 Kalender V1 | S01 | 238adab5-a284-4065-91b5-28cd894f6b31 | [S01](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/Screens/S01%20Kalender.md) | [Öffnen](https://app.subframe.com/f023064a5ca0/design/238adab5-a284-4065-91b5-28cd894f6b31/edit) | +| 2 | M01 Quick Create | M01 | a4088a8a-fab2-433c-b2ff-46a521640999 | [M01](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/Screens/M01%20Quick%20Create.md) | [Öffnen](https://app.subframe.com/f023064a5ca0/design/a4088a8a-fab2-433c-b2ff-46a521640999/edit) | +| 3 | M01a Quick Create Edit Mode | M01a | 1c0335d4-b6c9-4418-9ee6-f817928720e7 | [M01a](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/Screens/M01a%20Quick%20Create%20Edit%20Mode.md) | [Öffnen](https://app.subframe.com/f023064a5ca0/design/1c0335d4-b6c9-4418-9ee6-f817928720e7/edit) | +| 4 | M01 Termin anlegen V4 Zweispaltig | M01b | eaf3f0ba-f80f-4ba3-b0a1-16e2695a2122 | [M01b](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/Screens/M01b%20Termin-Dialog.md) | [Öffnen](https://app.subframe.com/f023064a5ca0/design/eaf3f0ba-f80f-4ba3-b0a1-16e2695a2122/edit) | +| 5 | M02 Termindetail Popover V1 | M02 | 99fbcf22-50fd-42de-9243-278d1ef746c1 | [M02](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/Screens/M02%20Termin-Detail.md) | [Öffnen](https://app.subframe.com/f023064a5ca0/design/99fbcf22-50fd-42de-9243-278d1ef746c1/edit) | +| 6 | M03 Änderungen per E-Mail senden | M03 | 3bac63a2-82fe-487a-9a0a-0dab263cc6d0 | [M03](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/Screens/M03%20%C3%84nderungen%20per%20E-Mail%20senden.md) | [Öffnen](https://app.subframe.com/f023064a5ca0/design/3bac63a2-82fe-487a-9a0a-0dab263cc6d0/edit) | +| 7 | S02 Kalender-Verbindungen V2 | S02 | e95220a1-132a-445d-b785-d292385faa5e | [S02](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/Screens/S02%20Kalender-Einstellungen.md) | [Öffnen](https://app.subframe.com/f023064a5ca0/design/e95220a1-132a-445d-b785-d292385faa5e/edit) | + +## Development-Vertrag + +- S01 implementiert Monat und Woche sowie Heute und den direkten Zugang zu S02. Tag ist nicht Teil von v1. +- Datum und Uhrzeit werden in M01a und M01b aus dem gewählten Slot beziehungsweise bestehenden Termin gebunden; die Design-Platzhalter sind keine leeren Produktzustände. +- M02 wird rollen- und quellenabhängig ausgespielt: Organisator Bearbeiten/Löschen, eingeladene Nutzer Zusagen/Ablehnen, fremde Quellen nur Absprung. +- Duplizieren und Verschieben aus dem statischen M02-Beispiel werden in v1 nicht implementiert. +- Bounce wird als Nicht zustellbar bezeichnet. +- OAuth und Trennen verwenden die vorhandenen WF-P5-Muster. +- Empty-, Loading-, Error-, Permission- und Offline-Zustände verwenden bestehende globale Standards. +- Der technische Subframe-Name des logischen M01b bleibt ein Design-Artefakt und ist kein Produktbegriff. + +## Development-owned Follow-ups + +- Kalender- und Einladungsdaten an Backend, Google-Sync und E-Mail-Versand anbinden. +- Teilnehmerstatus und unzustellbare Einladungen aus echten Provider-Rückmeldungen ableiten. +- Berechtigungen und Quell-Gating serverseitig durchsetzen. +- Outlook-Sync und Tagesansicht bleiben außerhalb von v1. + +## Abschlussprüfung + +- [x] Sieben finale Subframe-Seiten inventarisiert, verlinkt und gerendert. +- [x] M03 ohne abgeschnittene Aktionen validiert. +- [x] Gelöschte Varianten und tote IDs projektweit entfernt. +- [x] Alle sieben Screen-Dateien stehen auf Fertig / Development-Handoff. +- [x] Paket-MD, Tracker, Kalender-Canvas und HiveGrid Map zeigen denselben Abschlussstatus. +- [x] Kalender-Canvas und Master-Canvas sind JSON-valide; IDs, Kanten und Dateiverweise sind konsistent. +- [x] Nicht vom Design zu entscheidende Details sind ausdrücklich Development-owned. +- [x] Der Kalender-Teil ist bereit für Development. + +## Hinweis für das Ticket-System + +Diese Datei ist der kompakte fertige Handoff für den Kalender-Teil von D-BOOK und D-P16. Die Detailwahrheit liegt im [Flow-Paket](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/WF-P16%20Kalender.md), den verknüpften Screen-Dateien, dem [Canvas](../../02%20Wireframes/P16%20Kalender/WF-P16%20Kalender/WF-P16%20Kalender.canvas) und dem [Screen Paket Tracker](../../02%20Wireframes/Screen%20Paket%20Tracker.md). diff --git a/Tickets/Fertige Tickets/D-D0b Layout Standards.md b/Tickets/Fertige Tickets/D-D0b Layout Standards.md index cb2a0791..ec170b8e 100644 --- a/Tickets/Fertige Tickets/D-D0b Layout Standards.md +++ b/Tickets/Fertige Tickets/D-D0b Layout Standards.md @@ -83,6 +83,12 @@ Nicht blockierend fuer den Handoff: Details: [D-D0b Backlog](../../02%20Wireframes/D0%20Foundation/D-D0b%20Layout%20Standards/D-D0b%20Backlog.md) +## Komponenten-Link-Abgleich 2026-08-25 + +- Date Picker, Banner Alert und Error State auf ihre aktuellen Live-Komponenten verlinkt. +- Confirm Dialog, Result Dialog, Separator Divider und Kanban Card als nicht mehr im aktuellen Subframe-Bestand gekennzeichnet; die lokalen fachlichen Notizen bleiben erhalten. +- Subframe wurde bei diesem Abgleich nicht veraendert. + ## Hinweis fuer Ticket-System Diese Datei ist der kompakte Handoff fuer `D-D0b`. Fuer verbindliche Regeln sind die [Subframe UI Standards / Layout](../../04%20Standards/Subframe%20UI%20Standards/Layout/README.md) massgeblich. diff --git a/Tickets/Fertige Tickets/D-FORM Form Builder.md b/Tickets/Fertige Tickets/D-FORM Form Builder.md index 4c80b1f1..912c9969 100644 --- a/Tickets/Fertige Tickets/D-FORM Form Builder.md +++ b/Tickets/Fertige Tickets/D-FORM Form Builder.md @@ -22,7 +22,7 @@ Uebergabe: [D-FORM David Uebergabe 2026-07-09](../../02%20Wireframes/D-FORM%20Fo Canvas: [WF-D-FORM Form Builder.canvas](../../02%20Wireframes/D-FORM%20Form%20Builder/WF-D-FORM%20Form%20Builder/WF-D-FORM%20Form%20Builder.canvas) -Subframe Flow: [WF-D-FORM Form Builder](https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d75f4773f1a9/edit?tab=ai&conversationId=02d948da-f9aa-4ab5-8352-2745789bb9ad) +Subframe Flow: [(MCP) WF-P16 Form Builder](https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d75f4773f1a9/edit?tab=ai&conversationId=02d948da-f9aa-4ab5-8352-2745789bb9ad) · lokales Paket: `WF-D-FORM Form Builder` ## Kurzfassung @@ -30,6 +30,8 @@ Das D-FORM-Mitarbeiterinnen-Paket wurde in den Haupt-Vault uebernommen und auf ` Der empfohlene Hauptfluss ist der einfache Google-Forms-nahe Editor `S02`. S01B und die alten Advanced-Screens wurden im Obsidian-Handoff entfernt, damit der Review fokussiert bleibt. +**Lokaler MCP-Abgleich 2026-08-25:** Der Live-Flow heisst weiterhin `(MCP) WF-P16 Form Builder` und enthaelt 16 Seiten; der lokale Name `WF-D-FORM Form Builder` bleibt wegen der P16-Kollision bewusst bestehen. `S01B Gefuehrter Fragen Editor _backlog_` liegt nur als Live-Backlog ausserhalb des Handoffs vor. `S01C`, `S01D` und `S01E` sind nicht mehr im aktuellen Subframe-Bestand; ihre fachlichen Notizen bleiben lokal als Referenz erhalten. Subframe wurde nicht veraendert. + ## Gemacht - Paket unter `02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/` eingebaut. @@ -44,7 +46,7 @@ Der empfohlene Hauptfluss ist der einfache Google-Forms-nahe Editor `S02`. S01B - Pruefen, ob `S02 Einfacher Fragen Editor` als Haupteditor fuer Handwerksbetriebe die richtige Richtung ist. - Pruefen, ob `S02L Lead Felder zuweisen` und `E05 S02 Lead Zuweisung pruefen` fuer Davids Lead-Mapping-Anforderung reichen. - Public-Strecke `S04`, `V01`, `V02`, `V03` auf Copy, mobile Nutzbarkeit und Trust pruefen. -- Entscheiden, ob die spaeteren Beispielvarianten `S01C`, `S01D`, `S01E` im Subframe-Flow liegen bleiben sollen. +- Entscheiden, ob die lokal erhaltenen Beispielvarianten `S01C`, `S01D`, `S01E` spaeter neu gebaut oder archiviert werden; im aktuellen Subframe-Flow sind sie nicht mehr vorhanden. - Klaeren, ob die dokumentierten Modale `M01` bis `M04` als echte Dialog-Screens gebaut werden muessen. ## Flow-Paket @@ -73,6 +75,12 @@ Der empfohlene Hauptfluss ist der einfache Google-Forms-nahe Editor `S02`. S01B | E03 | S05 Keine Antworten | [Subframe](https://app.subframe.com/f023064a5ca0/design/6f56c14f-d66e-4734-8a29-a900ac74a8a7/edit) | | E04 | S05 Export Fehler | [Subframe](https://app.subframe.com/f023064a5ca0/design/00553ea4-9839-4d22-b540-9b9ef0bf014f/edit) | +## Live-Backlog ausserhalb des Handoffs + +| ID | Screen | Status | Subframe | +|---|---|---|---| +| S01B | Gefuehrter Fragen Editor | Live-Backlog, nicht im Review-Handoff | [Subframe](https://app.subframe.com/f023064a5ca0/design/d0fb9c3d-4b03-4d59-bd98-9f668ab018eb/edit) | + ## Hinweis fuer Ticket-System Diese Datei ist der kompakte Handoff fuer `D-FORM`. Fuer Detailentscheidungen, zusaetzliche Referenzscreens, dokumentierte D-/M-Zustaende und offene Review-Fragen sind der [Screen Paket Tracker](../../02%20Wireframes/Screen%20Paket%20Tracker.md) und das Paket [WF-D-FORM Form Builder](../../02%20Wireframes/D-FORM%20Form%20Builder/WF-D-FORM%20Form%20Builder/WF-D-FORM%20Form%20Builder.md) massgeblich. diff --git a/Tickets/Fertige Tickets/D-P7 Leads.md b/Tickets/Fertige Tickets/D-P7 Leads.md index 46312f2b..1633bd33 100644 --- a/Tickets/Fertige Tickets/D-P7 Leads.md +++ b/Tickets/Fertige Tickets/D-P7 Leads.md @@ -28,6 +28,8 @@ Alle 20 Seiten wurden am 2026-08-20 nach Davids letzten Änderungen erneut per M `S01 Arbeitsliste` wurde in Subframe neu angelegt und besitzt deshalb im finalen Bestand die neue UUID `ae41c6ea-d1b0-4656-9a5c-55f64343962a`. +Readback 2026-08-25: S01 wurde nach der spaeteren Live-Bearbeitung erneut inklusive JSX gelesen; die dokumentierten Inhalte und Beziehungen bleiben gueltig. Subframe wurde nicht veraendert. + ## Gemacht - Finalen 20-Seiten-Bestand vollständig aus Subframe gelesen und gegen Obsidian geprüft. diff --git a/Tickets/Fertige Tickets/D-P8 Pipelines Wireframes.md b/Tickets/Fertige Tickets/D-P8 Pipelines Wireframes.md index 8f8c7c96..775a79da 100644 --- a/Tickets/Fertige Tickets/D-P8 Pipelines Wireframes.md +++ b/Tickets/Fertige Tickets/D-P8 Pipelines Wireframes.md @@ -28,6 +28,8 @@ Fuer `D-P8 + D-KANBAN` wurde der aktuelle Pipeline-Flow vollstaendig aus Subfram Subframe ist fuer Screen-Bestand, Namen, UUIDs, sichtbare Inhalte und Komponenten die Single Source of Truth. Alle 23 Seiten wurden am 2026-07-28 per MCP inklusive JSX gelesen. Paket-MD, Screen-Dateien, Tracker, P8-Canvas und HiveGrid-Map wurden auf denselben Bestand synchronisiert. Subframe selbst wurde bei diesem Handoff nicht veraendert. +Readback 2026-08-25: S01 und S02 wurden nach ihren spaeteren Live-Bearbeitungen erneut inklusive JSX gelesen; die dokumentierten Inhalte und Beziehungen bleiben gueltig. Subframe wurde nicht veraendert. + Die Interaktionslogik, die im statischen JSX nicht verdrahtet ist, wurde mit David final geklaert und ist in diesem Ticket sowie den Screen-Dateien als verbindliche Development-Entscheidung dokumentiert. ## Gemacht diff --git a/Tickets/README.md b/Tickets/README.md index d5f7533b..507d5a26 100644 --- a/Tickets/README.md +++ b/Tickets/README.md @@ -23,7 +23,9 @@ Die Detailwahrheit bleibt in den Wireframe-Paketen und im `Screen Paket Tracker` | D-D0b | [D-D0b Layout Standards]() | | D-CRM | [D-CRM Kontakte und Organisationen]() | | D-FORM | [D-FORM Form Builder]() | +| D-P7 | [D-P7 Leads]() | | D-P8 + D-KANBAN | [D-P8 Pipelines Wireframes]() | | D-FLOW + D-P12 | [D-FLOW Workflow Engine]() | | D-CHAT + AK-P15b | [D-CHAT Team-Chat]() | | D-P4 (Aufgaben) | [D-P4 Aufgaben]() | +| D-BOOK + D-P16 (Kalender) | [D-BOOK Kalender]() |