Author SHA1 Message Date
raffaelandClaude Opus 5.5 d09f79b673 chore(infra): Gitea-Host auf git.hg-int.dev umstellen
Gitea läuft seit 2026-11-11 auf hivegrid-control (git.hg-int.dev);
git.tool-ctrl.de wird abgeschaltet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 18:53:32 +01:00
david c4701e5b37 docs: finalize tags and badges handoff 2026-09-25 19:23:30 +02:00
david 59ea14854b docs: sync S09 direct time picker 2026-09-03 14:12:11 +02:00
david 08fb19f605 docs: finalize appointment booking handoff 2026-09-03 07:02:01 +02:00
david e0a963aaab docs: sync wireframes and finalize calendar 2026-08-31 19:35:19 +02:00
david 586994e28c docs: finalize contacts and organizations handoff 2026-08-29 04:36:36 +02:00
david 6ea5f6fd28 docs: update notification flow references 2026-08-27 03:26:10 +02:00
david 628d5e1c87 docs: finalize D-P3 notification handoff 2026-08-27 03:19:37 +02:00
david 1eb7765b41 docs(p4): finalize tasks handoff 2026-08-23 22:02:58 +02:00
david 058d72be72 docs: finalize P7 lead handoff and sync project 2026-08-20 20:22:19 +02:00
david d953a79e95 chore(repo): sync wireframe structure and references 2026-08-08 03:09:06 +02:00
david 05d2d5777f docs(p15): finalize team chat handoff 2026-08-08 01:26:20 +02:00
david 108a0c0437 docs(p12): save flow editor canvas layout 2026-08-04 18:07:13 +02:00
david 3602dbeaa8 docs(p12): finalize workflow engine handoff 2026-08-04 18:02:21 +02:00
david 0898b466e1 docs(p12): correct template modal and credentials 2026-08-04 17:37:15 +02:00
david 2476676771 docs(p12): add run template and credential variants 2026-08-04 17:22:21 +02:00
david 58df5360aa docs(p12): finalize S02 run list 2026-08-04 16:27:46 +02:00
david 1f95ad2575 docs(p12): clarify automation run context 2026-08-04 16:20:22 +02:00
david 6e4dba7146 docs(p12): add reviewed run list v3 2026-08-04 16:08:48 +02:00
david 78e8d13ce6 docs(p12): split editor and admin flows 2026-08-04 15:53:59 +02:00
david ec83173ac2 docs(p12): finalize automation list v3 2026-08-04 00:40:23 +02:00
david a9e640dd2b docs(p12): consolidate automation list v3 2026-08-03 18:31:27 +02:00
david 3c546693a5 docs(p12): add credentials and toggle confirmations 2026-08-03 17:47:40 +02:00
david 6682f98806 docs(p12): sync workflow engine screen variants 2026-08-03 17:07:59 +02:00
david f3823d9107 Sync P12 Subframe screens with Obsidian 2026-08-03 16:12:22 +02:00
david 7f88026f79 Refresh HiveGrid Cloud reference snapshot 2026-08-03 15:31:14 +02:00
david 5e99e14772 Update automation and RBAC canvas layouts 2026-08-03 15:30:11 +02:00
david 8266352421 Finalize P8 pipeline wireframe handoff 2026-07-28 19:32:30 +02:00
dejanandClaude Opus 4.8 8ee75ae314 P12 todo: mark screen-review findings as reported by Dejan
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 22:28:07 +02:00
dejanandClaude Opus 4.8 995d9042e0 Remove S01d filled-editor mockup, revert to 'fehlt' placeholder
Deleted the S01d Subframe page and its Obsidian traces (screen file,
tracker row, canvas node) at Dejan's request. Back to the state before
the editor heart-piece mockup: S01d is again a 'FEHLT' placeholder, since
the block card on the canvas still needs to be built.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 21:42:23 +02:00
dejanandClaude Opus 4.8 18f9778d6b P12 todo: K-A2 message TextArea width-vs-height component limit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 21:39:09 +02:00
dejanandClaude Opus 4.8 d8311c95de P12 todo: remove K-L2 Warten alignment (fixed by Dejan)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 20:16:22 +02:00
dejanandClaude Opus 4.8 d1d7efff12 P12 todo: K-L2 Warten Dauer/Einheit height alignment
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 20:14:54 +02:00
dejanandClaude Opus 4.8 607264da13 P12 todo: K-A2 overlap fixed via autofill, only width remains open
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 18:24:04 +02:00
dejanandClaude Opus 4.8 3d25eda767 P12 todo: Benachrichtigung textarea confirmed, fillContainer toggle doesn't fix
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 18:17:33 +02:00
dejanandClaude Opus 4.8 206ad711e9 P12 todo: drop done item, keep only open (Benachrichtigung/E-Mail textarea)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 18:14:18 +02:00
dejanandClaude Opus 4.8 867f94c85b P12 todo: textarea collapse issue (Notiz fixed; Benachrichtigung/E-Mail open)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 18:12:20 +02:00
dejanandClaude Opus 4.8 512c8b5a92 Add P12 review todo list, embed in central Todo.md
Screen-by-screen review pass (with Dejan). New P12 todo file mirrors the
Subframe-UI-Standards pattern and is embedded into the central Todo.md as
its own sub-project. Seeded with the first finding (Frist oder Termin:
"Abstand" field not full width) plus the already-documented hand-over
items from the K validation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 17:53:28 +02:00
david d1c030d28c docs: update Subframe standards and project map 2026-07-25 17:49:00 +02:00
dejanandClaude Opus 4.8 f14e57ae8b Editor heart piece: first filled-canvas pattern (block cards + edges)
Built the missing core of the flow editor as a new Subframe page "S01d
Editor gefuellt": a filled canvas with a real left-to-right flow —
Neue Anfrage -> Wenn-Dann -> (Ja) Aufgabe anlegen / (Nein) E-Mail senden.

Validated with Dejan (2026-07-17):
- Flow direction: left to right (n8n pattern)
- Card content: icon + name + plain-text summary (e.g. "Neue Anfrage —
  aus Quelle: Website"), so the whole flow reads without opening cards
- Category colour on the icon; branch cards (Wenn-Dann) get two right
  connection points, green "Ja" over neutral "Nein"

Editor chrome (header, mode toggle, minimap, toolbar) matches V1
Vollbild minimal. Obsidian synced: new screen file S01d, tracker row
updated from "FEHLT" to "In Subframe", canvas node now points to the
built page.

Still to build (noted in S01d): selected-card state, inline validation
badges (not connected / missing field / loop), empty->filled transition,
right-click node menu, real edge interaction.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 18:42:31 +02:00
dejanandClaude Opus 4.8 9d26dce586 K-L: Warten duration to number field; note dialog-width fix
- Warten "Dauer" switched from text to Number Input; cleaned up the
  contradictory icon attribute (variant primary + purple override) to
  the plain purple pattern.
- Dialog width (Wenn-Dann + Filter on large/1200px for two rows):
  documented as an open by-hand fix for David (Dialog.Content -> Size ->
  Medium), too risky to rewrite the whole page via MCP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 18:24:24 +02:00
dejanandClaude Opus 4.8 257a812862 K-L logic: conditions unify on custom builder only (drop toggle)
After weighing it, Dejan decided against the Einfach/Erweitert toggle:
a ready-made condition list bakes in fixed values that rarely fit (every
business wants different thresholds) and isn't maintainable (fields are
per-tenant). One friendly custom builder (field + operator + value, plain
wording) covers everything and stays consistent.

- Removed the toggle from Wenn-Dann and deleted the "einfach" frame.
- Rebuilt "Und" from the ready-made list onto the custom builder, so all
  four condition blocks (Wenn-Dann, Und, Oder, Filter) now build
  conditions the same way.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 18:20:25 +02:00
dejanandClaude Opus 4.8 62c72b5304 K-L logic: condition builder gets Einfach/Erweitert toggle
Decision (Dejan): logic condition blocks unify on a toggle — default
"Einfach" (pick a ready-made condition), toggle "Erweitert" for the pro
builder (field + operator + value). Pattern built on Wenn-Dann: the
existing dialog is the Erweitert state (toggle added, set to Erweitert),
plus a new "K-L1 Wenn-Dann einfach" frame for the simple state.

Rollout to Oder, Und, Filter still pending (each needs the missing mode
+ toggle).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 18:11:29 +02:00
dejanandClaude Opus 4.8 8d1ba9cf78 Validate P12 blocks K-L (logic) + K-I (HTTP); green info boxes everywhere
- Info boxes: all 30 block dialogs now use a green help box (David-
  approved + Dejan). Icon and badge keep their category colour. Solves
  the "red reads as error" issue without dropping category coding.
- K-L logic (8 dialogs): info boxes greened; Filter icon fixed from
  brand colour to purple. Still open (structure, not colour): condition
  builder differs (Wenn-Dann/Oder/Filter use field+operator+value, Und
  picks a ready-made condition); icon rendering and dialog widths
  inconsistent; Warten "Dauer" should be a number field. Outputs
  (Ja/Nein, paths, Weiter/Fertig) are shown clearly across all.
- K-I HTTP request: validated, exemplary for a pro block; no fix beyond
  green info box.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 17:59:05 +02:00
dejanandClaude Opus 4.8 f4cb863b58 Validate P12 block K-A (actions), apply decisions
Validation of the 5 action dialogs (now 6). Findings fixed in Subframe,
decisions recorded.

Decisions (Dejan):
- "Kontakt ändern" → "Datensatz ändern" (also covers project/order)
- E-Mail vs. Benachrichtigung = two separate blocks: "Benachrichtigung
  senden" is now internal only (push/in-app); new "E-Mail senden" block
  built for customer emails
- Data-category red softened from danger tokens (feedback-negative) to
  category tokens (ui-red), matching how logic blocks use ui-purple —
  keeps red, no longer reads as an error
- Missing required fields marked: Notiztext, Benachrichtigung/Nachricht

Baukasten findings (D-D0b, not touched): BadgeFeedback and
IconWithBackground have no category red/yellow variant (only danger/
warning), so the 30 dialogs mix ui- and feedback- tokens. Full
consistency needs new ui-red/ui-yellow variants — flagged for a
standards round.

Still open by hand in Subframe: rename page "K-A1 Kontakt aendern" to
"Datensatz aendern".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 17:48:22 +02:00
dejanandClaude Opus 4.8 6fdcb556c7 Validate P12 blocks K-T1/K-T2/K-T3, apply decisions
Full validation pass over the first 18 of 30 block-config dialogs, done
by Dejan with David's mandate. Findings fixed directly in Subframe;
decisions and dependency notes recorded here.

Decisions (Dejan):
- Ansprache: durchgehend duzen (produktweit; Picker siezt noch)
- Begriff Board statt Pipeline
- Erklär-Box bleibt handgebaut (Alert-Komponente kann die Kategoriefarben
  nicht)
- Pflichtfeld-Muster: Sternchen im Label + "Pflichtfeld." im helpText
- "Deadline naht" wird "Frist oder Termin" (deckt Terminerinnerung +
  Mahnwesen ab; ersetzt zwei Picker-Einträge ohne Dialog)
- Zeitplan: Felder wechseln je Wiederholung; "monatlich" als eigene
  Subframe-Seite gezeichnet, "täglich" nur dokumentiert
- "E-Mail eingegangen": Badge "Ab v2" + Hinweis (braucht Postfach = v2)
- "E-Mail unzustellbar": bleibt v1, Abhängigkeit zu D-KAMP/D-P14 notiert

Editor-Split (freigegeben): S01b Baustein-Picker und S01c Kontextmenü
als eigene Screen-Dateien + Tracker-Zeilen; Canvas um Picker,
Kontextmenü und den fehlenden S01d Baustein-Karte-Knoten erweitert.

Befunde an D-D0b (Baukasten, nicht selbst geändert): Uhrzeit-Komponente
fehlt komplett (betrifft auch Plantafel/Terminbuchung/Kalender), Number
Input auf 192px festgenagelt, IconWithBackground kann kein Violett.

Baustein-Katalog in S05a auf den echten gebauten Stand nachgezogen.

Noch offen für David/Dejan von Hand: Subframe-Seite "K-T2 Deadline naht"
zu "K-T2 Frist oder Termin" umbenennen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 17:32:09 +02:00
dejanandClaude Opus 4.8 318e34fe9c Sync P12 planning with actual Subframe state
Subframe was rebuilt on 07-11/12 and the vault still pointed at deleted
pages. Verified the whole P12 flow via MCP and brought the notes in line.

- Editor direction updated: the validated three-column layout (catalog
  left / config right) was dropped in Subframe. Now full-screen canvas +
  block picker as drawer + config as real dialog. Old decision struck
  through, not deleted, so the history stays readable.
- Removed 10 dead Subframe links. M01-M03 and Verwaltung S01-S04 were
  deleted in Subframe and are back to "needs rebuild"; review findings
  from the deleted drafts kept as input for the rebuild.
- S05 is no longer two sample panels but all 30 block config dialogs.
  S05a is now the source of truth for the blocks and carries verified
  links to all 30, plus a new gap list (picker offers blocks that have
  no dialog, naming drift, colour mismatch).
- Tracker: P12 rows rewritten; editor split into S01/S01b picker /
  S01c context menu / S01d block card + edges (missing, top priority).

Open for David, explicitly marked as unresolved: the Bauen/Aktivitaet/
Auswertung mode switch (in no ticket) and the block colour scheme.

Canvas files deliberately untouched until the screen split is approved.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 20:16:35 +02:00
davidandClaude Fable 5 04220c1431 P12 Flow-Editor Neuausrichtung + alle 30 Baustein-Konfig-Modale
- Flow-Editor auf n8n-Stil umgestellt: V1 Vollbild minimal als Basis (Vollbild-Canvas, Umschalter Bauen/Aktivität/Auswertung, Probelauf unten Mitte, Aktiv-Toggle + History im Header)
- Baustein-Konfig als Modal entschieden (Dialog-Komponente); S05a Vorplanung mit allen 31 Panels, 30 v1-Panels in Subframe gebaut (K-Seiten, Nacht-Build 2026-07-12)
- Subframe-Links + Abgleich-Notizen in P12-Screens und Tracker nachgetragen
- D-FORM Form Builder: Review-Stand, Simple-Builder-Neuausrichtung, aufgeräumte Varianten
- P15 Kommunikation + P16 Termine Pakete, Map/Canvas-Pflege

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 19:45:43 +02:00
david ef07e3d005 Add D-FORM form builder handoff 2026-07-09 21:38:28 +02:00
davidandClaude Fable 5 2de481bf25 Plan P8 Pipelines, P9 Auftrag (Akte/Plantafel/Abnahme), P12 Automationen
- WF-P8: Kanban-Board, Edit-Mode (nur Detailansicht), Gewonnen regel-basiert
- WF-P9: Projekt-Akte + Rechnung v1, Plantafel (Heute<->Woche offline), Abnahme mehrstufig
- WF-P12: Flow-Editor (Katalog/Canvas/Konfig, Start-Auswahl) + Verwaltung (Timeline, 24h-Undo)
- D-FORM zurueckgestellt (Davids Mitarbeiter:in)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 15:38:27 +02:00
davidandClaude Fable 5 ca078436df Plan Kern-Kette P6-P7 (Kontakte, Leads) + Datei-Teilen v1
- WF-P6 Kontakte und Organisationen: Kontaktmodell validiert (ein Datensatz,
  Kontaktart = Rolle der Verknuepfung, Shell-Prinzip), Karteikarte als
  Detailseiten-Muster (Zweispalter + Reiter)
- WF-P7 Leads: Triage-Inbox, Lead->Projekt als grosses Modal (+Bulk),
  CSV-Import-Wizard (Davids Delta/CR), Quellen + Spam-Schutz
- WF-P4 Dateien: Teilen/Freigeben in v1 (intern + Link, Preset Mit mir geteilt)
- Paket-Canvases auf Default-Kurven, MD-Verknuepfungen je Canvas

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 23:17:54 +02:00
davidandClaude Fable 5 e48a5a46e8 Plan Querschnitt-Pakete P3-P5 und Infrastruktur-Entscheidungen
- Feature Map: Regelwerk, Kanten-System, Paket-Canvas-Verknuepfungen, MD-Links
- Infrastruktur & Navigation: Sidebar-Abgleich, Einstellungen-Modell, Mobile, Gating
- WF-P3 Benachrichtigungen + Audit Log (validiert)
- WF-P4 Aufgaben (inkl. Topbar-Drawer-Delta) + Dateien (inkl. Teilen v1, CR an Dev)
- WF-P5 Integrationen (Sync-Verlauf als eigene Seiten)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 20:47:46 +02:00
6594 changed files with 1245035 additions and 189605 deletions

No files matched your search

+3 -1
View File
@@ -1,3 +1,5 @@
[ [
"editor-width-slider" "editor-width-slider",
"better-embedded-canvas",
"advanced-canvas"
] ]
File diff suppressed because it is too large. Load diff
+11
View File
@@ -0,0 +1,11 @@
{
"id": "advanced-canvas",
"name": "Advanced Canvas",
"version": "6.4.0",
"minAppVersion": "1.7.2",
"description": "Supercharge your canvas experience! Create presentations, flowcharts and more!",
"author": "Developer-Mike",
"authorUrl": "https://github.com/Developer-Mike",
"fundingUrl": "https://ko-fi.com/X8X27IA08",
"isDesktopOnly": false
}
+536
View File
@@ -0,0 +1,536 @@
/* src/styles.scss */
.ac-settings .properties-field > .setting-item-info {
flex: 0;
margin: 0;
padding: var(--size-4-1) var(--size-4-2);
border: var(--input-border-width) solid var(--background-modifier-border);
border-radius: var(--input-radius) 0 0 var(--input-radius);
}
.ac-settings .properties-field > .setting-item-control > input {
width: 100%;
border-radius: 0 var(--input-radius) var(--input-radius) 0;
}
.ac-settings .ac-settings-heading:not(:first-child) {
margin-top: var(--size-4-10) !important;
}
.ac-settings .ac-settings-heading:has(.checkbox-container:not(.is-enabled)) {
border-bottom-color: var(--background-modifier-border-hover);
}
.ac-settings .ac-settings-heading .setting-item-description {
margin-inline-end: 20px;
}
.ac-settings .settings-header-children {
transform-origin: top center;
transform: scaleY(1);
transition: transform 0.2s ease-in-out;
}
.ac-settings .ac-settings-heading:has(.checkbox-container:not(.is-enabled)) + .settings-header-children {
opacity: 0.5;
pointer-events: none;
height: 0;
transform: scaleY(0);
}
.ac-settings .setting-item > .setting-item-control input[type=text] {
width: 75px;
}
.ac-settings details.setting-item {
flex-direction: column;
align-items: initial;
}
.ac-settings details.setting-item:not([open]) {
row-gap: 0;
}
.ac-settings details.setting-item[open] {
padding-bottom: var(--size-4-2);
}
.ac-settings details.setting-item[open] > summary {
margin-bottom: var(--size-4-2);
}
.ac-settings details.setting-item > *:not(summary) {
border: 1px solid var(--background-primary);
}
.ac-settings .kofi-banner {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: var(--size-4-3);
background-color: var(--background-primary-alt);
border-radius: var(--radius-m);
}
.ac-settings .kofi-banner .ac-kofi-banner-title {
margin: 0;
font-size: var(--font-ui-small);
font-weight: 600;
}
.ac-settings .kofi-banner .ac-kofi-button {
width: min-content;
height: min-content;
line-height: 0;
}
.ac-settings .kofi-banner .ac-kofi-button img {
min-width: 75px;
width: 25%;
max-width: 100px;
}
.canvas-wrapper > .document-search-container {
transform: translateZ(0);
margin: 0;
}
.canvas-wrapper:not(.mod-readonly) .show-while-readonly {
display: none;
}
.canvas-control-item[data-toggled=true] {
background-color: var(--color-accent);
}
.canvas-control-item[data-toggled=true] svg {
stroke: var(--text-on-accent);
}
.reactive-node,
.canvas-node[data-shape=database],
.canvas-node[data-shape=document],
.canvas-node[data-shape=predefined-process],
.canvas-node[data-shape=diamond] {
--border-color: rgb(var(--canvas-color));
--border-width: 3px;
--box-shadow: none;
}
.reactive-node.is-focused,
.is-focused.canvas-node[data-shape=database],
.is-focused.canvas-node[data-shape=document],
.is-focused.canvas-node[data-shape=predefined-process],
.is-focused.canvas-node[data-shape=diamond],
.reactive-node.is-selected,
.is-selected.canvas-node[data-shape=database],
.is-selected.canvas-node[data-shape=document],
.is-selected.canvas-node[data-shape=predefined-process],
.is-selected.canvas-node[data-shape=diamond] {
--border-color: var(--color-accent);
--border-width: 5px;
--box-shadow: var(--shadow-border-accent);
}
.reactive-node.is-themed,
.is-themed.canvas-node[data-shape=database],
.is-themed.canvas-node[data-shape=document],
.is-themed.canvas-node[data-shape=predefined-process],
.is-themed.canvas-node[data-shape=diamond] {
--border-color: rgba(var(--canvas-color), 0.7);
}
.reactive-node.is-themed.is-focused,
.is-themed.is-focused.canvas-node[data-shape=database],
.is-themed.is-focused.canvas-node[data-shape=document],
.is-themed.is-focused.canvas-node[data-shape=predefined-process],
.is-themed.is-focused.canvas-node[data-shape=diamond],
.reactive-node.is-themed.is-selected,
.is-themed.is-selected.canvas-node[data-shape=database],
.is-themed.is-selected.canvas-node[data-shape=document],
.is-themed.is-selected.canvas-node[data-shape=predefined-process],
.is-themed.is-selected.canvas-node[data-shape=diamond] {
--border-color: rgb(var(--canvas-color));
--box-shadow: var(--shadow-border-themed);
}
.canvas-node[data-text-align=center] .markdown-preview-view {
scrollbar-gutter: auto;
}
.canvas-node[data-text-align=center] .markdown-preview-view .markdown-preview-section {
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
vertical-align: middle;
}
.canvas-node[data-text-align=right] {
text-align: right;
}
.canvas-node[data-shape] .canvas-node-container .markdown-preview-view.markdown-rendered {
transform: unset;
}
.canvas-node[data-shape=pill] .canvas-node-container {
border-radius: 5000px;
}
.canvas-node[data-shape=diamond] {
}
.canvas-node[data-shape=diamond].is-focused,
.canvas-node[data-shape=diamond].is-selected {
border-radius: var(--radius-m);
outline: 2px solid var(--color-accent);
outline-offset: 5px;
}
.canvas-node[data-shape=diamond] .canvas-node-container {
border: none;
box-shadow: none !important;
}
.canvas-node[data-shape=diamond] .canvas-node-container:not(:has(.embed-iframe)) {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
}
.canvas-node[data-shape=diamond] .canvas-node-container .canvas-node-placeholder::after {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
}
.canvas-node[data-shape=diamond]::before {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
content: "";
position: absolute;
top: calc(var(--border-width) * -1);
left: calc(var(--border-width) * -1);
width: calc(100% + var(--border-width) * 2);
height: calc(100% + var(--border-width) * 2);
background-color: var(--border-color);
}
.canvas-node[data-shape=parallelogram] .canvas-node-container {
transform: skewX(-20deg);
backface-visibility: hidden;
}
.canvas-node[data-shape=parallelogram] .canvas-node-container .canvas-node-content > .markdown-embed-content {
transform: skewX(20deg);
}
.canvas-node[data-shape=circle] .canvas-node-container {
border-radius: 50%;
}
.canvas-node[data-shape=circle] .canvas-node-container .markdown-preview-view {
overflow-y: initial;
}
.canvas-node[data-shape=predefined-process] .canvas-node-container .canvas-node-content {
padding: 0 10px;
}
.canvas-node[data-shape=predefined-process] .canvas-node-container::before,
.canvas-node[data-shape=predefined-process] .canvas-node-container::after {
content: "";
z-index: 1;
position: absolute;
top: 0;
width: 0;
height: 100%;
border-left: var(--border-width) solid var(--border-color);
}
.canvas-node[data-shape=predefined-process] .canvas-node-container::before {
left: calc(10px - var(--border-width));
}
.canvas-node[data-shape=predefined-process] .canvas-node-container::after {
right: calc(10px - var(--border-width));
}
.canvas-node[data-shape=document] {
--border-width: 2.5px;
filter: drop-shadow(0 var(--border-width) 0 var(--border-color)) drop-shadow(0 calc(var(--border-width) * -1) 0 var(--border-color));
}
.canvas-node[data-shape=document] .canvas-node-container {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 75 45' preserveAspectRatio='none'%3E%3Cpath d='M75 0 75 39.375Q56.25 29.25 37.5 39.375 18.75 49.5 0 39.375L0 0Z' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 75 45' preserveAspectRatio='none'%3E%3Cpath d='M75 0 75 39.375Q56.25 29.25 37.5 39.375 18.75 49.5 0 39.375L0 0Z' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
border: var(--border-width) solid var(--border-color);
border-top: none;
border-bottom: none;
}
.canvas-node[data-shape=document].is-focused,
.canvas-node[data-shape=document].is-selected {
--border-width: 4px;
}
.canvas-node[data-shape=database] {
}
.canvas-node[data-shape=database] .canvas-node-container {
border: var(--border-width) solid var(--border-color);
border-bottom: 0;
border-top: 0;
border-radius: 0;
box-shadow: none !important;
}
.canvas-node[data-shape=database] .canvas-node-container .canvas-node-placeholder {
transform: translateY(25px);
}
.canvas-node[data-shape=database]::before,
.canvas-node[data-shape=database]::after {
content: "";
position: absolute;
left: 0;
box-sizing: border-box;
width: 100%;
height: 50px;
border-radius: 50%;
border: var(--border-width) solid var(--border-color);
background-color: var(--background-primary);
}
.canvas-node[data-shape=database]::after {
top: -25px;
}
.canvas-node[data-shape=database]::before {
bottom: -25px;
}
.canvas-node[data-shape=database].is-themed .canvas-node-content {
background-color: transparent;
}
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe)) .canvas-node-container,
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe))::after,
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe))::before {
box-shadow: inset 0 0 0 1000px rgba(var(--canvas-color), 0.07) !important;
}
.canvas-node[data-shape=database] .canvas-node-content:not(:has(.embed-iframe)) {
transform: translateY(20px);
}
.canvas-node[data-shape=database]:has(.embed-iframe)::after {
z-index: -1;
}
.canvas-node[data-border=dashed] .canvas-node-container {
box-shadow: none;
border-style: dashed;
}
.canvas-node[data-border=dotted] .canvas-node-container {
box-shadow: none;
border-style: dotted;
}
.canvas-node[data-border=invisible] {
box-shadow: none;
}
.canvas-node[data-border=invisible]:not(.is-focused):not(.is-selected) .canvas-node-container {
border-color: transparent !important;
}
.canvas-node[data-border=invisible] .canvas-node-label {
display: none;
}
.canvas-node[data-border=invisible] .canvas-node-container {
background-color: transparent;
box-shadow: none;
}
.canvas-node[data-border][data-shape=predefined-process] {
--border-width: 2px;
}
.canvas-node[data-border][data-shape=predefined-process] .is-focused,
.canvas-node[data-border][data-shape=predefined-process] .is-selected {
--border-width: 2px;
}
.canvas-node[data-border=dashed][data-shape=predefined-process] .canvas-node-container::before,
.canvas-node[data-border=dashed][data-shape=predefined-process] .canvas-node-container::after {
border-left: var(--border-width) dashed var(--border-color);
}
.canvas-node[data-border=dotted][data-shape=predefined-process] .canvas-node-container::before,
.canvas-node[data-border=dotted][data-shape=predefined-process] .canvas-node-container::after {
border-left: var(--border-width) dotted var(--border-color);
}
.canvas-node[data-border][data-shape=document] .canvas-node-container {
border-top: none;
border-bottom: none;
}
.canvas-edges path[data-path=dotted] {
stroke-dasharray: calc(3px * var(--zoom-multiplier));
}
.canvas-edges path[data-path=short-dashed] {
stroke-dasharray: 9px;
}
.canvas-edges path[data-path=long-dashed] {
stroke-dasharray: 18px;
}
.canvas-edges [data-arrow=triangle-outline] polygon,
.canvas-edges [data-arrow=diamond-outline] polygon,
.canvas-edges [data-arrow=circle-outline] polygon {
fill: var(--canvas-background);
stroke: rgb(var(--canvas-color));
stroke-width: calc(3px * var(--zoom-multiplier));
}
.canvas-edges [data-arrow=thin-triangle] polygon {
fill: transparent;
stroke: rgb(var(--canvas-color));
stroke-width: calc(4px * var(--zoom-multiplier));
}
.icon-modal-suggestion {
display: flex;
align-items: center;
gap: var(--size-4-4);
}
.icon-modal-suggestion .icon-modal-suggestion-icon {
line-height: 0;
}
.icon-modal-suggestion .icon-modal-suggestion-id {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
}
.canvas.is-exporting {
--zoom-multiplier: 1;
}
.canvas.is-exporting * {
pointer-events: none !important;
transition: none !important;
}
.canvas.is-exporting .collapse-button {
display: none;
}
.canvas.is-exporting #watermark-ac {
z-index: 9999999;
position: absolute;
}
.canvas-wrapper[data-collapsible-groups-feature-enabled=true] .canvas.is-exporting .canvas-node .canvas-group-label {
left: 0;
}
.progress-bar-modal-ac {
margin-top: 0.75em;
}
.progress-bar-modal-ac.error .setting-progress-bar {
color: var(--color-error);
}
.canvas-wrapper[data-disable-font-size-relative-to-zoom=true] {
--zoom-multiplier: 1 !important;
}
.canvas-wrapper.mod-readonly .canvas-controls .canvas-control-group:nth-child(3),
.canvas-wrapper.mod-readonly .canvas-card-menu {
display: none;
}
.canvas-wrapper.mod-readonly[data-hide-background-grid-when-in-readonly=true] .canvas-background {
visibility: hidden;
}
.collapse-button {
position: absolute;
left: 0;
top: calc(-1 * var(--size-4-1) * var(--zoom-multiplier));
padding: var(--size-4-1) var(--size-4-2);
transform-origin: bottom left;
transform: translate(0, -100%) scale(var(--zoom-multiplier));
border-radius: var(--radius-s);
color: var(--text-muted);
background-color: rgba(var(--canvas-color), 0.1);
font-size: 1.5em;
line-height: 1;
pointer-events: initial;
cursor: pointer;
transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.canvas-wrapper[data-collapsible-groups-feature-enabled=true] .canvas-node .canvas-group-label {
left: calc(40px * var(--zoom-multiplier));
}
.canvas-node[data-collapsed] .canvas-node-container {
display: none;
}
.canvas-node[data-collapsed] .canvas-group-label {
max-width: initial;
}
.canvas-wrapper[data-collapsed-group-preview-on-drag=true][data-is-dragging] .canvas-node[data-collapsed] .canvas-node-container {
display: block;
opacity: 0.5;
border-style: dashed;
}
.canvas-wrapper[data-collapsed-group-preview-on-drag=true][data-is-dragging] .canvas-node[data-collapsed] .canvas-node-container .canvas-node-content {
background-color: transparent;
}
.canvas-node-interaction-layer[data-target-collapsed] .canvas-node-resizer {
pointer-events: none;
cursor: inherit;
}
.canvas-node-interaction-layer[data-target-collapsed] .canvas-node-resizer .canvas-node-connection-point {
display: none;
pointer-events: none;
}
.canvas-wrapper[data-allow-floating-edge-creation=true] .canvas.is-connecting .canvas-node:not(.canvas-node-group)::after {
all: unset;
content: "";
z-index: 100;
position: absolute;
top: 50%;
left: 50%;
width: max(10px, 100% - 50px * var(--zoom-multiplier) * 2);
height: max(10px, 100% - 50px * var(--zoom-multiplier) * 2);
transform: translate(-50%, -50%);
border-radius: var(--radius-m);
outline: calc(4px * var(--zoom-multiplier)) dashed hsla(var(--color-accent-hsl), 0.5);
}
.canvas-wrapper[data-allow-floating-edge-creation=true] .canvas.is-connecting .canvas-node:not(.canvas-node-group).hovering-floating-edge-zone::after {
outline-color: var(--color-accent);
outline-style: solid;
background-color: hsla(var(--color-accent-hsl), 0.1);
}
.canvas-wrapper[data-focus-mode-enabled=true] .canvas:has(.canvas-node.is-focused) .canvas-node:not(.is-focused) {
filter: blur(5px);
}
.canvas-wrapper[data-focus-mode-enabled=true] .canvas:has(.canvas-node.is-focused) .canvas-edges > g:not(.is-focused) {
filter: blur(5px);
}
.canvas-wrapper[data-focus-mode-enabled=true] .canvas:has(.canvas-node.is-focused) .canvas-path-label-wrapper > .canvas-path-label:not(.is-focused) {
filter: blur(5px);
}
.canvas-wrapper.presentation-mode .canvas-controls {
visibility: hidden;
}
.canvas-wrapper.presentation-mode .canvas-card-menu {
visibility: hidden;
}
.canvas-wrapper:not(.presentation-mode) .canvas-node[data-is-start-node=true]::before {
content: "Start";
position: absolute;
top: calc(-1 * var(--size-4-1) * var(--zoom-multiplier));
right: 0;
transform: translate(0, -100%) scale(var(--zoom-multiplier));
transform-origin: bottom right;
max-width: calc(100% / var(--zoom-multiplier));
padding: var(--size-4-1) var(--size-4-2);
font-size: 1em;
border-radius: var(--radius-s);
color: var(--color-green);
background-color: rgba(var(--color-green-rgb), 0.1);
}
.canvas-node[data-is-portal-loaded=true] {
pointer-events: all;
}
.canvas-node[data-is-portal-loaded=true]:not(.is-focused) {
pointer-events: none;
}
.canvas-node[data-is-portal-loaded=true]:not(.is-focused) .canvas-node-label {
pointer-events: all;
}
.canvas-node[data-is-portal-loaded=true] .canvas-node-container {
background-color: transparent;
border-style: dashed;
}
.canvas-node[data-is-portal-loaded=true] .canvas-node-container .canvas-node-content {
display: none;
}
.canvas-node-interaction-layer[data-is-from-portal=true] .canvas-node-resizer {
pointer-events: none;
cursor: inherit;
}
.canvas-node-interaction-layer[data-is-from-portal=true] .canvas-node-resizer .canvas-node-connection-point {
pointer-events: all;
}
.ac-card-embed {
display: flex;
flex-direction: column;
overflow: hidden;
background-color: var(--background-primary);
border: 1px solid rgb(var(--canvas-color));
border-radius: var(--radius-m);
box-shadow: var(--shadow-stationary);
}
.ac-card-embed.is-themed {
background-color: rgba(var(--canvas-color), 0.07);
border-color: rgba(var(--canvas-color), 0.7);
box-shadow: inset 0 0 0 1px rgba(var(--canvas-color), 0.7), var(--shadow-stationary);
}
.ac-card-embed > .markdown-content {
position: relative;
overflow-y: auto;
overflow-wrap: break-word;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
padding: 0 var(--size-4-4);
font-size: var(--font-text-size);
font-family: var(--font-text);
line-height: var(--line-height-normal);
color: var(--text-normal);
user-select: text;
-webkit-user-select: text;
scrollbar-gutter: stable;
}
+9
View File
@@ -0,0 +1,9 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin:
https://github.com/kotaindah55/better-embedded-canvas
*/
var P=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var j=(n,e)=>{for(var t in e)P(n,t,{get:e[t],enumerable:!0})},w=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of q(e))!G.call(n,s)&&s!==t&&P(n,s,{get:()=>e[s],enumerable:!(i=_(e,s))||i.enumerable});return n},k=(n,e,t)=>(w(n,e,"default"),t&&w(t,e,"default"));var Q=n=>w(P({},"__esModule",{value:!0}),n);var te={};j(te,{BetterEmbeddedCanvasPlugin:()=>C,default:()=>ee});module.exports=Q(te);var a={};k(a,require("obsidian"));function U(n){return{app:n,containerEl:createDiv(),history:{backHistory:[],forwardHistory:[]}}}function D(n){let e=n.internalPlugins.getPluginById("canvas").views.canvas;u=e(U(n)).canvas.constructor}var u;function O(n){let e=new u(n);return e.quickSettingsButton.parentElement?.detach(),e.undoBtnEl.parentElement?.detach(),a.Platform.isMobile||e.canvasControlsEl.lastElementChild?.detach(),e.cardMenuEl.detach(),e.setReadonly(!0),e.wrapperEl.addEventListener("drop",t=>t.preventDefault(),!0),e}function I(n,e,t){let i=n.embedRegistry,s=i.embedByExtension[e]??null;return i.unregisterExtension(e),i.registerExtension(e,t),s}function g(n,e){return n.internalPlugins.getPluginById(e)}function x(n){return n.matches("body > div.print *")}var S={A3:{width:1123,height:1587},A4:{width:794,height:1123},A5:{width:559,height:794},Legal:{width:816,height:1344},Letter:{width:816,height:1054},Tabloid:{width:1056,height:1632}},A=37;var L={tooltipOpenCanvas:"Open canvas",tooltipEnableInteraction:"Enable interaction",tooltipDisableInteraction:"Disable interaction",reloadNotesPrompt:{title:"Reload notes",desc:"Select \u201CReload\u201D to reload all open notes and revert embedded canvases to their default (your data is preserved).",buttonReload:"Reload"},settings:{showCanvasName:{name:"Show canvas name",desc:"Show canvas name as embed title."}}};var M={tooltipOpenCanvas:"Buka kanvas",tooltipEnableInteraction:"Nyalakan interaksi",tooltipDisableInteraction:"Matikan interaksi",reloadNotesPrompt:{title:"Muat ulang catatan",desc:"Pilih \u201CMuat ulang\u201D untuk memuat ulang catatan yang terbuka dan mengembalikan kanvas yang disematkan pada tampilan bawaan (data Anda tetap terjaga).",buttonReload:"Muat ulang"},settings:{showCanvasName:{name:"Tampilkan nama kanvas",desc:"Tampilkan nama kanvas sebagai judul sematan."}}};var T=i18next.createInstance({lng:(0,a.getLanguage)(),fallbackLng:"en",resources:{en:{translation:L},id:{translation:M}}});T.init();var l=T.t.bind(T);var c=new Map,p=new Map;function X(n){let{wrapperEl:e}=n,t=e.getBoundingClientRect(),i=t.left+e.clientLeft,s=t.top+e.clientTop,r=e.clientWidth,o=e.clientHeight;n.canvasRect={left:i,top:s,width:r,height:o,cx:i+r/2,cy:s+o/2,minX:-r/2,minY:-o/2,maxX:r/2,maxY:r/2}}function B(){p.has(this)||p.set(this,(0,a.debounce)(()=>{c.get(this)?.forEach(n=>X(n.canvas)),p.delete(this)},20)())}function R(n){c.forEach(e=>e.forEach(n))}function N(n){let e=n.contentEl.win,t=c.get(e);t?t.add(n):(c.set(e,new Set([n])),e.addEventListener("scroll",B,{capture:!0,passive:!0}))}function z(n){let e=n.contentEl.win,t=c.get(e);t?.delete(n),t&&!t.size&&(p.get(e)?.cancel(),p.delete(e),c.delete(e),e.removeEventListener("scroll",B,!0))}function H(){p.forEach(n=>n.cancel()),p.clear(),c.forEach((n,e)=>{e.removeEventListener("scroll",B,!0),n.forEach(t=>t.unload())}),c.clear()}var K=300;function $(n){return n.matches(".canvas-node *")}var h=class n extends a.Component{app;canvas;contentEl;plugin;file;ctx;subpath;becPlugin;containerEl;headerEl;mainControlsEl;zoomControlsEl;openCanvasBtnEl;toggleInteractionBtnEl;resizeObserver;mutationObserver;constructor(e,t,i,s){super(),this.app=t.app,this.plugin=g(this.app,"canvas").instance,this.becPlugin=e,this.ctx=t,this.file=i,this.subpath=s,this.containerEl=t.containerEl,this.containerEl.addClass("canvas-embed","better-canvas-embed"),this.containerEl.toggleClass("inline-embed",t.showInline??!1),this.headerEl=this.containerEl.createDiv("embed-title",r=>{r.createSpan("file-embed-icon",o=>(0,a.setIcon)(o,"lucide-layout-dashboard")),r.appendText(" "+i.basename),r.addEventListener("click",o=>this.openOnClick(o)),r.toggle(e.settings.get("showCanvasName"))}),this.contentEl=this.containerEl.createDiv("canvas-content"),this.resizeObserver=new ResizeObserver(()=>this.canvas.onResize()),this.mutationObserver=new MutationObserver(()=>this.updateHeight()),this.canvas=O(this),this.zoomControlsEl=this.canvas.canvasControlsEl.firstElementChild,this.mainControlsEl=this.canvas.canvasControlsEl.createDiv({cls:["canvas-control-group","mod-raised"],prepend:!0}),this.openCanvasBtnEl=this.mainControlsEl.createDiv("canvas-control-item",r=>{(0,a.setIcon)(r,"lucide-maximize-2"),(0,a.setTooltip)(r,l("tooltipOpenCanvas"),{placement:"left"}),r.addEventListener("click",o=>this.openOnClick(o))}),this.toggleInteractionBtnEl=this.mainControlsEl.createDiv("canvas-control-item",r=>{(0,a.setIcon)(r,"pointer"),(0,a.setTooltip)(r,l("tooltipLine truncated
/* nosourcemap */
+10
View File
@@ -0,0 +1,10 @@
{
"id": "better-embedded-canvas",
"name": "Better Embedded Canvas",
"version": "0.2.4",
"minAppVersion": "1.10.0",
"description": "Give your embedded canvas better display and interactivity.",
"author": "Kotaindah55",
"authorUrl": "https://github.com/kotaindah55",
"isDesktopOnly": false
}
+1
View File
@@ -0,0 +1 @@
body{--embedded-canvas-min-height: 300px;--embedded-canvas-border-width: 1px;--embedded-canvas-border-color: var(--background-modifier-border)}.canvas-embed.better-canvas-embed.internal-embed>.canvas-content>.canvas-wrapper{position:relative}.canvas-embed.better-canvas-embed>.embed-title{width:fit-content;cursor:pointer}.canvas-embed.better-canvas-embed>.canvas-content{height:var(--embedded-canvas-min-height);border:var(--embedded-canvas-border-width) solid var(--embedded-canvas-border-color);border-radius:var(--radius-m);overflow:hidden}.canvas-embed.better-canvas-embed>.canvas-content>.canvas-wrapper>.canvas-controls{visibility:hidden}.canvas-embed.better-canvas-embed>.canvas-content:hover>.canvas-wrapper>.canvas-controls{visibility:visible}.canvas-embed.better-canvas-embed .canvas-wrapper.mod-readonly[data-hide-background-grid-when-in-readonly=true] .canvas-background{visibility:visible}.canvas-embed.better-canvas-embed .canvas-node-content.markdown-embed>.markdown-embed-content>.markdown-preview-view>.markdown-preview-sizer{margin-left:unset;margin-right:unset}.canvas-embed.better-canvas-embed .inline-title{display:block}
+1
View File
@@ -12,6 +12,7 @@ Ziel: Alle Wireframe-Regeln, Pakete, Screen-Notizen, Banner, Toasts, Zustaende u
|---|---| |---|---|
| [[01 Regeln/Wireframing Playbook]] | Grundregeln: Was wird gebaut, was nur dokumentiert, wie laufen Brainstorming und Handoff? | | [[01 Regeln/Wireframing Playbook]] | Grundregeln: Was wird gebaut, was nur dokumentiert, wie laufen Brainstorming und Handoff? |
| [[01 Regeln/Obsidian Struktur]] | Wie dieser Vault aufgebaut ist und wie Dateien benannt werden. | | [[01 Regeln/Obsidian Struktur]] | Wie dieser Vault aufgebaut ist und wie Dateien benannt werden. |
| [[Todo]] | Zentrale, projektweite und abhakbare Aufgabenliste. |
| [[02 Wireframes/Screen Paket Tracker]] | Zentrale Kontrolltabelle fuer alle Flows, Screens, Canvas- und Subframe-Links. | | [[02 Wireframes/Screen Paket Tracker]] | Zentrale Kontrolltabelle fuer alle Flows, Screens, Canvas- und Subframe-Links. |
| [[02 Wireframes/_Templates/Wireframe Paket Template]] | Vorlage fuer ein neues Wireframe-Paket. | | [[02 Wireframes/_Templates/Wireframe Paket Template]] | Vorlage fuer ein neues Wireframe-Paket. |
| [[02 Wireframes/_Templates/Screen Template]] | Vorlage fuer eine einzelne Screen-Datei. | | [[02 Wireframes/_Templates/Screen Template]] | Vorlage fuer eine einzelne Screen-Datei. |
+3 -2
View File
@@ -35,6 +35,7 @@ Dieser Vault ist der Arbeitsbereich fuer Screens, Wireframes und Handoffs.
| State-Datei | `ST01 Keine Suchergebnisse.md` | beschreibt einen Zustand, der nicht als eigener Frame gebaut wird | | State-Datei | `ST01 Keine Suchergebnisse.md` | beschreibt einen Zustand, der nicht als eigener Frame gebaut wird |
| Canvas-Datei | `WF-[Ticket] [Flow Name].canvas` | visueller Flow-Tree in Obsidian Canvas | | Canvas-Datei | `WF-[Ticket] [Flow Name].canvas` | visueller Flow-Tree in Obsidian Canvas |
| Tracker | `Screen Paket Tracker.md` | Uebersicht ueber Pakete und Status | | Tracker | `Screen Paket Tracker.md` | Uebersicht ueber Pakete und Status |
| Todo | `Todo.md` im Vault-Root | zentrale, projektweite und abhakbare Aufgabenliste |
--- ---
@@ -89,8 +90,8 @@ Warum: Obsidian-Wiki-Aliase nutzen `|`, und dieses Zeichen kann Markdown-Tabelle
Beispiel: Beispiel:
```md ```md
[MD](<P2 Auth/WF-P2 Login und 2FA/Screens/S01 Login.md>) [MD](<../02 Wireframes/P2 Login und 2FA/WF-P2 Login und 2FA/Screens/S01 Login.md>)
[Canvas](<P2 Auth/WF-P2 Login und 2FA/WF-P2 Login und 2FA.canvas>) [Canvas](<../02 Wireframes/P2 Login und 2FA/WF-P2 Login und 2FA/WF-P2 Login und 2FA.canvas>)
``` ```
Regel: Regel:
@@ -0,0 +1,64 @@
---
kind: start
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
recipient: David
status: Review-ready
stand: 2026-07-09
---
# Start hier - D-FORM David Review
Das ist der Startpunkt fuer den weitergegebenen D-FORM-Ordner.
## Schnell lesen
1. [[D-FORM David Uebergabe 2026-07-09]]
2. [[Simple Builder Neuausrichtung]]
3. [[Subframe Bau Log]]
4. [[WF-D-FORM Form Builder]]
## Kurzfassung
D-FORM ist auf Builder + oeffentliches Formular begrenzt. Der empfohlene Hauptfluss ist jetzt der einfache Google-Forms-nahe Editor S02, weil der alte Advanced-Canvas fuer normale Handwerksbetriebe zu schwer wirkt.
Nach Davids Feedback wurde die Lead-Zuweisung ergaenzt:
- S02 zeigt eine ruhige Lead-Card.
- `Felder zuweisen` fuehrt nach S02L.
- S02L ordnet Formularfragen per Dropdown Lead-Feldern zu.
- E05 zeigt fehlende oder unmoegliche Zuweisungen.
- 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
1. [[Screens/01 S00 Formulare verwalten]]
2. [[Screens/02 E01 S00 Keine Formulare]]
3. [[Screens/03 E02 S00 Keine Treffer]]
4. [[Screens/04 S01 Formularart auswaehlen]]
5. [[Screens/05 S02 Einfacher Fragen Editor]]
6. [[Screens/05b S02L Lead Felder zuweisen]]
7. [[Screens/05c E05 S02 Lead Zuweisung pruefen]]
8. [[Screens/06 S03 Formular Design]]
9. [[Screens/07 S04 Oeffentliches Formular]]
10. [[Screens/08 V01 Public Erfolg oder Redirect]]
11. [[Screens/09 V02 Public Formular nicht verfuegbar]]
12. [[Screens/10 V03 Public Captcha oder Submit Fehler]]
13. [[Screens/11 S05 Antworten Tabelle]]
14. [[Screens/12 E03 S05 Keine Antworten]]
15. [[Screens/13 E04 S05 Export Fehler]]
Danach nur bei Bedarf:
- [[Screens/81 S01C Website Formular Editor]]
- [[Screens/82 S01D Umfrage Editor]]
- [[Screens/83 S01E Internes Formular Editor]]
## Bitte pruefen
- Ist S02 als Haupteditor die richtige Richtung?
- Reicht S02L fuer die einfache Lead-Feldzuweisung?
- Passt E05 fuer fehlende oder unmoegliche Zuweisungen?
- Reichen S03, S04/Public States und S05 fuer D-FORM?
- Sollen M01-M04 spaeter als echte Dialog-Screens gebaut werden oder reicht die Dokumentation?
@@ -0,0 +1,265 @@
---
kind: handoff
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
recipient: David
status: Review-ready / Subframe Draft gebaut
stand: 2026-07-09
---
# D-FORM - Uebergabe fuer David
Kurzfassung: D-FORM ist fachlich auf Builder + oeffentliches Formular begrenzt. Der alte grosse Form-Builder-Canvas bleibt als Advanced-/Referenzrichtung erhalten, aber die empfohlene Hauptvariante ist jetzt ein einfacher Google-Forms-naher Editor fuer Handwerksbetriebe. Der Subframe-Draft ist gebaut und die wichtigsten Lead-Zuweisungszustaende wurden nach Davids Feedback ergaenzt.
## 1. Was D-FORM umfasst
D-FORM umfasst:
- Formular-Zentrale zum Finden, Filtern und Oeffnen von Formularen.
- Formularart auswaehlen.
- Einfacher Fragen-Editor fuer alle Formulararten.
- Lead-spezifische Feldzuweisung.
- Design-Tab fuer Logo, Farbe und Public-Vorschau.
- Oeffentliches Formular fuer Kunden/Interessenten.
- Public States: Erfolg, nicht verfuegbar, Captcha-/Submit-Fehler.
- Antworten-Tab als einfache Tabelle mit Export.
- Empty/Error States fuer Verwaltung und Antworten.
D-FORM umfasst bewusst nicht:
- Booking.
- Kalender.
- Signatur.
- HR.
- Vollstaendige Submissions-Verwaltung.
- Vollstaendige CRM-/Automation-Konfiguration.
- Komplexe Multi-Step-Forms, Scoring, Repeater oder If/Else-Baeume.
## 2. Wichtigste Arbeitsentscheidung
Die erste Builder-Richtung war fachlich vollstaendig, aber fuer normale Handwerksbetriebe zu schwer. Deshalb wurde der Hauptfluss vereinfacht:
| Alt | Neu |
|---|---|
| Palette, Canvas und Inspector dauerhaft sichtbar | Ruhiger Fragen-Editor mit einzelnen Fragekarten |
| Viele Modi gleichzeitig | Nur das zeigen, was fuer den naechsten Schritt wichtig ist |
| Logic und Actions wirken wie Profi-Module | Logic als `Bedingung`, Actions als `Nach Absenden` |
| Technische Feldtypen | Verstaendliche Fragetypen |
| Lead-Mapping wirkt wie Admin-Konfiguration | Lead-Felder werden einfach per Dropdown zugewiesen |
Empfehlung: S02 ist der Haupteditor. S01B und die alten Advanced-Screens sind aus dem Obsidian-Handoff entfernt, damit der Review nicht mehr doppelt wirkt.
## 3. Aktueller Hauptfluss
```text
S00 Formulare verwalten
-> Neues Formular
-> S01 Formularart auswaehlen
-> S02 Einfacher Fragen Editor
-> bei Lead-Formular: S02L Lead Felder zuweisen
-> bei fehlender/unmoeglicher Lead-Zuweisung: E05
-> S03 Formular Design
-> S04 Oeffentliches Formular
-> Public States V01/V02/V03
-> S05 Antworten Tabelle
```
## 4. Gebaute Hauptscreens
| Nr. | ID | Screen | Zweck | Subframe |
|---|---|---|---|---|
| 01 | S00 | Formulare verwalten | Erste Seite fuer Suche, Filter, Status und Bearbeiten | https://app.subframe.com/f023064a5ca0/design/2325aa7a-d968-4028-8282-0823b15bf964/edit |
| 02 | E01 | S00 Keine Formulare | Empty State, wenn noch nichts existiert | https://app.subframe.com/f023064a5ca0/design/136c11b3-8310-4165-b4ba-9cf099ee0873/edit |
| 03 | E02 | S00 Keine Treffer | Empty State fuer Suche/Filter | https://app.subframe.com/f023064a5ca0/design/ccf8d2f7-e7b4-4ffd-87f6-1785edc1b2f7/edit |
| 04 | S01 | Formularart auswaehlen | Auswahl: Website/Extern, Lead, Fragebogen/Umfrage, Intern | https://app.subframe.com/f023064a5ca0/design/c423ebcd-914f-4038-ab9f-7c2a745a8bec/edit |
| 05 | S02 | Einfacher Fragen Editor | Haupteditor fuer Fragen, Optionen, Pflichtfelder, Bedingung, Lead-Hinweis | https://app.subframe.com/f023064a5ca0/design/181aaa0f-5ae7-4f74-acf7-8273fbbe4dd5/edit |
| 05b | S02L | Lead Felder zuweisen | Lead-Felder per Dropdown Formularfragen zuordnen | https://app.subframe.com/f023064a5ca0/design/c8aa80cb-0cc8-473f-9fac-a09d395e6571/edit |
| 05c | E05 | S02 Lead Zuweisung pruefen | Fehlerzustand, wenn Lead-Zuweisung fehlt oder nicht passt | https://app.subframe.com/f023064a5ca0/design/26600ce4-7baf-4ffb-9955-7c7d1eef99d1/edit |
| 06 | S03 | Formular Design | Logo, Farbe, Breite, Datenschutz-Hinweis, Vorschau | https://app.subframe.com/f023064a5ca0/design/090f06a9-3fa7-4442-b8bc-035e95de7329/edit |
| 07 | S04 | Oeffentliches Formular | Kundensicht ohne App-Shell | https://app.subframe.com/f023064a5ca0/design/caef9ddd-03d6-4a26-8dc1-16aa198a7304/edit |
| 08 | V01 | Public Erfolg oder Redirect | Danke-/Erfolgszustand nach Absenden | https://app.subframe.com/f023064a5ca0/design/c06ecfc3-1f86-4dfe-9cfd-cec8b8629253/edit |
| 09 | V02 | Public Formular nicht verfuegbar | Public Blocker statt rohem Fehler | https://app.subframe.com/f023064a5ca0/design/f96ec12a-5e6a-471d-9a9c-6babcb57c74c/edit |
| 10 | V03 | Public Captcha oder Submit Fehler | Werte bleiben erhalten, Fehler wird verstaendlich gezeigt | https://app.subframe.com/f023064a5ca0/design/95c96bc9-35d4-47ce-b510-7d8ea1f41936/edit |
| 11 | S05 | Antworten Tabelle | Excel-nahe Antwortenansicht mit Zeitraum und Export | https://app.subframe.com/f023064a5ca0/design/9e8eeab7-44ea-4b77-85e6-0818d97e1ac3/edit |
| 12 | E03 | S05 Keine Antworten | Empty State fuer Antworten-Tab | https://app.subframe.com/f023064a5ca0/design/6f56c14f-d66e-4734-8a29-a900ac74a8a7/edit |
| 13 | E04 | S05 Export Fehler | Fehlerzustand fuer Excel/CSV-Export | https://app.subframe.com/f023064a5ca0/design/00553ea4-9839-4d22-b540-9b9ef0bf014f/edit |
## 5. Spaetere Varianten
Diese Seiten liegen noch als optionale Beispiele im Subframe-Flow, sind aber nicht Teil des aktuellen Hauptflusses:
| Nr. | ID | Screen | Status | Subframe |
|---|---|---|---|---|
| 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
| Formularart | Fuer wen | Verhalten |
|---|---|---|
| Website-/Externes Formular | Kunden oder Interessenten per Link/Website | Public Link, mCaptcha, Datenschutz-Hinweis |
| Lead-Formular | Neue Kundenanfragen fuer Vertrieb/Pipeline | Kontakt-/Anfragefelder werden vorgeschlagen, Lead-Erstellung ist aktiv, `Felder zuweisen` sichtbar |
| Fragebogen / Umfrage | Feedback, Zufriedenheit, kurze Abfragen | Antworten werden gesammelt, keine Lead-Pipeline |
| Internes Formular | Mitarbeiter, z. B. Material/Rueckruf/Schaden | Interne Ablage, kein Public-Marketing-Kontext |
## 7. Fragetypen im aktuellen S02
Im Hauptdropdown bleiben aktuell nur:
- Kurzantwort
- Absatz
- Multiple Choice
- Mehrfachauswahl
- Drop-down
- Datei oder Bild hochladen
- Datum
- Uhrzeit
Nicht im aktuellen Hauptdropdown:
- Lineare Skala
- Bewertung
- Multiple-Choice-Raster
- Kaestchenraster
Diese Typen koennen spaeter wieder diskutiert werden, werden aber jetzt bewusst nicht gebaut.
## 8. Lead-Zuweisung nach Davids Feedback
Davids Feedback: Ein reiner Hinweis `Lead-Verknuepfung aktiv` reicht nicht. Nutzer sollen sehen koennen, welche Formularfragen in welche Lead-Felder laufen.
Umsetzung:
- S02 bleibt Haupteditor.
- Bei Lead-Formularen zeigt S02 eine ruhige blaue Lead-Card.
- Die blaue Lead-Card nutzt jetzt denselben Layout-Aufbau wie die gruene `Lead anlegen`-Card: Icon links, Titel/Badge/Beschreibung in der Mitte, Aktion rechts.
- `Felder zuweisen` fuehrt zu S02L.
- S02L zeigt die Lead-Zuweisung im gleichen Look wie S02.
- Jede Zuweisung nutzt eine Dropdown-Vorlage.
- Nicht passende Felder werden disabled oder mit Begruendung markiert.
- E05 deckt fehlende oder unmoegliche Zuweisungen ab.
- Lead kann im bestehenden Formular deaktiviert werden; es muss nicht direkt ein neues Formular erstellt werden.
Wichtige Lead-Felder:
| Lead-Feld | Erwartung |
|---|---|
| Name | Pflicht, normalerweise Kurzantwort |
| Kontakt | Pflicht: Telefon, E-Mail oder Kombifeld |
| Beschreibung | Pflicht, Kurzantwort oder Absatz |
| Bereich | Optional, als Tag/Kategorie nutzbar |
| Datei / Bild | Optional, nur Datei-/Upload-Fragen |
| Pipeline | Pflicht, Ziel fuer neue Leads |
| Quelle | Automatisch `Formular` |
## 9. Logic, Actions und Publish
Fuer den einfachen Haupteditor:
- Logic wird als `Bedingung` direkt an der Frage gezeigt.
- Actions werden im Bereich `Nach Absenden` gezeigt.
- Bei Lead-Formularen ist `Lead anlegen` als einfache Card aktiv.
- Publish bleibt im Editor.
- Harte Blocker zeigen einen Banner/Popover mit Sprungzielen.
- Unpublish braucht einen Confirm-Dialog, weil der Public-Link danach nicht mehr erreichbar ist.
Als reine Markdown-Notizen bleiben D01/D02/D03/D06/D10 und M01-M04 dokumentiert. Sie sind keine Subframe-Hauptscreens und nicht Teil der Review-Reihenfolge.
## 10. Public Formular
S04 ist die Sicht fuer Kunden/Interessenten, nicht fuer interne Mitarbeiter.
Grundregeln:
- Keine App-Shell.
- Keine Sidebar.
- Keine internen Begriffe.
- Tenant-Logo/Farbe sichtbar.
- Felder klar, ruhig und mobil nutzbar.
- mCaptcha fuer externe Formulare.
- Datenschutz-Checkbox.
- Datei/Bild-Upload nutzt volle Formularbreite.
- Bei Fehlern bleiben Eingaben erhalten.
Public States:
| State | Zweck |
|---|---|
| V01 | Anfrage erfolgreich gesendet oder Redirect |
| V02 | Formular nicht verfuegbar, geschlossen oder Limit erreicht |
| V03 | Captcha-, Upload- oder Submit-Fehler mit erhaltenen Eingaben |
## 11. Antworten-Tab
S05 ist bewusst schlicht:
- Excel-/Tabellennahe Ansicht.
- Suche.
- Zeitraumfilter: letzte 7 Tage, letzter Monat, letzte 3 Monate, letztes Jahr, eigener Zeitraum.
- Excel/CSV-Export.
- Keine Kennzahl-Kacheln, weil die Ansicht sonst zu schwer wirkt.
- Kein `Link teilen`-Button; Teilen gehoert in den Veroeffentlichen-/Public-Link-Kontext.
## 12. Noch offen / bitte pruefen
Aus meiner Sicht ist fuer den aktuellen D-FORM-Plan inhaltlich nichts Grosses mehr offen, ausser Review und Feinschliff in Subframe.
Bitte David pruefen lassen:
- Ist S02 als Haupteditor statt Advanced-Canvas die richtige Richtung fuer normale Handwerksbetriebe?
- Reicht S02L als einfache Lead-Feldzuweisung, oder braucht David noch ein zweites Detail-/Fehlerbeispiel?
- Passt E05 fuer fehlende/unmoegliche Lead-Zuweisungen?
- Sind S03 Design und S05 Antworten tief genug fuer D-FORM, ohne in andere Tickets abzurutschen?
- Sind Public States S04/V01/V02/V03 vollstaendig genug?
- Sollen S01C/S01D/S01E als spaetere Beispielvarianten im Subframe-Flow liegen bleiben?
- Muessen M01-M04 als echte Dialog-Screens gebaut werden, oder reicht Dokumentation?
- In Subframe bitte bei S02L/E05 nochmal visuell pruefen, ob das richtige Default Page Layout gesetzt ist.
## 13. Empfohlene Review-Reihenfolge in Subframe
1. S00 Formulare verwalten
2. E01 S00 Keine Formulare
3. E02 S00 Keine Treffer
4. S01 Formularart auswaehlen
5. S02 Einfacher Fragen Editor
6. S02L Lead Felder zuweisen
7. E05 S02 Lead Zuweisung pruefen
8. S03 Formular Design
9. S04 Oeffentliches Formular
10. V01 Public Erfolg oder Redirect
11. V02 Public Formular nicht verfuegbar
12. V03 Public Captcha oder Submit Fehler
13. S05 Antworten Tabelle
14. E03 S05 Keine Antworten
15. E04 S05 Export Fehler
Danach nur bei Bedarf:
16. S01C Website Formular Editor
17. S01D Umfrage Editor
18. S01E Internes Formular Editor
## 14. Lokale Detaildateien
Wichtige Detailnotizen im Paket:
- `WF-D-FORM Form Builder.md`
- `Simple Builder Neuausrichtung.md`
- `David Review Checkliste.md`
- `Subframe Bau Log.md`
- `Subframe Bauplan.md`
- `Screens/01 S00 Formulare verwalten.md`
- `Screens/04 S01 Formularart auswaehlen.md`
- `Screens/05 S02 Einfacher Fragen Editor.md`
- `Screens/05b S02L Lead Felder zuweisen.md`
- `Screens/05c E05 S02 Lead Zuweisung pruefen.md`
- `Screens/06 S03 Formular Design.md`
- `Screens/07 S04 Oeffentliches Formular.md`
- `Screens/11 S05 Antworten Tabelle.md`
- `Screens/D10 Builder Interaktionsfaelle.md`
## 15. Kurztext zum Mitschicken
Hey David, hier ist die aufgeraeumte D-FORM-Uebergabe. Ich habe den Builder nach deinem Feedback nochmal vereinfacht und die Lead-Zuweisung ergaenzt: S02 bleibt der einfache Google-Forms-nahe Haupteditor, S02L zeigt die Lead-Felder-Zuweisung per Dropdown, E05 deckt fehlende/unmoegliche Zuweisungen ab. Die alten Advanced-Screens und S01B sind aus dem Obsidian-Handoff raus, damit der Review nur noch den aktuellen Hauptfluss zeigt. Kannst du bitte einmal pruefen, ob die Richtung und die offenen Punkte fuer dich passen?
@@ -0,0 +1,179 @@
---
kind: review-checklist
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
status: Review-ready / Subframe Draft gebaut
stand: 2026-07-09
---
# David Review Checkliste - D-FORM
Ziel: David kann schnell pruefen, ob der D-FORM-Zuschnitt, die wichtigsten UX-Entscheidungen und der Subframe-Draft stimmen.
Startpunkt fuer die weitergebbare Version: [[00 Start hier - David]] und [[D-FORM David Uebergabe 2026-07-09]].
## 0. Review-Ergebnis 2026-07-06
David hat den groben fachlichen Scope als passend bewertet. Die Empfehlungen aus dieser Checkliste werden damit als Arbeitsentscheidung uebernommen.
Wichtige Nacharbeit aus dem Review: Die Interaktionslogik wurde in den einfachen S02-Hauptfluss uebersetzt. Logic bleibt als `Bedingung` an der Frage, Actions als `Nach Absenden`/Lead-Card und Publish-Blocker als Banner/Popover im selben Editor.
Subframe ist als Draft gebaut und verlinkt. Der aktuelle Hauptfluss ist S00, E01/E02, S01, S02, S02L/E05, S03, S04/V01/V02/V03, S05 und E03/E04. S01C/S01D/S01E bleiben spaetere Varianten bzw. Referenz. S01B und die alten Advanced-Screens wurden aus dem Obsidian-Handoff entfernt.
Aktuelle Arbeitsentscheidung: Fuer normale Handwerksbetriebe wird S02 als einfache Google-Forms-nahe Richtung empfohlen. Alle Formulararten starten in S02 mit anderer Vorlage/Startfragen. Als Kunden-/Handwerker-Wording wird `Bereich` statt `Gewerk` verwendet.
## 0b. David-Feedback Lead-Zuweisung
Neue Rueckmeldung: Fuer Lead-Formulare reicht ein reiner Hinweis `Lead-Verknuepfung aktiv` nicht aus. Nutzer sollen sehen, welche Formularfelder in welche Lead-Felder laufen.
Entscheidung:
- S02 bleibt der Haupteditor.
- Logic kommt als einfache `Bedingung` direkt an die Frage.
- Actions kommen als `Nach Absenden`-Bereich in den Screen.
- Bei Lead-Formularen ist `Lead anlegen` aktiv.
- `Felder zuweisen` wird als eigener S02-Zustand dokumentiert: [[Screens/05b S02L Lead Felder zuweisen]].
- Wenn eine Zuweisung fehlt oder nicht moeglich ist, wird optional [[Screens/05c E05 S02 Lead Zuweisung pruefen]] gebaut.
- Dropdown-Vorlage verwenden; keine eigene Mapping-Tabellenoptik.
- Nicht passende Felder werden disabled oder mit Fehlerhinweis markiert.
## 1. Quellen-Abgrenzung
Ergebnis: Die Abgrenzung `D-FORM = Form-Builder-Canvas + oeffentliches Formular` stimmt.
| Quelle | Aussage | Konsequenz fuer D-FORM |
|---|---|---|
| `ticket-docs/D-FORM.md` | D-FORM deckt Form-Builder und oeffentliches Formular ab. Booking/Kalender gehen an `D-BOOK`; Forms-Liste, Submissions und Signatur sind Compose/andere Tickets. | D-FORM bleibt bei Builder und Public: S02 einfacher Editor plus S04/Public-Varianten. |
| `designer-briefs/P16-kalender-booking-forms-signatur.md` | P16 ist gebuendelt, aber soll in Gruppen getrennt werden: Kalender-Sync, Booking, Form-Builder, Signatur. | Nicht alle P16-Screens gehoeren in D-FORM. |
| `SCREEN-MAP.md` Paragraph 3 | Listet Form-Builder-Canvas, oeffentliches Formular und Submissions im Umfeld. Submissions ist A2/A3-Compose, Builder/Public sind Bespoke. | Submissions nicht als D-FORM-Bespoke bauen. |
| `D-BOOK.md` | D-BOOK deckt Booking-Page und Kalender-View ab; verweist Form-Builder/Public Form zurueck auf D-FORM. | Booking und Kalender bleiben raus. |
| `D-HR.md` | HR ist Compose und bettet den M05-Form-Renderer aus P16 ein. | HR nutzt D-FORM-Ergebnis spaeter, ist aber kein D-FORM-Screen. |
| `M05-form-builder.md` | M05 enthaelt auch Submissions, Templates, Actions, Permissions und Phase-2-Themen. | D-FORM darf diese Themen beruecksichtigen, aber nicht alle als eigene Screens bauen. |
## 2. Scope-Entscheidung
| Punkt | Empfehlung | David-Entscheidung |
|---|---|---|
| D-FORM umfasst den Builder; aktuell S02 als Haupteditor. | Ja. | angenommen |
| D-FORM umfasst S04 Oeffentliches Formular. | Ja. | angenommen |
| V01 Public Erfolg/Redirect wird als eigene Variante gebaut. | Ja, weil copy- und vertrauenskritisch. | angenommen |
| V02 Public Formular nicht verfuegbar wird als eigene Variante gebaut. | Ja, weil externer Nutzer blockiert ist. | angenommen |
| V03 Public Captcha/Submit-Fehler wird als eigene Variante gebaut. | Ja, weil Public-Vertrauen wichtig ist. | angenommen |
| Vollstaendige Forms-Liste bleibt raus. | Ja, D2-Compose / eigenes Paket. S03 ist nur eine schlanke Formular-Zentrale fuer D-FORM. | angenommen / ergaenzt |
| Vollstaendige Submissions bleibt raus. | Ja, A2/A3-Compose / eigenes Paket. S05 ist nur der einfache Antworten-Tab fuer ein Formular. | angenommen / ergaenzt |
| Booking/Kalender bleibt raus. | Ja, `D-BOOK`. | angenommen |
| Signatur bleibt raus. | Ja, eigenes Signatur-/D-REST-Paket. | angenommen |
| HR bleibt raus. | Ja, HR nutzt nur den Renderer wieder. | angenommen |
## 3. Builder / Advanced-S01 Referenz
| Entscheidung | Empfehlung | Warum wichtig | David-Entscheidung |
|---|---|---|---|
| Builder-Aufbau | Drei-Zonen-Builder: Palette links, Canvas Mitte, Inspector rechts. | Wirkt wie Builder, nicht wie Settings-Seite. | angenommen |
| Modus-Leiste | Builder, Logic, Actions, Sharing, Preview, Settings als Modi im selben Screen. | Keine Routensplittung, aber Komplexitaet bleibt sortiert. | angenommen |
| Preview | Im selben Builder als Modus oder Side-Preview. | Public-Renderer muss pruefbar sein. | angenommen |
| Content Blocks | Section Header/Description als optionaler Content Block pruefen, nicht als A4-12-Feldtyp. | Lange Forms brauchen Struktur, aber Scope darf nicht wachsen. | angenommen |
| Signature | Nicht als normales D-FORM-v1-Feld. | Signatur hat eigenen Kontext. | angenommen |
| Foto | Als Datei-/Mobile-Kamera-Variante, kein eigener Feldtyp. | Haelt die 12 Feldtypen stabil. | angenommen |
| URL/Address/Hidden | Raus oder v2/Spezialbaustein. | Nicht Teil der A4-12-Liste bzw. haengt an v2/Maps/Links. | angenommen |
| Field Key | Sichtbar, automatisch aus Label, in Advanced editierbar. | Wichtig fuer Mapping/Actions, aber nicht zu laut im UI. | angenommen |
## 4. Validation / Publish
| Entscheidung | Empfehlung | David-Entscheidung |
|---|---|---|
| Publish blockiert bei fehlendem Namen, Slug, keinem sichtbaren Feld, Feld ohne Label, Select ohne Optionen, kaputter Logic, Pflichtmapping. | Ja. | angenommen |
| Warnen, aber nicht blockieren bei langem Formular, Datei ohne Typbeschraenkung, published Form stark geaendert. | Ja. | angenommen |
| Publish bleibt im Builder, kein eigener Screen. | Ja, Banner/Popover reicht. | angenommen |
| Unpublish bekommt Confirm-Hinweis, weil Public-Link danach nicht mehr erreichbar ist. | Ja. | angenommen |
## 5. Conditional Logic
| Entscheidung | Empfehlung | David-Entscheidung |
|---|---|---|
| V1 nur einfache Sichtbarkeit: Wenn Feld Y Operator Wert Z, dann Feld X anzeigen/verstecken. | Ja. | angenommen |
| Keine Multi-Step-Forms, Repeater, If/Else-Baeume, Scoring, Cross-Field-Rechnung. | Ja, v2. | angenommen |
| Kaputte Referenzen blockieren Publish. | Ja. | angenommen |
| Required-Feld, das versteckt ist, blockiert Public Submit nicht. | Ja. | angenommen |
## 6. Post-Submit-Actions
| Entscheidung | Empfehlung | David-Entscheidung |
|---|---|---|
| Actions bleiben in S01, kein eigener Automation-Editor. | Ja. | angenommen |
| Action-Typen: Email Submitter, Email Team, Lead, Kontakt, Projekt, Task, Auto-Match, Webhook, Automation-Trigger. | Ja. | angenommen |
| KWP Push nicht aktiv in D-FORM v1. | Ja, KWP ist v2/raus. | angenommen |
| Field-Mapping sichtbar pro Action. | Ja, Kernentscheidung. | angenommen |
| Test/Preview je Action zeigen. | Ja, aber kein ActionLog/Re-Run. | angenommen |
| ActionLog/Re-Run gehoert zu Submissions. | Ja. | angenommen |
## 7. Sharing
| Entscheidung | Empfehlung | David-Entscheidung |
|---|---|---|
| V1 Sharing: Public URL, QR, iFrame. | Ja. | angenommen |
| Personalisierte Links raus. | Ja, v2 laut Ticket. | angenommen |
| JS-Snippet raus. | Ja, v2 laut Ticket. | angenommen |
| Draft-Form zeigt Sharing ausgegraut mit Publish-Hinweis. | Ja. | angenommen |
| Slug fehlt blockiert Sharing. | Ja. | angenommen |
## 8. S04 Oeffentliches Formular
| Entscheidung | Empfehlung | David-Entscheidung |
|---|---|---|
| Keine App-Shell, keine Sidebar, keine internen Begriffe. | Ja. | angenommen |
| Public Layout: Branding-Kopf, Intro, Felder, Captcha, Submit, Footer. | Ja. | angenommen |
| Mobile-first fuer lange Formulare und Datei/Foto-Upload. | Ja. | angenommen |
| Conditional Logic live, aber ohne Fachbegriff im UI. | Ja. | angenommen |
| Werte bleiben bei Submit-/Captcha-Fehler erhalten. | Ja, wichtig fuer lange Forms. | angenommen |
| Branding nur Tenant-Logo/Farbe/Fallback, kein komplexes Theme-System. | Empfehlung: v1 schlicht halten. | angenommen |
## 9. Public-Varianten
| Variante | Empfehlung | David-Entscheidung |
|---|---|---|
| V01 Success ohne Redirect | Danke-Ansicht mit klarer Bestaetigung. | angenommen |
| V01 Success mit Redirect | Kurze Bestaetigung + Weiterleitung/Weiter-Button. | angenommen |
| V02 Nicht verfuegbar | Ruhiger Blocker, keine technischen Details. | angenommen |
| V02 Geschlossen/Limit erreicht | Eigene Copy-Richtung, aber gleiche Variante. | angenommen |
| V03 Captcha-Fehler | Fehler nahe Captcha, Retry. | angenommen |
| V03 Submit-Fehler | Banner nahe Submit, Werte erhalten, Retry. | angenommen |
## 10. Subframe-Freigabe
| Punkt | Empfehlung | David-Entscheidung |
|---|---|---|
| Hauptfluss bauen: S00, S01, S02, S02L/E05, S03, S04/V01/V02/V03, S05 und E01-E04. | Ja. | angenommen |
| M01 Feld loeschen Confirm und M02 Unpublish Confirm vorerst nur dokumentieren. | Ja, fachlich klar; spaeter baubar, falls David es sehen will. | angenommen als Empfehlung |
| Sharing, Logic, Actions, Preview und Settings nicht als eigene Subframe-Screens, sondern einfach im S02-Kontext halten. | Ja. | angenommen |
| Nach Subframe-Bau Links in Paket, Screen-Dateien, Tracker und Handoff eintragen. | Ja. | erledigt |
## 11. David-Feedback: S01 Nacharbeit
Davids Rueckmeldung: Der fachliche Scope ist gut, aber beim internen Form Builder fehlte die Interaktionslogik. Es muss erkennbar sein, ob Klicks inline bleiben, ein Menue/Popover oeffnen, den Inspector wechseln, ein Panel/Drawer zeigen oder einen Dialog brauchen.
Arbeitsentscheidung fuer S01:
| Aktion | Entscheidung |
|---|---|
| Feld bearbeiten | Inline im rechten Inspector, kein Modal. |
| Feld duplizieren | Direkt ueber Feldkarte oder 3-Punkte-Menue; danach Kopie markieren, kein Confirm. |
| Feld loeschen | Ueber 3-Punkte-Menue oder Gefahrenzone; Confirm, sobald Feld in Logic/Actions verwendet wird oder Loeschen destruktiv ist. |
| Logic-Regel anlegen | Im Logic-Modus als Panel/Detailbereich im selben S01-Screen, kein Modal. |
| Post-Submit-Action hinzufuegen | Actions-Modus: Typ-Auswahl als kleines Auswahlpanel/Popover, Detailkonfiguration im Panel/Drawer. |
| Sharing oeffnen | Share-Button schaltet in Sharing-Panel/Modus, kein Modal. |
| Publish | Publish-Check inline im Builder; bei Blockern Summary mit Sprungzielen, bei Erfolg Toast/Statuswechsel. |
| Unpublish | Confirm-Dialog, weil der Public-Link danach nicht mehr erreichbar ist. |
Damit reicht S02 als Haupteditor. Die kleineren Menues und Confirm-Dialoge bleiben dokumentiert und muessen nicht automatisch eigene Subframe-Screens werden.
Vor-Subframe-Nacharbeit erledigt: Die wichtigsten Detailzustaende sind als Markdown-Dateien ausgearbeitet: [[Screens/D01 Sharing Panel URL QR iFrame]], [[Screens/D02 Post-Submit Actions]], [[Screens/D03 Conditional Logic Editor]], [[Screens/D06 Feldkarten Menue]], [[Screens/M01 Feld loeschen Confirm]], [[Screens/M02 Unpublish Confirm]], [[Screens/M03 Archive Confirm]], [[Screens/M04 Unsaved Changes Confirm]].
Weitere Nacharbeit nach neuer Rueckmeldung: [[Screens/D10 Builder Interaktionsfaelle]] dokumentiert jetzt die "Was passiert wenn...?"-Faelle: Auswahlfolgen, Checkboxen, vergessene Zwischenschritte, Datei/Foto, Dropdowns, halb gesetztes Mapping, Publish-Blocker und konkrete Modal-/Popover-Inhalte.
Aktueller Subframe-Stand: Der Hauptfluss S00/E01/E02/S01/S02/S02L/E05/S03/S04/V01/V02/V03/S05/E03/E04 ist gebaut und verlinkt. S01C/S01D/S01E sind gebaut, aber aktuell nur spaetere Varianten bzw. Referenz. M01/M02/M03/M04 und D10 bleiben dokumentiert.
## 12. Kurztext fuer David
`D-FORM ist fachlich passend abgegrenzt und der Subframe-Draft ist gebaut. Der aktuelle Hauptfluss ist S00, S01, S02, S02L/E05, S03, S04/Public States und S05 plus E01-E04. S02 ist die Google-Forms-nahe Hauptvariante; Logic/Actions/Publish bleiben dort bewusst einfach und inline. S01C/S01D/S01E sind nur spaetere Varianten bzw. Referenz. S05 bleibt ohne Kennzahl-Kacheln und ohne extra Link-teilen-Button.`
@@ -0,0 +1,59 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S00
screen: Formulare verwalten
typ: Formular-Zentrale
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /forms
subframe: "https://app.subframe.com/f023064a5ca0/design/2325aa7a-d968-4028-8282-0823b15bf964/edit"
---
# S00 - Formulare verwalten
## Ziel
Grundseite fuer Mitarbeiter, um bestehende Formulare zu finden, zu filtern und zu oeffnen.
Der Screen ist nicht der Builder selbst, sondern die Formular-Zentrale vor dem Bearbeiten.
## Inhalt
- Seitentitel `Formulare`
- Hilfetext: Formulare erstellen, veroeffentlichen und verwalten
- Buttons:
- `Vorlagen`
- `Neues Formular`
- Filter oben als Mehrfachauswahl:
- Status: Erstellt, Veroeffentlicht, Unveroeffentlicht
- Art: Website / Extern, Lead, Umfrage, Intern
- Suche, Statusfilter und Sortierung
- Tabelle mit Formularen:
- Website-Anfrage
- Heizungs-Anfrage
- Kundenzufriedenheit
- Materialbedarf melden
## Verhalten
- Klick auf `Neues Formular` fuehrt zu [[04 S01 Formularart auswaehlen|S01 Formularart auswaehlen]].
- Klick auf `Bearbeiten` oeffnet aktuell [[05 S02 Einfacher Fragen Editor|S02]].
- Die Formularart bestimmt in S02 nur Vorlage, Startfragen und Hinweise. S01C/S01D/S01E bleiben spaetere Varianten bzw. Referenzseiten.
- Filterchips koennen kombiniert werden, z. B. `Erstellt` + `Unveroeffentlicht` oder `Website / Extern` + `Lead`.
- Als Beispiel sind mehrere Status-Chips aktiv, damit klar ist: Es ist kein einzelner Tab, sondern eine Mehrfachauswahl. Art-Chips stehen daneben als zusaetzliche auswaehlbare Filter bereit.
- Aktionen je Zeile: bearbeiten, Vorschau, Link kopieren, Antworten ansehen, duplizieren, loeschen.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/2325aa7a-d968-4028-8282-0823b15bf964/edit
Qualitaetsregel:
- Nutzt das vorhandene `Default Page Layout`.
- Keine eigene Sidebar oder Header-Navigation.
- Liegt im selben Flow neben den D-FORM Builder-Screens.
@@ -0,0 +1,42 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: E01
screen: S00 Keine Formulare
typ: Empty State
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /forms
subframe: "https://app.subframe.com/f023064a5ca0/design/136c11b3-8310-4165-b4ba-9cf099ee0873/edit"
---
# E01 - S00 Keine Formulare
## Ziel
Leerer Startzustand der Formular-Zentrale.
Der Mitarbeiter hat noch kein Formular erstellt und soll ohne Erklaerballast direkt den naechsten sinnvollen Schritt sehen.
## Inhalt
- Seitentitel wie S00: `Formulare`
- Ruhiger Empty State im Inhaltsbereich
- Hauptaktion: `Neues Formular erstellen`
- Sekundaere Aktion: optional `Vorlagen ansehen`
- Kurzer Hinweis, dass Formulare spaeter veroeffentlicht, bearbeitet und ausgewertet werden koennen
## Verhalten
- Klick auf `Neues Formular erstellen` fuehrt zu [[04 S01 Formularart auswaehlen|S01 Formularart auswaehlen]].
- Keine Kennzahl-Kacheln und keine Beispiel-Tabelle, weil noch nichts existiert.
- Filter/Suche duerfen sichtbar bleiben oder reduziert wirken, aber nicht die Hauptaktion verdraengen.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/136c11b3-8310-4165-b4ba-9cf099ee0873/edit
@@ -0,0 +1,41 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: E02
screen: S00 Keine Treffer
typ: Empty State
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /forms
subframe: "https://app.subframe.com/f023064a5ca0/design/ccf8d2f7-e7b4-4ffd-87f6-1785edc1b2f7/edit"
---
# E02 - S00 Keine Treffer
## Ziel
Zustand, wenn Suche, Statusfilter oder Artfilter keine passenden Formulare finden.
Der Nutzer soll verstehen: Die Formulare sind nicht weg, nur der aktuelle Filter ist zu eng.
## Inhalt
- S00-Grundlayout mit aktiver Suche/aktiven Filtern
- Empty State im Tabellenbereich: `Keine passenden Formulare gefunden`
- Aktion: `Filter zuruecksetzen`
- Optionaler Hinweis auf die aktuelle Kombination, z. B. `Erstellt + Unveroeffentlicht + Lead`
## Verhalten
- `Filter zuruecksetzen` entfernt Suche und Filterchips.
- `Neues Formular` bleibt erreichbar.
- Der Zustand ist kein Fehler, sondern ein Such-/Filterergebnis.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/ccf8d2f7-e7b4-4ffd-87f6-1785edc1b2f7/edit
@@ -0,0 +1,85 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S01
screen: Formularart auswaehlen
typ: Einstieg / Auswahl
umsetzung: Alternative bauen
status: Subframe Draft / Review offen
route: /forms/new
subframe: "https://app.subframe.com/f023064a5ca0/design/c423ebcd-914f-4038-ab9f-7c2a745a8bec/edit"
---
# S01 - Formularart auswaehlen
## Ziel
Nutzer startet nicht direkt im komplexen Builder, sondern entscheidet zuerst, welche Art Formular er erstellen will.
## Warum wichtig
Handwerker brauchen eine einfache Einstiegsfrage:
`Was moechtest du erstellen?`
Nicht:
`Welche Feldtypen, Actions, Logic und Mappings brauchst du?`
## Aufbau
Interne Seite mit vorhandenem `Default Page Layout`. Keine eigene Sidebar nachbauen.
Inhalt:
- Titel: `Neues Formular erstellen`
- Kurzer Untertitel: `Waehle aus, wofuer das Formular gedacht ist. Du kannst spaeter alles anpassen.`
- Vier Auswahlkarten
- Unten nur `Abbrechen` und `Weiter`
Entscheidung 2026-07-08: Weniger ist hier besser. Keine separate Vorlagenzeile und keine `Auswaehlen`-Buttons in jeder Karte, weil das die gleiche Entscheidung doppelt aufmacht.
## Auswahlkarten
| Karte | Kurzbeschreibung | Danach |
|---|---|---|
| Website / Extern | Kunden fuellen es per Website, Link oder QR-Code aus. | Oeffnet [[05 S02 Einfacher Fragen Editor|S02]] mit Website-/Extern-Vorlage. |
| Lead-Formular | Neue Anfragen landen direkt als Lead in der Pipeline. | Oeffnet [[05 S02 Einfacher Fragen Editor|S02]] mit aktiver Lead-Verknuepfung. |
| Fragebogen / Umfrage | Feedback sammeln und Antworten spaeter auswerten. | Oeffnet [[05 S02 Einfacher Fragen Editor|S02]] mit Umfrage-Startfragen. |
| Internes Formular | Meldungen und Anfragen fuer Mitarbeitende. | Oeffnet [[05 S02 Einfacher Fragen Editor|S02]] mit interner Formularvorlage. |
Arbeitsentscheidung 2026-07-08: S02 ist der Haupt-Editor fuer alle vier Formulararten. S01C/S01D/S01E bleiben nur spaetere Varianten bzw. Referenzseiten.
## Lead-Formular Verhalten
Wenn `Lead-Formular` gewaehlt wird:
- Startfragen werden vorgeschlagen: Name, Telefon, Email, Bereich, Nachricht, Datei/Bild.
- Nach Submit wird automatisch ein Lead angelegt.
- Nutzer muss kein Mapping bauen.
- Im Editor erscheint nur ein ruhiger Hinweis: `Antworten werden automatisch als Lead gespeichert.`
- Pipeline/Ziel kann spaeter unter `Einstellungen` geaendert werden.
## Was nicht sichtbar sein soll
- Field Key
- Webhook
- Mapping
- Automation-Trigger
- komplexe Logic
- Rechte-/Permission-Begriffe
## Subframe-Hinweis
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/c423ebcd-914f-4038-ab9f-7c2a745a8bec/edit
Qualitaetsregel:
- Nutzt das vorhandene `Default Page Layout`.
- Keine eigene Sidebar oder Header-Navigation.
- Liegt im D-FORM-Flow neben S02/S02L/E05, S03, S04 und S05.
- Ersetzt nicht S04 Public Form, sondern liegt vor dem Builder.
@@ -0,0 +1,185 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S02
screen: Einfacher Fragen Editor
typ: Simple Builder Alternative
umsetzung: Alternative bauen
status: Subframe Draft / Review offen
route: /forms/:id/edit
subframe: "https://app.subframe.com/f023064a5ca0/design/181aaa0f-5ae7-4f74-acf7-8273fbbe4dd5/edit"
---
# S02 - Einfacher Fragen Editor
## Ziel
Google-Forms-artiger Editor fuer Handwerksbetriebe: Formularname oben, darunter einzelne Fragekarten. Nutzer fuegt Fragen hinzu, waehlt einen Fragetyp und veroeffentlicht.
## Leitidee
Der Nutzer soll denken:
`Ich schreibe Fragen auf.`
Nicht:
`Ich konfiguriere ein Datenmodell.`
## Aufbau
Interne Seite mit vorhandenem `Default Page Layout`. Keine eigene Sidebar nachbauen.
Screen-Zonen:
- Kopfzeile: Formularname, Status, Speichern, Vorschau, Veroeffentlichen.
- Schmale Tabs: Fragen, Design, Antworten.
- Mittelspalte: Formular-Titelkarte und Fragekarten.
- Rechte Mini-Werkzeugleiste: Frage hinzufuegen, vorhandene Frage/Block, Text, Bild, Datei/Upload, Medien/Video, Abschnitt und Mehr.
- Keine dauerhafte linke Palette.
- Kein dauerhafter rechter Inspector.
- Bei Lead-Formularen erscheint zusaetzlich eine ruhige Card `Felder zuweisen`, damit sichtbar ist, welche Formularfrage in welches Lead-Feld geschrieben wird.
## Fragekarte
Eine aktive Fragekarte zeigt:
- Fragetitel
- Fragetyp-Dropdown nach Google-Forms-Logik; zeigt immer den aktuell gewaehlten Typ, z. B. `Multiple-Choice-Frage`, nicht den Placeholder `Fragetyp`.
- optional Bild-Button
- mehrere Antwortoptionen als eigene Zeilen/Eingaben
- Button `Option hinzufuegen`
- Button `Sonstiges hinzufuegen`, wenn passend
- Duplizieren
- Loeschen
- Pflichtfrage Toggle
- Drei-Punkte-Menue fuer Beschreibung, Bedingung, Validierung
## Fragetyp-Dropdown
| Gruppe | Typen |
|---|---|
| Text | Kurzantwort, Absatz |
| Auswahl | Multiple-Choice-Frage, Mehrfachauswahl, Drop-down |
| Medien | Datei oder Bild hochladen |
| Datum/Zeit | Datum, Zeit |
Email, Telefon und Name werden im Lead-Formular als vorbereitete Startfragen angezeigt, nicht als laute Profi-Auswahl.
Nicht im aktuellen Hauptdropdown: Lineare Skala, Bewertung, Multiple-Choice-Raster und Kaestchenraster. Diese Typen werden nicht als eigene S02-Zustaende gebaut.
## Multiple Choice Verhalten
Wenn Nutzer `Multiple-Choice-Frage` waehlt:
- Antwortoptionen erscheinen direkt in der Fragekarte.
- Erste Option heisst `Option 1`.
- Nutzer kann weitere Optionen darunter hinzufuegen.
- `Sonstiges hinzufuegen` bleibt als Link sichtbar.
- Pflichtfrage ist ein Toggle unten rechts.
- Publish blockiert, wenn keine Option vorhanden ist.
## Mehrfachauswahl
Wie Multiple Choice, aber mehrere Antworten sind erlaubt.
Copy im Dropdown: `Mehrfachauswahl`, weil das fuer Handwerker verstaendlicher ist.
## Einfache Logic
Logic wird nicht als eigener Profi-Modus gezeigt.
In der Fragekarte gibt es im Drei-Punkte-Menue:
- `Bedingung hinzufuegen`
Danach oeffnet sich ein kleiner Bereich unter der Frage:
`Wenn Antwort ist ... dann Frage anzeigen ...`
Mehr nicht in der Hauptansicht.
## Lead-Formular Hinweis und Felder zuweisen
Wenn Formularart `Lead-Formular` ist:
- Oben unter dem Titel erscheint ein dezenter Hinweis:
`Lead-Verknuepfung`, Badge `Aktiv`, Beschreibung `Neue Antworten werden als Lead gespeichert - Pipeline: Vertrieb SHK`.
- Die Hinweis-Card nutzt dasselbe Layout wie der gruene `Lead anlegen`-Kasten: runder Icon-Hintergrund links, Titel/Beschreibung in der Mitte, Aktionen rechts.
- Rechts stehen `Felder zuweisen` als normale Aktion und `Deaktivieren` als kleine Tertiary-Aktion.
- Klick auf `Felder zuweisen` fuehrt in den Zustand [[05b S02L Lead Felder zuweisen]].
- Wenn Publish wegen fehlender Zuweisung blockiert, fuehrt der Sprung in [[05c E05 S02 Lead Zuweisung pruefen]].
Das ist kein Profi-Mapping-Panel, sondern eine verstaendliche Zuweisung im gleichen Look wie der Editor.
## Lead deaktivieren
Nutzer muessen kein neues Formular erstellen, nur weil die Lead-Erstellung nicht mehr gewuenscht ist.
Entscheidung:
- Die Aktion `Deaktivieren` kann die Lead-Erstellung im bestehenden Formular ausschalten.
- Das Formular bleibt bestehen und sammelt weiter normale Antworten.
- Bereits erzeugte Leads bleiben erhalten.
- Neue Einsendungen erzeugen nach dem Ausschalten keinen neuen Lead mehr.
- Die bisherigen Zuweisungen bleiben gespeichert, damit sie beim erneuten Aktivieren wieder vorgeschlagen werden koennen.
- Wenn das Formular bereits veroeffentlicht ist, sollte beim Ausschalten ein kurzer Confirm-Hinweis erscheinen: `Neue Antworten werden dann nicht mehr als Lead gespeichert. Bereits erzeugte Leads bleiben erhalten.`
- Im Draft ohne bisherige Antworten darf `Deaktivieren` direkt umschalten.
| Lead-Feld | Standard-Zuweisung | Verhalten |
|---|---|---|
| Name | `Ihr Name` | Pflicht, Kurzantwort. |
| Kontakt | `Telefon` oder `Email` | Mindestens eins muss zugewiesen sein. |
| Beschreibung | `Beschreibung Ihres Anliegens` | Pflicht, Absatz oder Kurzantwort. |
| Bereich | `Um welchen Bereich geht es?` | Optional, Dropdown/Multiple Choice passt. |
| Dateien / Bilder | `Fotos hochladen` | Optional, nur Datei/Bild-Felder passen. |
| Quelle | automatisch `Formular` | Nicht als Formularfrage noetig. |
| Pipeline | `Neue Anfragen` | Dropdown-Vorlage nutzen, kein Freitext. |
Jede Zeile nutzt die gleiche Dropdown-Vorlage: links das Lead-Feld, rechts ein Dropdown mit passenden Formularfragen. Nicht passende Formularfragen werden deaktiviert oder mit Hinweis gezeigt, z. B. `Fotos hochladen - passt nicht zu Email`.
Wenn ein Pflichtfeld nicht zuweisbar ist:
- Zeile zeigt Inline-Fehler.
- Banner oben: `2 Zuweisungen pruefen, bevor du veroeffentlichst.`
- Primaeraktion: `Passende Frage hinzufuegen`.
- Publish bleibt blockiert, bis die Pflichtzuweisung passt.
Details dazu liegen in [[05b S02L Lead Felder zuweisen]] und [[05c E05 S02 Lead Zuweisung pruefen]].
## Logic, Actions und Publish-Blocker
S02 ist der Haupt-Editor fuer normale Nutzer. Deshalb werden Logic, Actions und Publish-Blocker nicht als eigene Profi-Seiten in den Hauptfluss gezogen.
| Thema | Entscheidung fuer S02 | Warum |
|---|---|---|
| Logic | Nur als einfache `Bedingung` direkt an der Frage. | Nutzer soll nicht in einen Regel-Editor springen muessen. |
| Actions | `Nach Absenden` bleibt im Screen. Bei Lead-Formularen ist `Lead anlegen` aktiv und zeigt `Felder zuweisen`. | Kein Automation-Editor, aber die wichtigste Lead-Zuordnung ist sichtbar. |
| Publish-Blocker | Einfacher Banner/Popover im selben Screen mit Sprung zur betroffenen Frage. | Verstaendlich genug, kein eigener Screen noetig. |
Die alten Advanced-Detailframes sind aus dem Obsidian-Handoff entfernt. Fuer den aktuellen S02-Hauptfluss sind sie nicht notwendig. Die Lead-Zuweisung ist aber nicht mehr nur Hintergrundlogik, sondern ein eigener S02-Zustand.
## Publish
Bei Klick auf `Veroeffentlichen`:
- Wenn alles passt: Toast und Status `Veroeffentlicht`.
- Wenn etwas fehlt: einfacher Banner oben:
`Noch 2 Dinge fehlen, bevor du veroeffentlichen kannst.`
- Sprungziele gehen direkt zur betroffenen Frage.
## Subframe-Hinweis
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/181aaa0f-5ae7-4f74-acf7-8273fbbe4dd5/edit
Qualitaetsregel:
- Nutzt das vorhandene `Default Page Layout`.
- Keine eigene Sidebar oder Header-Navigation.
- Liegt im D-FORM-Flow neben S02L/E05, S03, S04 und S05.
- Nah an Google Forms, aber mit HiveGrid-Komponenten.
- Lead-Verknuepfung bleibt einfach sichtbar. `Felder zuweisen` wird als einfacher S02-Zustand gezeigt, nicht als Advanced-Mapping.
@@ -0,0 +1,103 @@
---
kind: screen-state
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S02L
screen: Lead Felder zuweisen
typ: S02-Zustand / Lead Editor
umsetzung: Subframe Draft
status: Subframe Draft / Review offen
route: /forms/:id/edit
subframe: "https://app.subframe.com/f023064a5ca0/design/c8aa80cb-0cc8-473f-9fac-a09d395e6571/edit"
---
# S02L - Lead Felder zuweisen
## Ziel
Lead-Formulare sollen nicht wie ein versteckter Automation-Editor wirken, aber Nutzer muessen sehen koennen, welche Formularfrage in welches Lead-Feld geschrieben wird.
Dieser Zustand liegt im gleichen Editor-Look wie S02: gleiche Kopfzeile, gleiche Tabs, gleiche Breite, gleiche Card-Sprache.
## Einstieg
S02 oeffnet diesen Zustand, wenn:
- Formularart `Lead-Formular` gewaehlt wurde.
- Nutzer auf `Felder zuweisen` klickt.
- Publish erkennt, dass eine Lead-Zuweisung fehlt.
- Nutzer eine Frage loescht oder den Fragetyp aendert, die bereits zugewiesen war.
## Aufbau
- Header wie S02: Formularname, Status, Speichern, Vorschau, Veroeffentlichen.
- Tabs wie S02: Fragen, Design, Antworten.
- Hinweis-Card: `Lead-Verknuepfung`, Badge `Aktiv`, Beschreibung `Neue Antworten werden als Lead gespeichert - Pipeline: Neue Anfragen`.
- Die Hinweis-Card nutzt dasselbe Layout wie der gruene `Lead anlegen`-Kasten: runder Icon-Hintergrund links, Titel/Beschreibung in der Mitte, kleine Aktion `Deaktivieren` rechts.
- Card `Felder zuweisen`
- Optional kleine Vorschau: `So wird daraus ein Lead`
## Felder-zuweisen-Card
Jede Zeile nutzt dieselbe Dropdown-Vorlage:
| Lead-Feld | Dropdown-Wert | Pflicht | Hinweis |
|---|---|---|---|
| Name | `Ihr Name` | ja | Kurzantwort. |
| Telefon | `Telefonnummer` | ja, wenn keine Email | Kurzantwort mit Telefon-Bedeutung. |
| Email | `Email-Adresse` | ja, wenn kein Telefon | Kurzantwort mit Email-Bedeutung. |
| Beschreibung | `Beschreibung Ihres Anliegens` | ja | Absatz oder Kurzantwort. |
| Bereich | `Um welchen Bereich geht es?` | nein | Auswahlfrage passt gut. |
| Datei / Bild | `Fotos hochladen` | nein | Nur Datei/Bild-Feld. |
| Pipeline | `Neue Anfragen` | ja | Dropdown aus Pipeline-Vorlage, kein Freitext. |
| Lead-Quelle | `Formular` | automatisch | Nicht editierbar im normalen Flow. |
## Dropdown-Regel
Dropdowns zeigen nur sinnvolle Optionen prominent.
Nicht passende Optionen sind entweder:
- gar nicht sichtbar, wenn es dadurch einfacher wird;
- oder disabled sichtbar mit kurzer Begruendung, wenn David den Fehlerfall sichtbar pruefen will.
Beispiele:
| Ziel | Nicht moegliche Option | Warum |
|---|---|---|
| Email | `Fotos hochladen` | Datei kann nicht als Email gespeichert werden. |
| Telefon | `Beschreibung Ihres Anliegens` | Langer Text passt nicht als Telefonnummer. |
| Datei / Bild | `Ihr Name` | Textfeld ist keine Datei. |
| Pipeline | `Um welchen Bereich geht es?` | Pipeline kommt aus Systemvorlage, nicht aus Formularantwort. |
## Aktionen
- `Zuweisung aendern` ueber Dropdown.
- `Passende Frage hinzufuegen` erstellt eine neue Frage und weist sie direkt zu.
- `Automatisch zuweisen` versucht anhand von Name, Email, Telefon, Beschreibung und Datei passende Fragen zu erkennen.
- `Ziel aendern` oeffnet Pipeline-/Team-Dropdown, kein grosses Mapping-Modal.
## Verhalten
- Wenn Nutzer eine zugewiesene Frage loescht, bleibt die Lead-Zeile sichtbar und wechselt auf Fehler.
- Wenn Nutzer den Fragetyp aendert und der Typ nicht mehr passt, wird die Zuweisung geloest oder als `passt nicht mehr` markiert.
- Wenn Telefon und Email beide leer sind, blockiert Publish.
- Wenn nur Telefon oder nur Email vorhanden ist, ist Publish erlaubt.
- Wenn optionale Felder fehlen, Publish nicht blockieren.
## Subframe-Hinweis
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/c8aa80cb-0cc8-473f-9fac-a09d395e6571/edit
Subframe-Name aktuell: `05b S02L Lead Felder zuweisen`.
Wichtig fuer Subframe:
- Gleiches Page Layout wie S02.
- Gleiche Card-Breite und gleiche Fragekarten-Sprache wie S02.
- Dropdown-Vorlage verwenden, nicht eigene Select-Optik erfinden.
- Keine Tabellenoptik wie Advanced-Mapping.
- Bei der finalen Sichtpruefung in Subframe kontrollieren, ob das vorhandene `Default Page Layout` aktiv ist.
@@ -0,0 +1,93 @@
---
kind: state
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: E05
screen: S02 Lead Zuweisung pruefen
typ: Lead Mapping Error State
umsetzung: Subframe Draft
status: Subframe Draft / Review offen
route: /forms/:id/edit
subframe: "https://app.subframe.com/f023064a5ca0/design/26600ce4-7baf-4ffb-9955-7c7d1eef99d1/edit"
---
# E05 - S02 Lead Zuweisung pruefen
## Ziel
Wenn eine Lead-Zuweisung nicht moeglich ist, soll der Nutzer direkt verstehen, was nicht passt und wie er es behebt.
Dieser Zustand ist kein Modal und kein eigener Advanced-Editor. Er ist derselbe S02/S02L-Screen mit Fehlerbanner und markierten Zeilen.
## Wann tritt der Zustand auf?
- Pflichtfeld `Name` ist nicht zugewiesen.
- Weder `Telefon` noch `Email` ist zugewiesen.
- `Beschreibung` fehlt.
- Eine zugewiesene Frage wurde geloescht.
- Eine Frage wurde in einen unpassenden Fragetyp geaendert.
- Ein Feld ist technisch nicht kompatibel, z. B. Datei zu Email.
## Aufbau
- Banner oben in S02/S02L:
`3 Zuweisungen pruefen, bevor du veroeffentlichst.`
- Darunter Sprunglinks:
`Name zuweisen`, `Kontakt zuweisen`, `Beschreibung zuweisen`
- In der Card `Felder zuweisen` sind betroffene Zeilen markiert.
- Jede fehlerhafte Zeile hat eine kurze Message.
## Fehlermatrix
| Fall | Message | Aktion |
|---|---|---|
| Name fehlt | `Waehle eine Frage fuer den Lead-Namen aus.` | Dropdown oeffnen oder `Passende Frage hinzufuegen`. |
| Kein Kontaktweg | `Weise Telefon oder Email zu, damit der Lead kontaktierbar ist.` | Telefon-/Email-Zeile fokussieren. |
| Beschreibung fehlt | `Waehle die Frage, die als Lead-Beschreibung gespeichert wird.` | Dropdown oeffnen. |
| Typ passt nicht | `Dieses Formularfeld passt nicht zu diesem Lead-Feld.` | Andere Frage waehlen. |
| Frage geloescht | `Die bisherige Frage existiert nicht mehr.` | Neue Frage waehlen oder erstellen. |
## Nicht moegliche Optionen
Im Dropdown koennen nicht moegliche Optionen disabled erscheinen:
```text
Fotos hochladen
Nicht moeglich fuer Email
```
Oder:
```text
Beschreibung Ihres Anliegens
Nicht moeglich fuer Telefon
```
Wenn zu viele disabled Optionen verwirren, nur passende Optionen anzeigen und darunter den Link `Warum sehe ich nicht alle Fragen?`.
## Publish-Regel
Publish bleibt blockiert, solange:
- Name fehlt.
- Kontaktweg fehlt.
- Beschreibung fehlt.
- eine aktive Pflichtzuweisung ungueltig ist.
Publish darf durchgehen, wenn:
- optionale Lead-Felder fehlen;
- Datei/Bild nicht zugewiesen ist;
- Bereich nicht zugewiesen ist;
- nur ein Kontaktweg vorhanden ist.
## Subframe-Hinweis
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/26600ce4-7baf-4ffb-9955-7c7d1eef99d1/edit
Subframe-Name aktuell: `05c E05 S02 Lead Zuweisung pruefen`.
Bei der finalen Sichtpruefung in Subframe kontrollieren, ob das vorhandene `Default Page Layout` aktiv ist, damit der Zustand wie S02/S02L im vorhandenen App-Rahmen liegt.
@@ -0,0 +1,59 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S03
screen: Formular Design
typ: Builder Tab
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /forms/:id/edit
subframe: "https://app.subframe.com/f023064a5ca0/design/090f06a9-3fa7-4442-b8bc-035e95de7329/edit"
---
# S03 - Formular Design
## Ziel
Design-Tab fuer ein konkretes Formular.
Hier veraendert der Mitarbeiter nicht die Fragen, sondern die Darstellung des oeffentlichen Formulars.
## Inhalt
- Formularname `Website-Anfrage`
- Tabs:
- Fragen
- Design
- Antworten
- Hilfetext: `Logo, Farben und Darstellung des oeffentlichen Formulars anpassen.`
- Einstellungen:
- Logo hochladen
- Akzentfarbe
- Theme / Schrift
- Formularbreite
- Hintergrund
- Button-Text
- Datenschutz-Hinweis
- Live-Vorschau der Kundensicht als Formular-Card
## Verhalten
- Aenderungen sollen sofort in der Live-Vorschau sichtbar werden.
- `Vorschau` oeffnet die Public-Ansicht.
- `Veroeffentlichen` bleibt in der Topbar erreichbar.
- Kein eigener `Teilen`-Tab; Link/QR/Einbettung gehoeren in den Veroeffentlichen-/Public-Link-Kontext.
- Keine Logic- oder Antwortbearbeitung in diesem Tab.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/090f06a9-3fa7-4442-b8bc-035e95de7329/edit
Qualitaetsregel:
- Nutzt das vorhandene `Default Page Layout`.
- Keine eigene Sidebar oder Header-Navigation.
- Design ist bewusst einfach gehalten, nicht wie ein Profi-Theme-Editor.
@@ -0,0 +1,268 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S04
screen: Oeffentliches Formular
typ: Public Form
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /f/{tenant}/{slug}
subframe: "https://app.subframe.com/f023064a5ca0/design/caef9ddd-03d6-4a26-8dc1-16aa198a7304/edit"
---
# S04 - Oeffentliches Formular
## Ziel
Externe Nutzer reichen ein Formular ohne App-Shell ein. Das Formular wirkt vertrauenswuerdig, klar, mobil nutzbar und tenant-gebrandet.
## Pattern / Archetyp
BESPOKE-Public.
Nutzt A4-Feldtypen als Renderer und A7-Zustaende fuer Public Loading/Error.
## Public-Arbeitsbereiche
Dies ist keine App-Shell. Der Submitter sieht nur das Formular und die noetige Orientierung.
| Bereich | Zweck |
|---|---|
| Branding-Kopf | Tenant-Logo, optional kurzer Dbsendername. |
| Formular-Intro | Titel, Beschreibung, ggf. Vertrauen/Datenschutz-Kurztext. |
| Feldbereich | Gerenderte Felder mit Conditional Logic. |
| Datenschutz / Captcha | Datenschutz-Zustimmung und mCaptcha nahe am Submit, nicht als Fremdkoerper. |
| Submit-Bereich | Button, Pflichtfeldhinweis, allgemeiner Fehler. |
| Footer | minimal: Datenschutz/Anbieter-Link falls vorgesehen. |
Empfehlung: Public Form soll eher wie ein ruhiges Kundenformular wirken, nicht wie eine Mini-Version der HiveGrid-App.
## Detail-Brainstorming S04
Status: Arbeitsentwurf fuer David. Noch nicht final abgehakt.
Das Public Form ist kein internes HiveGrid-UI. Es muss fuer Endkunden, Monteure, Bewerber oder Mitarbeiter funktionieren, die den Kontext nicht kennen. Deshalb zaehlen Vertrauen, Lesbarkeit, Mobile und Fehlerklarheit mehr als App-Dichte.
### Layout-Optionen
| Option | Aufbau | Vorteil | Risiko | Empfehlung |
|---|---|---|---|---|
| D | Zentrierte Formularseite mit Branding-Kopf, Intro, Feldbereich, Submit, Footer. | Ruhig, erwartbar, gut mobil. | Bei sehr langen Formularen braucht es gute Abstaende/Abschnitte. | Empfohlen. |
| B | App-nahe Seite mit Sidebar/Topbar. | Wiederverwendet internes Muster. | Wirkt falsch fuer externe Nutzer, zu viel HiveGrid-Kontext. | Raus. |
| C | Fullscreen-Karten pro Abschnitt/Step. | Sehr gefuehrt. | Multi-Step ist v2 bzw. nicht D-FORM v1. | Spaeter. |
Arbeitsentscheidung: S04 ist eine **Public Landing/Form-Seite ohne App-Shell**. Kein Sidebar, keine interne Navigation, keine Tabellen, keine internen Modulbegriffe.
### Empfohlener Seitenaufbau
| Bereich | Inhalt | Verhalten |
|---|---|---|
| Public Header | Tenant-Logo/Fallback, optional Anbietername. | Kleiner als App-Header, nicht dominant. |
| Formular-Intro | Form-Titel, Beschreibung, ggf. kurzer Datenschutz-/Hinweistext. | Nur sichtbare Public Copy, keine internen Labels. |
| Progress/Abschnittshinweis | Nur falls lange Form oder Content Blocks vorhanden. | Kein echter Multi-Step in v1. |
| Felder | Gerenderte Feldtypen in Reihenfolge. | Conditional Logic blendet Felder live ein/aus. |
| Datei-/Foto-Bereich | Upload mit Status, Fehler, Retry. | Mobile besonders pruefen. |
| Datenschutz | Pflicht-Checkbox mit Link zur Datenschutzerklaerung. | Direkt vor Captcha/Submit, damit Zustimmung bewusst passiert. |
| Captcha | mCaptcha nahe am Submit. | Sichtbar, aber nicht lauter als Formular. |
| Submit-Bereich | Pflichtfeldhinweis, Submit-Button, allgemeiner Fehler. | Sticky Button nur optional fuer sehr lange mobile Forms. |
| Footer | Datenschutz/Anbieter-Link, optional "powered by" falls gewuenscht. | Dezent. |
### Public-Copy-Regeln
| Regel | Beispiel / Bedeutung |
|---|---|
| Keine internen Begriffe | Nicht "Submission", "Action", "Lead", "Projekt", "Webhook". |
| Fehler sagen, was zu tun ist | "Bitte pruefen Sie die markierten Felder." statt "Validation failed". |
| Submit-Vertrauen sichern | Nach Klick klar zeigen: wird gesendet, angekommen, Fehler. |
| Datenschutz kurz halten | Optionaler Link oder kurzer Satz, kein langer Rechtstext im Hauptfluss. |
| Anbieter statt HiveGrid in den Vordergrund | Tenant-Branding zuerst, HiveGrid nur optional klein. |
## Detail: Public Field Rendering
| Feldtyp | Public-Darstellung | Mobile-Hinweis | Fehler |
|---|---|---|---|
| Text | Einzeiliges Eingabefeld. | Volle Breite, passende Tastatur. | Pflicht, min/max, Regex. |
| Textarea | Mehrzeiliges Eingabefeld. | Hoehe nicht zu klein, lange Texte erhalten. | Pflicht, min/max. |
| Zahl | Zahleneingabe. | Numerische Tastatur. | min/max, falsches Format. |
| Waehrung | Betrag mit Waehrungsformat. | Kein winziger Prefix; klare Einheit. | min/max, ungueltiger Betrag. |
| Datum | Date Picker oder natives Datum. | Native mobile Eingabe bevorzugt. | min/max Datum. |
| Datum-Range | Start/Ende als Paar. | Untereinander auf mobile. | Ende vor Start. |
| Select | Dropdown oder Radio je Optionenmenge. | Grosse Touch-Ziele. | Pflicht ohne Auswahl. |
| Multi-Select | Checkboxen oder Chips. | Keine zu kleinen Chips. | min/max Auswahl. |
| Boolean | Checkbox/Toggle, ggf. Zustimmung. | Label klickbar. | Muss bestaetigt werden, falls Pflicht. |
| Email | Email-Eingabe. | Email-Tastatur. | Email-Format. |
| Telefon | Telefon-Eingabe. | Telefon-Tastatur. | Telefonnummer pruefen. |
| Datei | Upload/Dropzone, mobile Kamera-Option wenn moeglich. | Foto aufnehmen/Datei waehlen klar trennen. | Typ, Groesse, Uploadfehler. |
### Feldgruppen / lange Formulare
| Fall | Empfehlung |
|---|---|
| Bis ca. 8 Felder | Einfache vertikale Form reicht. |
| Viele Felder | Abschnittsueberschriften/visuelle Gruppen erlauben, aber kein Multi-Step erzwingen. |
| Viele Pflichtfelder | Pflichtfeldhinweis oben und am Submit. |
| Viele Datei-Felder | Upload-Status je Feld sehr klar machen. |
## Detail: Conditional Logic live
| Zustand | Public-Verhalten |
|---|---|
| Bedingung noch nicht erfuellt | Ziel-Feld nicht sichtbar, ohne leere Luecke. |
| Bedingung erfuellt | Ziel-Feld erscheint ruhig, ideal ohne aggressive Dnimation. |
| Bereits eingegebener Wert wird versteckt | Wert bleibt technisch erhalten oder wird klar behandelt; UI zeigt keine verwirrende Loeschung. |
| Pflichtfeld wird versteckt | Es blockiert Submit nicht, solange es unsichtbar ist. |
| Logic-Fehler in Public | Sollte intern verhindert werden; falls doch, Formular freundlich blockieren oder Feld normal anzeigen nach Fallback-Regel. |
Empfehlung: Public Logic soll nicht erklaeren, dass es "Conditional Logic" ist. Der Nutzer erlebt nur ein Formular, das passende Folgefragen zeigt.
## Detail: Submit-Flow
| Schritt | UI |
|---|---|
| Nutzer klickt Submit | Button zeigt Loading, Doppel-Submit verhindern. |
| Feldfehler vorhanden | Springt/scrollt zum ersten Fehler und markiert Felder. |
| Captcha fehlt | Fehler nahe Captcha, Werte bleiben erhalten. |
| Datenschutz fehlt | Fehler an der Checkbox, Werte bleiben erhalten. |
| Submit laeuft | Button disabled, kurzer Status. |
| Submit erfolgreich | V01 Success oder Redirect. |
| Submit fehlgeschlagen | V03 Fehlerbanner; Werte bleiben erhalten, Retry moeglich. |
### Submit-Button-Zustaende
| Zustand | Label / Verhalten |
|---|---|
| Normal | "Absenden" oder formularspezifisch, z. B. "Anfrage senden". |
| Disabled | Wenn technisch noetig; Grund sichtbar, nicht nur grau. |
| Loading | "Wird gesendet..." |
| Retry | "Erneut senden" |
## Detail: Datei-/Foto-Upload Public
| Zustand | UI |
|---|---|
| Noch keine Datei | Upload-Flaeche mit erlaubten Typen/Groesse. |
| Datei ausgewaehlt | Dateiname, Groesse, Entfernen. |
| Upload laeuft | Progress je Datei. |
| Upload erfolgreich | Bestaetigung am Feld. |
| Uploadfehler | Klartext + Datei erneut waehlen. |
| Mobile Foto | "Foto aufnehmen" und "Datei auswaehlen" falls moeglich. |
Wichtig: Datei-Fehler duerfen nicht erst nach komplettem Submit sichtbar werden, wenn technisch fruehere Pruefung moeglich ist.
## Detail: Public States
| Zustand | Screen / Variante | Notiz |
|---|---|---|
| Loading | S04 | Skeleton oder ruhiger Ladezustand. |
| Ready | S04 | Formular sichtbar. |
| Field Error | S04 | Inline, kein eigener Screen. |
| Captcha Error | V03 | Public-Fehlerzustand, Werte behalten. |
| Submit Error | V03 | Retry, keine technischen Details. |
| Success | V01 | Dnkommen bestaetigen. |
| Redirect | V01 | Weiterleitung klar ankündigen. |
| Nicht verfuegbar | V02 | Formular nicht public/geschlossen/ungueltig. |
## Detail: Branding
| Element | Empfehlung |
|---|---|
| Tenant-Logo | Oben sichtbar, aber nicht riesig. |
| Fallback | Anbietername oder neutraler Dvatar/Initialen. |
| Farbe | Dezente Dccent-Farbe aus Tenant, keine komplette App-Theming-Komplexitaet. |
| HiveGrid-Hinweis | Optional klein im Footer; nicht Hauptmarke. |
| Datenschutz | Pflicht-Checkbox im Submit-Bereich plus Link oder kurzer Hinweis im Footer. |
## Detail: Datenschutz / Vertrauen
| Frage | UI-Antwort |
|---|---|
| Wer bekommt meine Daten? | Anbietername/Logo und kurzer Kontext. |
| Was passiert nach Absenden? | Erfolgstext/Redirect aus Form-Konfiguration. |
| Muss ich angemeldet sein? | Nein fuer Public v1; falls spaeter Login-Pflicht, eigener Zustand. |
| Was, wenn ein Fehler passiert? | Werte behalten, Retry, Anbieter kontaktieren. |
## Daten
- Tenant-Logo oder Fallback-Branding.
- Form-Titel und Beschreibung.
- Gerenderte Felder in definierter Reihenfolge.
- Conditional Logic fuer sichtbare/ausgeblendete Felder.
- Pflichtfeld- und Validation-Regeln.
- mCaptcha.
- Submit-Button.
- Erfolgstext oder Redirect-Ziel.
## Mobile-Prioritaet
Viele Public-Formular-Nutzer werden am Telefon sein. David sollte deshalb besonders pruefen:
- Feldabstaende und Fehlermeldungen bei schmaler Breite.
- Datei-/Foto-Upload ohne App-Kontext.
- Captcha sichtbar, aber nicht dominant.
- Submit-Button nach langen Formularen gut erreichbar.
- Success/Error-Zustaende ohne Scroll-Verwirrung.
## Aktionen
- Feldwerte eingeben.
- Conditional Logic live ausloesen.
- Datei/Foto hochladen, falls Feldtyp aktiv ist.
- Captcha bestaetigen.
- Formular absenden.
- Nach Erfolg ggf. Redirect folgen.
## Banner / Hinweise
- Validation-Hinweise pro Feld.
- Dllgemeiner Submit-Fehler, wenn die Einreichung nicht gespeichert werden kann.
- Captcha-Hinweis, wenn Bot-Schutz fehlschlaegt.
## Toasts / Action-Feedback
- Keine klassischen App-Toasts. Public Form nutzt Inline-Feedback und Success-State.
## Meldungsentscheidung
| Ereignis | UI-Form | Blockiert? | Umsetzung | Copy/Notiz |
|---|---|---|---|---|
| Pflichtfeld fehlt | Inline am Feld | ja | Wiederverwenden | Klar und feldnah. |
| Ungueltiges Format | Inline am Feld | ja | Wiederverwenden | Beispiel: Email-Ddresse pruefen. |
| Captcha fehlt/fehlgeschlagen | Banner/Inline beim Captcha | ja | Bauen in V03 | Erneut versuchen. |
| Submit erfolgreich | Success-State/Redirect | nein | Bauen in V01 | Anfrage ist angekommen. |
| Public Form nicht verfuegbar | Blocker Screen | ja | Bauen in V02 | Kein technischer 404 fuer Endkunden. |
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Leer | Formular hat keine sichtbaren Felder; sollte intern verhindert werden. | Nur dokumentieren |
| Laden | Public Form laedt. | Wiederverwenden |
| Fehler | Public Form kann nicht geladen oder gesendet werden. | Bauen ueber V02/V03 |
| Keine Berechtigung | Nicht relevant fuer Public; falls Login-Pflicht spaeter kommt, eigener Zustand. | Raus |
| Captcha Error | Captcha oder Bot-Schutz blockiert Submit. | Bauen in V03 |
| Erfolg | Submit wurde angenommen. | Bauen in V01 |
## Blockierende Error States
| Zustand | Was sieht der Nutzer? | Primaeraktion | Sekundare Aktion |
|---|---|---|---|
| Formular nicht veroeffentlicht | Ruhiger Public-Blocker. | Zur Website zurueck | Anbieter kontaktieren |
| Formular geschlossen | Hinweis auf geschlossenen Dnnahmezeitraum. | Anbieter kontaktieren | - |
| Submit dauerhaft fehlgeschlagen | Fehlerhinweis ohne technische Details. | Erneut versuchen | Anbieter kontaktieren |
## Permissions / Gates
- Keine eingeloggte Rolle noetig.
- Public-Zugriff haengt an `is_public`, `status=published`, optional close/limit config und Spam-Schutz.
## Subframe
https://app.subframe.com/f023064a5ca0/design/caef9ddd-03d6-4a26-8dc1-16aa198a7304/edit
## Notizen
Dieser Renderer wird spaeter wiederverwendet fuer HR-Forms, Booking-Intake, Urlaub/Krank und Requests. Deshalb keine App-Shell, keine internen Admin-Begriffe, keine Tabellenlogik.
Public muss mobil sauber funktionieren, weil viele Endkunden und Monteure Formulare am Telefon ausfuellen.
@@ -0,0 +1,42 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: V01
screen: Public Erfolg oder Redirect
typ: Public Feedback
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /f/:slug
subframe: "https://app.subframe.com/f023064a5ca0/design/c06ecfc3-1f86-4dfe-9cfd-cec8b8629253/edit"
---
# V01 - Public Erfolg oder Redirect
## Ziel
Erfolgsmeldung nach dem Absenden eines oeffentlichen Formulars.
Der Kunde soll klar verstehen, dass die Anfrage angekommen ist.
## Inhalt
- Tenant-Branding wie in [[07 S04 Oeffentliches Formular|S04 Oeffentliches Formular]]
- Erfolgstitel, z. B. `Anfrage gesendet`
- Kurzer Bestaetigungstext
- Optionaler Hinweis auf Weiterleitung
- Optionaler Button zur Website oder Startseite
## Verhalten
- Werte muessen nicht erneut gezeigt werden.
- Bei Redirect wird kurz bestaetigt und dann weitergeleitet.
- Keine internen Begriffe wie Submission, Lead, Action oder Mapping.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/c06ecfc3-1f86-4dfe-9cfd-cec8b8629253/edit
@@ -0,0 +1,41 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: V02
screen: Public Formular nicht verfuegbar
typ: Public Blocker
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /f/:slug
subframe: "https://app.subframe.com/f023064a5ca0/design/f96ec12a-5e6a-471d-9a9c-6babcb57c74c/edit"
---
# V02 - Public Formular nicht verfuegbar
## Ziel
Ruhiger Public-Blocker, wenn ein Formular nicht erreichbar ist.
Der Kunde soll keine technische 404-/500-Fehlermeldung sehen.
## Inhalt
- Tenant-Branding oder neutraler Fallback
- Titel, z. B. `Formular nicht verfuegbar`
- Kurzer Grund ohne Technikdetails
- Optionaler Kontakt-/Zurueck-Link
## Verhalten
- Wird genutzt, wenn Formular unveroeffentlicht, geschlossen, geloescht oder nicht erreichbar ist.
- Kein App-Layout und keine internen Informationen.
- Keine technischen Fehlercodes fuer Endkunden.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/f96ec12a-5e6a-471d-9a9c-6babcb57c74c/edit
@@ -0,0 +1,41 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: V03
screen: Public Captcha oder Submit Fehler
typ: Public Error
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /f/:slug
subframe: "https://app.subframe.com/f023064a5ca0/design/95c96bc9-35d4-47ce-b510-7d8ea1f41936/edit"
---
# V03 - Public Captcha oder Submit Fehler
## Ziel
Fehlerzustand im oeffentlichen Formular, wenn Captcha, Upload oder Submit scheitert.
Der Kunde soll korrigieren oder erneut senden koennen, ohne Daten neu einzutippen.
## Inhalt
- Gleicher Formularaufbau wie [[07 S04 Oeffentliches Formular|S04 Oeffentliches Formular]]
- Fehlerbanner nahe Submit-Bereich
- Inline-Fehler bei Captcha, Upload oder Pflichtfeld
- Submit-Button bleibt erneut nutzbar
## Verhalten
- Bereits eingetragene Werte bleiben sichtbar.
- Fehler werden in Kundensprache erklaert.
- Keine technischen Details, keine internen Begriffe.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/95c96bc9-35d4-47ce-b510-7d8ea1f41936/edit
@@ -0,0 +1,75 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S05
screen: Antworten Tabelle
typ: Builder Tab
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /forms/:id/edit
subframe: "https://app.subframe.com/f023064a5ca0/design/9e8eeab7-44ea-4b77-85e6-0818d97e1ac3/edit"
---
# S05 - Antworten Tabelle
## Ziel
Antworten-Tab fuer ein konkretes Formular.
Der Mitarbeiter sieht Einsendungen wie in einer einfachen Excel-/Tabellenansicht.
## Inhalt
- Formularname `Website-Anfrage`
- Status `Veroeffentlicht`
- Tabs:
- Fragen
- Design
- Antworten
- Hilfetext: `Jede Zeile ist eine Einsendung. Spalten entsprechen den Formularfeldern.`
- Keine Kennzahl-Kacheln; der Screen startet nach Titel/Tabs direkt mit Toolbar und Tabelle.
- Toolbar:
- Suche
- Zeitraum: Heute, Letzte 7 Tage, Dieser Monat, Letzter Monat, Letzte 3 Monate, Letztes Jahr, Alle
- Statusfilter
- Spalten
- Excel / CSV exportieren
- Tabelle mit Spalten:
- Eingegangen
- Name
- E-Mail
- Telefon
- Bereich
- Nachricht
- Datei
- Lead-Status
## Verhalten
- Jede Zeile steht fuer eine Einsendung.
- Spalten entsprechen den Formularfeldern.
- Export erzeugt Excel/CSV.
- Keine Kennzahl-Kacheln, weil die Ansicht sonst fuer den einfachen Antworten-Tab zu schwer wirkt.
- Kein `Link teilen` in diesem Tab; die Antwortseite dient Auswertung und Export, Teilen/Link gehoert zu Veroeffentlichen.
- Zeilen koennen spaeter ein Detail oeffnen; dieser Detail-Drawer ist nicht Teil dieses Screens.
## Error-/Empty-Zustaende
- Keine Antworten: eigener State [[12 E03 S05 Keine Antworten|E03 S05 Keine Antworten]].
- Suche/Filter ohne Treffer: Empty State im Tabellenbereich.
- Export fehlgeschlagen: eigener State [[13 E04 S05 Export Fehler|E04 S05 Export Fehler]].
- Export laeuft: Button Loading/disabled.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/9e8eeab7-44ea-4b77-85e6-0818d97e1ac3/edit
Qualitaetsregel:
- Nutzt das vorhandene `Default Page Layout`.
- Keine eigene Sidebar oder Header-Navigation.
- Tabelle ist bewusst dicht, aber nicht ueberladen.
@@ -0,0 +1,43 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: E03
screen: S05 Keine Antworten
typ: Empty State
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /forms/:id/edit
subframe: "https://app.subframe.com/f023064a5ca0/design/6f56c14f-d66e-4734-8a29-a900ac74a8a7/edit"
---
# E03 - S05 Keine Antworten
## Ziel
Leerer Antworten-Tab fuer ein Formular, das noch keine Einsendungen hat.
Der Mitarbeiter soll sehen, dass der Tab richtig ist, aber noch niemand das Formular abgeschickt hat.
## Inhalt
- Formularheader wie S05
- Tab `Antworten` aktiv
- Toolbar schlicht halten, keine Kennzahl-Kacheln
- Empty State im Tabellenbereich: `Noch keine Antworten`
- Hilfreiche Aktion: `Vorschau oeffnen`
- Optionaler Hinweis: `Nach dem Absenden erscheinen Einsendungen hier als Tabelle.`
## Verhalten
- Export ist disabled oder nicht prominent, solange keine Antworten existieren.
- `Vorschau oeffnen` zeigt das Public Formular oder die Preview.
- Kein `Link teilen` in diesem Tab; Teilen gehoert zum Veroeffentlichen-/Public-Link-Kontext.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/6f56c14f-d66e-4734-8a29-a900ac74a8a7/edit
@@ -0,0 +1,43 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: E04
screen: S05 Export Fehler
typ: Error State
umsetzung: Bauen
status: Subframe Draft / Review offen
route: /forms/:id/edit
subframe: "https://app.subframe.com/f023064a5ca0/design/00553ea4-9839-4d22-b540-9b9ef0bf014f/edit"
---
# E04 - S05 Export Fehler
## Ziel
Fehlerzustand, wenn Excel/CSV-Export nicht erstellt werden konnte.
Der Nutzer soll die Antworten nicht verlieren und direkt erneut versuchen koennen.
## Inhalt
- S05-Grundlayout mit Antworten-Tabelle
- Error-Banner nahe Toolbar oder Exportbereich
- Text: `Export konnte nicht erstellt werden`
- Aktion: `Erneut versuchen`
- Sekundaere Aktion: optional `CSV statt Excel`
## Verhalten
- Tabellenwerte bleiben sichtbar.
- Filter und Zeitraum bleiben erhalten.
- Export-Button kann kurz `loading` sein und danach wieder aktiv werden.
- Keine technischen Fehlermeldungen fuer normale Nutzer.
## Subframe
Gebaut in Subframe:
https://app.subframe.com/f023064a5ca0/design/00553ea4-9839-4d22-b540-9b9ef0bf014f/edit
@@ -0,0 +1,55 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S01C
screen: Website Formular Editor
typ: Simple Builder Beispiel
umsetzung: Alternative bauen
status: Lokal dokumentiert / nicht mehr in Subframe
route: /forms/:id/edit
subframe: ""
---
# S01C - Website Formular Editor
## Ziel
Beispiel-Editor fuer die S00-Auswahl `Website-/Externes Formular`.
Der Nutzer erstellt ein einfaches oeffentliches Anfrageformular fuer Website, Link oder QR-Code.
## Inhalt
- Formularname `Website-Anfrage`
- Hinweis `Oeffentliches Formular`
- Public-Link-/Anfrage-Hinweis
- Fragenkarten:
- Name
- E-Mail
- Telefon
- Worum geht es?
- Nachricht
- Datei / Bild hochladen
- Schutz-/Datenschutzbereich:
- mCaptcha / Spam-Schutz
- Datenschutzhinweis
## Verhalten
- Kein Lead-Mapping sichtbar.
- Keine Pipeline-Verknuepfung im Vordergrund.
- Nutzer denkt: `Ich baue ein Kontakt-/Anfrageformular fuer die Website.`
- Publish/Preview bleiben oben erreichbar.
## Subframe
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.
- 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.
@@ -0,0 +1,53 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S01D
screen: Umfrage Editor
typ: Simple Builder Beispiel
umsetzung: Alternative bauen
status: Lokal dokumentiert / nicht mehr in Subframe
route: /forms/:id/edit
subframe: ""
---
# S01D - Umfrage Editor
## Ziel
Beispiel-Editor fuer die S00-Auswahl `Fragebogen / Umfrage`.
Der Nutzer erstellt eine einfache Umfrage, z. B. kurze Rueckmeldung oder Zufriedenheit.
Hinweis 2026-07-08: S01D ist aktuell nur Referenz. Im Hauptfluss oeffnet auch `Fragebogen / Umfrage` den S02-Editor mit passender Vorlage.
## Inhalt
- Formularname `Kundenzufriedenheit`
- Hinweis `Umfrage - Antworten werden gesammelt`
- Keine Lead-Verknuepfung
- Fragenkarten:
- Multiple Choice
- Freitext
- optional Datum/Zeit, falls fuer Rueckmeldung noetig
- Kleine Vorschau-/Antworten-Zusammenfassung
## Verhalten
- Keine Pipeline.
- Keine Lead-Automatik.
- Antworten werden gesammelt und spaeter im Antworten-Bereich geprueft.
- Nutzer denkt: `Ich frage Feedback ab.`
- Keine Lineare Skala, keine Bewertung/Sterne und keine Raster im aktuellen S02-Hauptdropdown.
## Subframe
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.
- Bleibt als lokale Referenzvariante erhalten und liegt nicht mehr im aktuellen D-FORM-Flow.
- Korrigierte Version; die falsch generierte Variante ohne Layout wurde geloescht.
@@ -0,0 +1,54 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: S01E
screen: Internes Formular Editor
typ: Simple Builder Beispiel
umsetzung: Alternative bauen
status: Lokal dokumentiert / nicht mehr in Subframe
route: /forms/:id/edit
subframe: ""
---
# S01E - Internes Formular Editor
## Ziel
Beispiel-Editor fuer die S00-Auswahl `Internes Formular`.
Der Nutzer erstellt ein internes Formular fuer Mitarbeitende, z. B. Materialbedarf oder interne Meldung.
## Inhalt
- Formularname `Materialbedarf melden`
- Badge `Nur intern`
- Hinweis `Kein oeffentlicher Link`
- Zuständiges Team `Lager & Einkauf`
- Fragenkarten:
- Mitarbeiter
- Bereich
- Dringlichkeit
- Material / Problem
- Beschreibung
- Foto / Datei
- Wunschdatum
## Verhalten
- Kein Public-Link-Fokus.
- Keine Lead-Pipeline.
- Kein Mapping sichtbar.
- Nutzer denkt: `Ich sammle interne Meldungen sauber ein.`
## Subframe
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.
- 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.
@@ -0,0 +1,68 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: D01
screen: Sharing Panel URL QR iFrame
typ: Panel-Zustand in S01
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: Detailnotiz, kein eigener Screen
subframe: "-"
---
# D01 - Sharing Panel URL QR iFrame
## Ziel
Interne Nutzer koennen nach dem Publish die Public URL, den QR-Code und den iFrame-Code nutzen, ohne den Builder zu verlassen.
## Pattern / Archetyp
Panel / Arbeitsmodus innerhalb von S01.
## Daten
- Formularname
- Publish-Status: Draft, Published, Unpublished Changes, Archived
- Public URL: `/f/{tenant}/{slug}`
- Slug und Tenant
- QR-Code fuer Public URL
- iFrame-Code
- Allowed Origins, falls fuer iFrame relevant
## Aktionen
- Public URL kopieren
- Public URL oeffnen
- QR-Code kopieren oder herunterladen
- iFrame-Code kopieren
- zu Settings springen, wenn Slug fehlt
- zu Publish springen, wenn Formular noch Draft ist
## Verhalten
- Klick auf `Share` in der Topbar oeffnet keinen Dialog, sondern wechselt in den Sharing-Modus von S01.
- Bei `Published` sind URL, QR und iFrame aktiv.
- Bei `Draft` bleibt der Bereich sichtbar, aber die echten Copy-Aktionen sind disabled oder zeigen einen Publish-Hinweis.
- Bei fehlendem Slug verweist das Panel auf Settings.
- Copy-Aktionen zeigen nur Toasts, keine Modals.
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Published | URL, QR und iFrame sind aktiv. | Nur dokumentieren |
| Draft | Sharing ist ausgegraut und erklaert Publish als Voraussetzung. | Nur dokumentieren |
| Slug fehlt | Panel verweist auf Settings. | Nur dokumentieren |
| Kopiert | Toast bestaetigt Copy-Aktion. | Wiederverwenden |
| Archived | Sharing ist read-only oder deaktiviert. | Nur dokumentieren |
## Subframe
Kein eigener Subframe-Screen. Der Zustand wird im S01-Builder als Sharing-Modus/Panel gezeigt. Ein eigener Frame ist nur noetig, wenn David den geoeffneten Sharing-Zustand separat sehen will.
## Notizen
Personalisierte Links und JS-Snippet bleiben v2. D-FORM v1 zeigt URL, QR und iFrame.
@@ -0,0 +1,91 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: D02
screen: Post-Submit Actions
typ: Detailnotiz im S02-Kontext
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: Detailnotiz, kein eigener Screen
subframe: "-"
---
# D02 - Post-Submit Actions
## Ziel
Interne Nutzer legen fest, was nach dem Absenden eines Public Forms passieren soll, ohne einen kompletten Automation-Editor zu oeffnen.
## Pattern / Archetyp
Action-Liste plus Detailbereich innerhalb des einfachen Builders.
## Daten
- Action-Typ
- Action-Name
- Status aktiv/inaktiv
- Reihenfolge
- Pflichtmapping
- Warnungen und Blocker
- letzter Teststatus
## Aktionen
- Action hinzufuegen
- Action-Typ waehlen
- Action bearbeiten
- Action aktiv/inaktiv setzen
- Action duplizieren
- Action loeschen
- Reihenfolge aendern
- Mapping pruefen
- Test ausfuehren
## Verhalten
- Klick auf `Nach Absenden` zeigt die Action-/Lead-Optionen im selben S02-Kontext.
- `Add Action` oeffnet eine kleine Typ-Auswahl als Popover oder Auswahlpanel.
- Nach Auswahl eines Action-Typs oeffnet sich die Detailkonfiguration im selben Bereich.
- Die Liste zeigt Warnungen direkt an der betroffenen Action.
- ActionLog, Re-Run und Submission-Historie gehoeren nicht hierher, sondern zu Submissions.
- Auswahl- und Mapping-Folgefaelle stehen in [[D10 Builder Interaktionsfaelle]].
## Add-Action-Popover
| Inhalt | Beschreibung |
|---|---|
| Typ-Liste | Email Submitter, Email Team, Lead, Kontakt, Projekt, Task, Auto-Match, Webhook, Automation-Trigger. |
| Kurzbeschreibung | Pro Typ ein Satz, was nach Submit passiert. |
| Disabled-Zustaende | Typ disabled, wenn Rechte, Integration oder Voraussetzung fehlen. |
| Suche optional | Nur wenn Liste zu lang wirkt. |
| Kein Modal | Das Popover waehlt nur den Typ; Detailarbeit passiert im selben Builder-Kontext. |
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Keine Actions | Empty State mit `Action hinzufuegen`. | Nur dokumentieren |
| Action valid | Action ist aktiv und vollstaendig konfiguriert. | Nur dokumentieren |
| Action incomplete | Pflichtmapping oder Ziel fehlt. | Nur dokumentieren |
| Test erfolgreich | Inline-Ergebnis plus Toast. | Wiederverwenden |
| Test fehlgeschlagen | Inline-Hinweis im Action-Detail. | Nur dokumentieren |
## Was-passiert-wenn-Faelle
| Fall | UI-Reaktion |
|---|---|
| Nutzer waehlt Typ, bricht Detail ab | Action wird nicht angelegt oder bleibt als unvollstaendiger Draft, je nach Save-Logik. |
| Nutzer erstellt Action, laesst sie inaktiv | Keine Publish-Blockade, aber Warnung in Action-Liste. |
| Nutzer erstellt aktive Action ohne Pflichtmapping | Publish blockiert und springt zur betroffenen Zuweisung. |
| Nutzer loescht Action | Confirm nur bei aktiver/published-relevanter Action. |
## Subframe
Kein eigener Hauptscreen. Actions bleiben Arbeitsbereich im einfachen Builder. Ein extra Frame ist nur noetig, wenn David die geoeffnete Action-Liste separat sehen will.
## Notizen
Der Bereich darf nicht wie M17 Automation wirken. D-FORM braucht nur Action-Typ, Ziel, Mapping, Status und Test.
@@ -0,0 +1,81 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: D03
screen: Conditional Logic Editor
typ: Detailnotiz im S02-Kontext
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: Detailnotiz, kein eigener Screen
subframe: "-"
---
# D03 - Conditional Logic Editor
## Ziel
Interne Nutzer koennen einfache Anzeige-/Ausblende-Regeln fuer Formularfelder erstellen und pruefen.
## Pattern / Archetyp
Einfache Bedingung direkt an der Frage; komplexere Regel-Liste bleibt nur dokumentiert.
## Daten
- Regelname optional
- Bedingungsfeld
- Operator
- Wert
- Aktion: anzeigen oder verstecken
- Zielfeld
- Status aktiv/inaktiv
- Referenzstatus: gueltig oder kaputt
## Aktionen
- Regel hinzufuegen
- Regel bearbeiten
- Regel aktiv/inaktiv setzen
- Regel loeschen
- kaputte Referenz reparieren
- Regel in Preview testen
## Verhalten
- Klick auf `Bedingung` oeffnet die einfache Logik direkt an der Frage.
- `Neue Regel` oeffnet kein Modal, sondern bleibt inline im Builder-Kontext.
- Kaputte Referenzen werden in der Regel-Liste sichtbar markiert.
- Kaputte aktive Regeln blockieren Publish.
- Required-Felder, die durch Logic versteckt werden, sind im Public Form nur required, wenn sie sichtbar sind.
- Auswahl- und Vergessensfaelle fuer Logic sind in [[D10 Builder Interaktionsfaelle]] dokumentiert.
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Keine Regeln | Empty State mit `Regel hinzufuegen`. | Nur dokumentieren |
| Regel aktiv | Regel wirkt im Public Renderer. | Nur dokumentieren |
| Regel inaktiv | Regel bleibt gespeichert, wirkt aber nicht. | Nur dokumentieren |
| Referenz kaputt | Feld fehlt oder wurde geaendert; Publish blockiert. | Nur dokumentieren |
| Preview-Test | Public-nahe Vorschau zeigt Feld sichtbar/versteckt. | In S01 dokumentieren |
## Was-passiert-wenn-Faelle
| Fall | UI-Reaktion |
|---|---|
| Wenn-Feld gewaehlt, Operator vergessen | Regel bleibt unvollstaendig; Aktivieren/Test disabled. |
| Operator gewaehlt, Wert vergessen | Wertfeld zeigt Inline-Fehler; aktive Regel blockiert Publish. |
| Operator `ist leer` gewaehlt | Wertfeld verschwindet, weil kein Wert gebraucht wird. |
| Ziel-Feld vergessen | Regel bleibt unvollstaendig; Publish blockiert nur, wenn Regel aktiv sein soll. |
| Select-Option wird geloescht | Betroffene Regel wird kaputt markiert und in Publish Summary verlinkt. |
| Bedingungsfeld und Ziel-Feld gleich | Regel kann nicht aktiv werden; Inline-Hinweis auf Selbstreferenz. |
## Subframe
Kein eigener Hauptscreen. Logic bleibt Arbeitsbereich in S01. Ein extra Frame ist nur noetig, wenn David den geoeffneten Logic-Modus separat sehen will.
## Notizen
Nicht v1: Multi-Step, If/Else-Baeume, Repeater, Scoring oder Cross-Field-Rechnung.
@@ -0,0 +1,89 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: D06
screen: Feldkarten Menue
typ: Inline-Zustand in S01
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: Detailnotiz, kein eigener Screen
subframe: "-"
---
# D06 - Feldkarten Menue
## Ziel
Interne Nutzer erreichen sekundaere Feldaktionen direkt an der Feldkarte, ohne den Inspector mit seltenen Aktionen zu ueberladen.
## Pattern / Archetyp
3-Punkte-Menue / Kontextmenue auf einer Feldkarte.
## Daten
- Feldname
- Feldtyp
- Field Key
- ob das Feld in Logic verwendet wird
- ob das Feld in Actions/Mapping verwendet wird
- ob das Formular published ist
## Aktionen
- Feld bearbeiten
- Feld duplizieren
- nach oben/unten verschieben, falls Drag nicht genutzt wird
- Feld einklappen/ausklappen
- Field Key kopieren
- Feld loeschen
## Verhalten
- Klick auf das 3-Punkte-Menue oeffnet ein kleines Menue an der Feldkarte.
- `Bearbeiten` setzt den Fokus auf den rechten Inspector.
- `Duplizieren` erstellt direkt eine Kopie unter dem Feld, schlaegt einen neuen `field_key` vor und selektiert die Kopie.
- `Loeschen` fuehrt bei Abhaengigkeiten zu [[M01 Feld loeschen Confirm]].
- Destruktive Aktionen stehen getrennt unten im Menue.
- Weitere Folgefaelle stehen in [[D10 Builder Interaktionsfaelle]].
## Menue-Inhalt
| Eintrag | Verhalten | Sichtbarkeit |
|---|---|---|
| `Bearbeiten` | selektiert Feld und fokussiert Inspector. | immer, wenn editierbar |
| `Duplizieren` | erstellt Kopie unter dem Feld, neuer `field_key`, Kopie selected. | wenn editierbar |
| `Field Key kopieren` | kopiert technischen Key, Toast. | wenn Key vorhanden |
| `Nach oben/unten` | Alternative zu Drag, falls noetig. | optional |
| `Einklappen/Ausklappen` | veraendert nur Canvas-Darstellung. | bei langen Feldern |
| `Loeschen` | fuehrt zu Confirm bei Abhaengigkeiten. | getrennt unten, Danger |
## Was-passiert-wenn-Faelle
| Fall | UI-Reaktion |
|---|---|
| Feld wird in Logic genutzt | Menue kann kleinen Hinweis am Loeschen-Eintrag zeigen; Klick oeffnet [[M01 Feld loeschen Confirm]]. |
| Feld wird in Action-Mapping genutzt | Confirm nennt betroffene Action(s). |
| Formular ist archived | Bearbeiten/Loeschen disabled, Duplizieren kann als Ausweg aktiv bleiben. |
| Nutzer dupliziert Feld mit Select-Optionen | Optionen werden kopiert, aber Logic/Mapping nicht automatisch. |
| Nutzer dupliziert Datei/Fotofeld | Upload-Regeln werden kopiert, neuer `field_key`; keine hochgeladenen Dateien. |
| Nutzer loescht Feld ohne Abhaengigkeit | Kurze Rueckfrage oder Undo-Toast reicht; kein grosses Modal noetig. |
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Standard | normale Feldaktionen sichtbar. | Nur dokumentieren |
| Feld wird referenziert | Menue zeigt Hinweis vor Loeschen. | Nur dokumentieren |
| Keine Berechtigung | einzelne Aktionen disabled oder Menue fehlt. | Nur dokumentieren |
| Archived | Bearbeiten/Loeschen disabled, Duplizieren moeglich. | Nur dokumentieren |
## Subframe
Kein eigener Subframe-Screen. Das Menue wird in S01 dokumentiert. Ein eigener Frame ist nur noetig, wenn David den geoeffneten Feldkarten-Zustand sehen will.
## Notizen
Das Menue ist fuer sekundaere Aktionen. Primaere Feldbearbeitung bleibt im Inspector.
@@ -0,0 +1,134 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: D10
screen: Builder Interaktionsfaelle
typ: Case-Matrix im S02-Kontext
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: Detailnotiz, kein eigener Screen
subframe: "-"
---
# D10 - Builder Interaktionsfaelle
## Ziel
Diese Datei beantwortet die naechste Review-Ebene: Was passiert, wenn Nutzer im Builder etwas auswaehlen, ankreuzen, vergessen, wechseln oder eine Folgeaktion ausloesen?
Nicht jedes Detail muss ein eigener Frame werden. Dber vor Subframe muss klar sein, ob daraus Inline-Feedback, Dropdown, Popover, Panel, Modal, Toast oder Publish-Blocker entsteht.
## Grundregel
| Fall | UI-Reaktion |
|---|---|
| Nutzer waehlt etwas aus und der naechste Schritt haengt davon ab | Nachfolgende Felder im selben Panel werden sichtbar oder aktiv. |
| Nutzer vergisst einen Pflichtteil in der Mitte | Der Block bleibt unvollstaendig, zeigt Inline-Warnung und blockiert Publish/Test nur dort, wo es fachlich noetig ist. |
| Nutzer waehlt etwas, das alte Eingaben ungueltig macht | Dlte Eingaben werden nicht still geloescht; System zeigt Hinweis und laesst bestaetigen oder markiert ungueltig. |
| Nutzer loescht etwas, das anderswo verwendet wird | Confirm oder Inline-Blocker mit konkreter Referenzliste. |
| Nutzer fuegt etwas Medien-/Dateibezogenes hinzu | Kein globales Modal; normales Datei-Feld oeffnet Inspector. Nur Datei-Auswahl selbst ist System-/Upload-Dialog. |
| Nutzer bestaetigt eine public-wirksame Aktion | Confirm-Dialog. |
## Feld hinzufuegen / Feldtyp auswaehlen
| Nutzeraktion | Was passiert? | UI-Ebene | Blockiert? | Notiz fuer Subframe |
|---|---|---|---|---|
| Klick auf Feldtyp `Text` | Feld wird am Ende eingefuegt, Karte selected, Inspector oeffnet Basis-Sektion. | Canvas + Inspector | nein | Happy Path zeigen. |
| Drag eines Feldtyps | Dropzonen erscheinen, nach Drop ist Feld selected. | Canvas-Zustand | nein | Dropziel sichtbar machen. |
| Nutzer fuegt `Select` hinzu und vergisst Optionen | Feldkarte zeigt Warnung, Inspector `Optionen` zeigt Pflicht-Hinweis, Publish blockiert. | Inline + Inspector + Publish Summary | ja fuer Publish | Wichtig, weil Public Form sonst nicht beantwortbar ist. |
| Nutzer fuegt `Datei` hinzu | Feldkarte erscheint als Upload-Feld, Inspector zeigt Dateitypen, Groesse, Mehrfachupload, Foto-Hinweis. | Inspector | nein | Kein eigenes Modal fuer Feld-Konfiguration. |
| Nutzer aktiviert `Foto erlaubt` beim Datei-Feld | Mobile-Kamera-Hinweis wird im Inspector sichtbar; Public Renderer darf Kamera/Upload anbieten. | Inline im Inspector | nein | Foto bleibt Variante von Datei, kein eigener Feldtyp. |
| Nutzer setzt `Mehrere Dateien` und vergisst max. Groesse | Warnung, aber Publish blockiert nicht zwingend; Security/Dev kann Default setzen. | Inline-Warnung | nein/Warning | Empfehlung: warnen, nicht blockieren. |
| Nutzer aendert Feldtyp nach Konfiguration | System zeigt Warnung, wenn Optionen/Validation verloren gehen koennen. | Popover/Confirm klein | ja bis Bestaetigung | Nur relevant, falls Feldtypwechsel erlaubt ist. |
| Nutzer dupliziert Feld mit Logic/Mapping | Kopie bekommt neuen `field_key`; Logic/Mapping wird nicht automatisch kopiert. | Toast + Inspector | nein | Sonst entstehen unsichtbare Doppelreferenzen. |
## Feld-Inspector / Checkboxen / Optionen
| Nutzeraktion | Was passiert? | UI-Ebene | Blockiert? | Notiz |
|---|---|---|---|---|
| Label leer lassen | Feldkarte und Inspector zeigen Inline-Fehler. | Inline | ja fuer Publish | Feld darf als Draft gespeichert werden. |
| `Pflichtfeld` ankreuzen, aber Feld ist durch Logic versteckt | Hinweis: Pflicht gilt nur, wenn Feld sichtbar ist. | Inline-Hinweis im Inspector | nein | Public Submit darf nicht blockieren, wenn Feld versteckt ist. |
| `Pflichtfeld` ankreuzen bei Datei | Inspector empfiehlt Dateitypen/Groesse; ohne Beschraenkung nur Warnung. | Inline-Warnung | nein/Warning | Public Risiko, aber v1 nicht hart blockieren. |
| Select-Option leer lassen | Option-Zeile zeigt Fehler; Publish blockiert. | Inline | ja fuer Publish | Fehler nahe Option, nicht nur global. |
| Select-Option loeschen, die in Logic genutzt wird | Confirm/Inline-Hinweis zeigt betroffene Regeln; nach Loeschen werden Regeln kaputt markiert. | Confirm oder Inline-Blocker | ja fuer Publish | Sehr wichtiger Folgefall. |
| Field Key manuell aendern | System prueft Duplikat/ungueltig; zeigt Mapping/Logic-Hinweis. | Inline im Inspector | ja bei ungueltig | Nicht still aendern, wenn Referenzen betroffen sind. |
| User vergisst den mittleren Schritt `Optionen` und geht zu Publish | Publish Summary springt direkt zur Optionen-Sektion. | Publish Summary | ja | Genau der "Mitte vergessen"-Fall. |
## Logic-Regel: Auswahlfolge und vergessene Mitte
| Nutzeraktion | Was passiert? | UI-Ebene | Blockiert? | Notiz |
|---|---|---|---|---|
| Neue Regel klicken | Leeres Detailpanel oeffnet mit Reihenfolge: Wenn-Feld -> Operator -> Wert -> Dann-Aktion -> Zielfeld. | Panel | nein | Kein Modal. |
| Wenn-Feld auswaehlen | Operator-Dropdown wird passend zum Feldtyp gefiltert. | Dropdown im Panel | nein | Text hat andere Operatoren als Boolean/Select. |
| Wenn-Feld waehlen, Operator vergessen | Regel bleibt `Unvollstaendig`; Aktivieren/Test disabled. | Inline im Panel | ja fuer aktive Regel | Speichern als inaktiver Draft moeglich. |
| Operator waehlen, Wert vergessen | Wertfeld wird markiert; Test disabled; Publish blockiert nur, wenn Regel aktiv ist. | Inline im Panel | ja fuer aktive Regel | "Mitte vergessen" wird lokal sichtbar. |
| Ziel-Feld vergessen | Regel bleibt unvollstaendig; Summary zeigt fehlendes Zielfeld. | Inline | ja fuer aktive Regel | Sprungziel auf Zielfeld-Auswahl. |
| Bedingungsfeld und Zielfeld sind identisch | Inline-Warnung; Regel kann nicht aktiv werden. | Inline | ja fuer aktive Regel | Verhindert Selbstreferenz. |
| Nutzer waehlt `ist leer` | Wertfeld verschwindet, weil kein Wert noetig ist. | Dynamisches Panel | nein | Wichtig: Feld nicht disabled ohne Erklaerung. |
| Nutzer wechselt Wenn-Feld nach gesetztem Wert | Dlter Wert wird markiert als ungueltig oder geloescht nach Hinweis. | Inline-Hinweis / kleines Confirm | ja bis korrigiert | Keine stille Datenvernichtung. |
| Nutzer loescht Feld, das in Regel steckt | Regel bleibt sichtbar, rot markiert, Publish blockiert. | Logic-Liste + Publish Summary | ja | Referenzbruch nicht verstecken. |
## Action-Detail / Mapping
| Nutzeraktion | Was passiert? | UI-Ebene | Blockiert? | Notiz |
|---|---|---|---|---|
| `Add Action` klicken | Typ-Auswahl oeffnet als Popover/Auswahlpanel mit kurzen Beschreibungen. | Popover | nein | Kein Modal. |
| Action-Typ waehlen | Detailpanel oeffnet mit typ-spezifischen Pflichtfeldern. | Panel/Drawer | nein | Action ist erstmal unvollstaendig. |
| Typ `Email Submitter` waehlen, aber kein Email-Feld vorhanden | Panel zeigt Hinweis und bietet `Email-Feld hinzufuegen` oder anderes Feld waehlen. | Inline-Hinweis + CTD | ja fuer aktive Action | Kein stilles Mapping. |
| Typ `Projekt erstellen` waehlen, aber Pipeline fehlt | Pipeline-Feld markiert; Test/Publish blockiert fuer aktive Action. | Inline | ja | Action darf als inaktiv geparkt werden. |
| Mapping-Zeile Ziel gesetzt, Quelle vergessen | Zeile bleibt unvollstaendig; Test disabled; Publish blockiert aktive Action. | Inline in Mapping-Zeile | ja fuer aktive Action | "Mitte vergessen" bei Mapping. |
| Nutzer aendert Action-Typ nach Mapping | Hinweis: bestehendes Mapping passt evtl. nicht mehr; Nutzer bestaetigt oder bricht ab. | Confirm/Popover | ja bis Bestaetigung | Sonst Datenverlust. |
| Nutzer deaktiviert unvollstaendige Action | Warnung verschwindet aus Publish-Blockern, bleibt aber in Action-Liste als inaktiv/unvollstaendig. | Inline | nein | Inaktive Actions duerfen Draft bleiben. |
| Webhook URL eingetragen, aber ungueltig | URL-Feld zeigt Fehler, Test disabled. | Inline | ja fuer aktive Action/Test | Copy: `URL muss mit http:// oder https:// beginnen.` |
| Test ausfuehren ohne Pflichtmapping | Test startet nicht; Panel markiert fehlende Zeilen. | Inline | ja fuer Test | Kein Toast, weil nichts ausgefuehrt wurde. |
## Publish / Save / Wechselwirkungen
| Nutzeraktion | Was passiert? | UI-Ebene | Blockiert? | Notiz |
|---|---|---|---|---|
| Publish klicken mit fehlendem Feldlabel | Publish Summary zeigt Blocker und springt zur Feldkarte/Inspector. | Inline Summary | ja | Kein Modal. |
| Publish klicken mit unvollstaendiger aktiver Logic | Summary zeigt Logic-Blocker, Klick oeffnet Logic-Modus und Detailpanel. | Summary + Panel | ja | Direkt reparierbar. |
| Publish klicken mit inaktiver unvollstaendiger Action | Warnung optional, aber kein Blocker. | Warning | nein | Inaktiv wirkt nicht public. |
| Publish klicken mit unsaved changes | Erst Save/Validation-Hinweis; danach Publish-Check. | Inline/Popover | ja bis Save | Kein eigener Screen. |
| Published Form stark aendern | Hinweis, dass Public-Version betroffen ist; Save/Publish-Update klar trennen. | Banner/Inline | nein/Warning | David/Dev muss final entscheiden, ob Update extra Publish braucht. |
| Nutzer verlaesst S01 mit Dirty State | [[M04 Unsaved Changes Confirm]] greift. | Confirm/Browser Guard | ja bis Entscheidung | Standard-Guard. |
| Unpublish klicken | [[M02 Unpublish Confirm]] oeffnet. | Confirm Modal | ja bis Bestaetigung | Public-Link betroffen. |
## Public-Preview / Live-Folgen
| Nutzeraktion | Was passiert? | UI-Ebene | Blockiert? | Notiz |
|---|---|---|---|---|
| Preview oeffnen mit unvollstaendigem Feld | Preview zeigt Draft-nahe Darstellung, aber Warnung bleibt im Builder. | Preview + Inline-Warnung | nein | Preview darf beim Bauen helfen. |
| Logic in Preview testen | Felder erscheinen/verschwinden live. | Preview-Modus | nein | Nutzer sieht Folge direkt. |
| Datei/Fotofeld in Preview | Upload-Bereich zeigt erlaubte Typen, max. Groesse, mobile Foto-Hinweis. | Preview | nein | Kein echter Upload noetig im Builder. |
| Captcha/Public Schutz in Preview | Kann als Platzhalter sichtbar sein. | Preview | nein | Kein echtes Captcha im Builder notwendig. |
## Modal-/Popover-Inhalte
| UI-Ebene | Wann | Inhalt |
|---|---|---|
| Action-Typ-Popover | `Add Action` | Liste der Action-Typen, je ein Kurzsatz, disabled Hinweis fuer nicht verfuegbare Typen. |
| Feldtyp-Wechsel-Confirm | Feldtyp nach Konfiguration aendern | Was verloren geht: Optionen, Validation, Default, Mapping-Hinweis; Buttons `Typ aendern` / `Abbrechen`. |
| Option-loeschen-Confirm | Option wird in Logic genutzt | betroffene Regel(n), Hinweis auf Publish-Blocker, Buttons `Option loeschen` / `Abbrechen`. |
| Feld-loeschen-Confirm | Feld wird in Logic/Actions genutzt | Feldname, Field Key, betroffene Regeln/Actions, Buttons `Feld loeschen` / `Abbrechen`. |
| Publish-Warnpopover | nur Warnungen, keine Blocker | Warnliste und Button `Trotzdem veroeffentlichen` falls Produkt das erlaubt. |
| Unpublish-Confirm | Public-Link offline nehmen | Public URL, Folge fuer QR/iFrame, Buttons `Unpublish` / `Abbrechen`. |
## Offene Produktentscheidungen
| Frage | Empfehlung |
|---|---|
| Darf der Feldtyp nachtraeglich gewechselt werden? | Ja, aber mit Confirm, wenn dadurch Optionen/Validation/Mapping betroffen sind. |
| Werden unvollstaendige inaktive Logic/Actions gespeichert? | Ja, als Draft/inaktiv, aber klar markiert. |
| Blockiert fehlende Datei-Typbeschraenkung Publish? | Empfehlung: Warnung, kein harter Blocker. |
| Braucht `Bild hinzufuegen` einen eigenen Content Block? | Nicht in D-FORM v1. Bilder/Fotos laufen als Datei-Feld-Variante; Branding-Logo gehoert in Settings/Public Form. |
| Sollen published Aenderungen direkt live gehen oder Publish-Update brauchen? | Offene Produktentscheidung; S01 muss Zustand `Published mit ungespeicherten/unveroeffentlichten Aenderungen` zeigen koennen. |
## Subframe
Kein eigener Subframe-Screen. D10 ist eine Vor-Subframe-Case-Matrix. Wenn David einzelne Faelle visuell sehen will, sollten zuerst diese Kandidaten gebaut werden:
- [[M01 Feld loeschen Confirm]]
- [[M02 Unpublish Confirm]]
@@ -0,0 +1,92 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: M01
screen: Feld loeschen Confirm
typ: Confirm Modal
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: von S01 Feldkarte oder Inspector
subframe: "-"
---
# M01 - Feld loeschen Confirm
## Ziel
Interne Nutzer bestaetigen bewusst, dass ein Feld entfernt wird, besonders wenn es in Logic oder Actions verwendet wird.
## Pattern / Archetyp
D5 Confirm-Modal / kleiner Sicherheitsdialog.
## Daten
- Feldname
- Feldtyp
- Field Key
- Anzahl betroffener Logic-Regeln
- Anzahl betroffener Actions oder Mapping-Zeilen
- Publish-Status des Formulars
## Aktionen
- `Feld loeschen`
- `Abbrechen`
- optional `Betroffene Regeln ansehen`
- optional `Betroffene Actions ansehen`
## Verhalten
- Bei Feldern ohne Abhaengigkeiten kann Loeschen sehr kurz bestaetigt werden oder als Menue-Aktion mit Undo/Toast laufen.
- Bei Abhaengigkeiten ist ein Confirm Pflicht.
- Der Confirm nennt konkret, welche Regeln oder Actions betroffen sind.
- Nach Loeschen wird das Feld entfernt; betroffene Logic/Actions werden markiert oder muessen repariert werden.
- Publish bleibt blockiert, solange kaputte Referenzen existieren.
- Details zu Folgefaellen stehen in [[D10 Builder Interaktionsfaelle]].
## Layout / Inhalt
1. Headline `Feld loeschen?`
2. Feldname und Feldtyp.
3. Hinweis, dass das Feld aus dem Formular entfernt wird.
4. Falls relevant: Liste der betroffenen Logic-Regeln und Actions.
5. Aktionen: Danger-Button `Feld loeschen`, sekundar `Abbrechen`.
## Modal-Inhalt je Fall
| Fall | Was steht im Modal? |
|---|---|
| Keine Abhaengigkeit | `Dieses Feld wird aus dem Formular entfernt.` |
| Feld in Logic verwendet | `Dieses Feld wird in 2 Logic-Regeln verwendet. Diese Regeln muessen danach repariert oder deaktiviert werden.` |
| Feld in Actions verwendet | `Dieses Feld ist in 1 Action-Mapping hinterlegt. Die Action wird danach unvollstaendig.` |
| Published Form | `Das Formular ist veroeffentlicht. Aenderungen koennen die oeffentliche Version betreffen.` |
| Datei/Fotofeld | `Das Upload-Feld wird entfernt. Bereits eingereichte Dateien in Submissions sind davon nicht Teil dieses Builders.` |
## Nach Bestaetigung
| Folge | Verhalten |
|---|---|
| Feld geloescht | Feldkarte verschwindet, Canvas selektiert naechstes sinnvolles Feld. |
| Logic betroffen | Regel wird rot/kaputt markiert und in Publish Summary gelistet. |
| Action betroffen | Mapping-Zeile wird als fehlend markiert; aktive Action blockiert Publish. |
| Keine Abhaengigkeit | Toast `Feld geloescht`; Undo optional. |
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Ohne Abhaengigkeit | einfacher Confirm oder kurze Rueckfrage. | Nur dokumentieren |
| Mit Logic/Action-Bezug | Confirm mit Referenzliste. | Nur dokumentieren |
| Published Form | Hinweis, dass Public-Version betroffen sein kann. | Nur dokumentieren |
| Fehler | Loeschen fehlgeschlagen. | Nur dokumentieren |
## Subframe
Noch kein eigener Subframe-Frame. Wenn David einen Modal-Frame fuer D-FORM sehen will, ist dieses Confirm der erste Kandidat.
## Notizen
Keine normale Feldbearbeitung im Modal. Das Modal ist nur fuer den Risiko-Moment Loeschen.
@@ -0,0 +1,68 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: M02
screen: Unpublish Confirm
typ: Confirm Modal
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: von S01 Header oder More-Menue
subframe: "-"
---
# M02 - Unpublish Confirm
## Ziel
Interne Nutzer bestaetigen bewusst, dass ein Public Form nicht mehr erreichbar ist.
## Pattern / Archetyp
D5 Confirm-Modal.
## Daten
- Formularname
- aktuelle Public URL
- Publish-Status
- Hinweis, ob iFrame/QR ebenfalls betroffen sind
## Aktionen
- `Unpublish`
- `Abbrechen`
- optional Public URL kopieren, bevor deaktiviert wird
## Verhalten
- Klick auf `Unpublish` oeffnet einen Confirm-Dialog.
- Der Dialog erklaert, dass Public URL, QR und iFrame danach nicht mehr fuer Submitter nutzbar sind.
- Nach Bestaetigung wechselt der Status zu Draft/Unpublished.
- Sharing zeigt danach Draft-Hinweis.
- Erfolg wird per Toast bestaetigt.
## Layout / Inhalt
1. Headline `Formular offline nehmen?`
2. Hinweis: Der oeffentliche Link ist danach nicht mehr erreichbar.
3. Public URL als Kontext.
4. Aktionen: Danger- oder Secondary-Button `Unpublish`, sekundar `Abbrechen`.
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Confirm | Nutzer bestaetigt Public-Auswirkung. | Nur dokumentieren |
| Laden | Statuswechsel wird gespeichert. | Wiederverwenden |
| Erfolg | Builder zeigt Draft/Unpublished. | Toast/Statuswechsel |
| Fehler | Unpublish fehlgeschlagen. | Nur dokumentieren |
## Subframe
Noch kein eigener Subframe-Frame. Falls David einen public-wirksamen Confirm sehen will, ist M02 ein sinnvoller Kandidat.
## Notizen
Publish selbst bleibt Inline-Check. Unpublish braucht Confirm, weil externe Nutzer betroffen sind.
@@ -0,0 +1,67 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: M03
screen: Archive Confirm
typ: Confirm Modal
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: von S01 More-Menue
subframe: "-"
---
# M03 - Archive Confirm
## Ziel
Interne Nutzer bestaetigen bewusst, dass ein Formular archiviert und nicht mehr normal bearbeitet wird.
## Pattern / Archetyp
D5 Confirm-Modal.
## Daten
- Formularname
- Publish-Status
- Anzahl Felder
- Hinweis auf Public-Verfuegbarkeit
- Hinweis auf spaetere Duplikat-Option
## Aktionen
- `Drchivieren`
- `Abbrechen`
## Verhalten
- Drchivieren liegt im More-Menue, nicht als Hauptaktion.
- Der Confirm erklaert, ob die Public-Version deaktiviert wird oder ob vorher Unpublish noetig ist.
- Nach Drchivierung wird S01 read-only oder verlaesst den Bearbeitungsmodus.
- Primaere naechste Aktion ist meist `Duplizieren` oder zur Forms-Liste zurueck, aber Forms-Liste ist nicht Teil von D-FORM.
## Layout / Inhalt
1. Headline `Formular archivieren?`
2. Kurztext, dass das Formular nicht mehr aktiv bearbeitet werden soll.
3. Hinweis auf Public-Link-Folge.
4. Aktionen: Danger-Button `Drchivieren`, sekundar `Abbrechen`.
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Confirm | Sicherheitsfrage vor Drchivierung. | Nur dokumentieren |
| Published | Hinweis auf Public-Folge. | Nur dokumentieren |
| Laden | Drchivierung wird gespeichert. | Wiederverwenden |
| Fehler | Drchivieren fehlgeschlagen. | Nur dokumentieren |
## Subframe
Kein eigener Hauptscreen. Nur als Confirm-Zustand dokumentieren, ausser David will Risiko-Modals gesammelt bauen.
## Notizen
Archive ist nicht dasselbe wie Unpublish. Falls das Produkt beides koppelt, muss Development/Produkt das final festlegen.
@@ -0,0 +1,60 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
id: M04
screen: Unsaved Changes Confirm
typ: Confirm Modal / Browser Guard
umsetzung: Nur dokumentieren
status: Vor Subframe / dokumentiert
route: beim Verlassen von S01 mit Dirty State
subframe: "-"
---
# M04 - Unsaved Changes Confirm
## Ziel
Interne Nutzer verlieren keine ungespeicherten Builder-Aenderungen, wenn sie S01 verlassen.
## Pattern / Archetyp
Confirm-Dialog oder Browser Navigation Guard.
## Daten
- Dirty State
- letzter Speicherzeitpunkt
- ob Save aktuell moeglich ist
- ob Publish-Check noch Blocker hat
## Aktionen
- `Speichern und verlassen`
- `Ohne Speichern verlassen`
- `Abbrechen`
## Verhalten
- Der Zustand tritt nur auf, wenn ungespeicherte Aenderungen existieren.
- Bei normalem Wechsel zwischen S01-Modi erscheint kein Dialog.
- Beim Wegnavigieren ueber Breadcrumb, Routewechsel oder Browser-Zurueck wird gewarnt.
- Wenn Autosave voll zuverlaessig ist, kann der Zustand zu einem kurzen Save-Hinweis reduziert werden.
## Zustaende
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Dirty | Aenderungen noch nicht gespeichert. | Nur dokumentieren |
| Save moeglich | Nutzer kann speichern und verlassen. | Nur dokumentieren |
| Save fehlgeschlagen | Nutzer soll im Builder bleiben koennen. | Nur dokumentieren |
| Keine Aenderungen | kein Confirm noetig. | Wiederverwenden |
## Subframe
Kein eigener Subframe-Screen. Standard-Guard, nur dokumentieren.
## Notizen
Dieser Zustand ist wichtig fuer Builder-Vertrauen, aber kein D-FORM-Hauptframe.
@@ -0,0 +1,154 @@
---
kind: design-direction
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
status: Review-ready / Subframe Draft gebaut
stand: 2026-07-09
---
# Simple Builder Neuausrichtung
## Warum
Der bisherige S01 ist fachlich vollstaendig, wirkt fuer normale Handwerksbetriebe aber zu schwer. Nutzer sollen nicht das Gefuehl haben, einen Automations- oder CRM-Editor bedienen zu muessen, wenn sie nur ein Anfrageformular erstellen wollen.
Neue Richtung: einfacher Formular-Editor nach Google-Forms-Gefuehl, aber mit HiveGrid-Logik im Hintergrund.
## Grundsatz
| Alt | Neu |
|---|---|
| Palette + Canvas + Inspector dauerhaft sichtbar | Ein ruhiger Fragen-Editor mit einzelnen Fragekarten |
| Viele Arbeitsmodi gleichzeitig | Nur das zeigen, was fuer den naechsten Schritt gebraucht wird |
| Logic, Actions, Mapping sichtbar als Profi-Module | Logic/Lead-Verknuepfung als einfache Zusatzoptionen |
| 12 technische Feldtypen | Verstaendliche Fragetypen |
| Nutzer baut Verknuepfungen selbst | Lead-Formular ist automatisch aktiv, zeigt aber `Felder zuweisen` verstaendlich im Editor |
## Neue Screen-Idee
| ID | Screen | Ziel |
|---|---|---|
| S00 | [[Screens/01 S00 Formulare verwalten|S00 Formulare verwalten]] | Formular-Zentrale als erste Seite: finden, mehrfach filtern, bearbeiten, neu erstellen. |
| E01 | [[Screens/02 E01 S00 Keine Formulare|E01 S00 Keine Formulare]] | Empty State, wenn noch kein Formular existiert. |
| E02 | [[Screens/03 E02 S00 Keine Treffer|E02 S00 Keine Treffer]] | Empty State, wenn Suche/Filter nichts finden. |
| S01 | [[Screens/04 S01 Formularart auswaehlen|S01 Formularart auswaehlen]] | Nutzer waehlt zuerst, welche Art Formular er bauen will. |
| S02 | [[Screens/05 S02 Einfacher Fragen Editor|S02 Einfacher Fragen Editor]] | Haupt-Editor fuer alle Formulararten, jeweils mit Vorlage/Startfragen. |
| S02L | [[Screens/05b S02L Lead Felder zuweisen|S02L Lead Felder zuweisen]] | Lead-spezifischer Zustand im S02-Look: Formularfragen Lead-Feldern zuweisen. |
| E05 | [[Screens/05c E05 S02 Lead Zuweisung pruefen|E05 S02 Lead Zuweisung pruefen]] | Fehlerzustand, wenn eine Lead-Zuweisung fehlt oder nicht moeglich ist. |
| S03 | [[Screens/06 S03 Formular Design|S03 Formular Design]] | Design-Tab mit Logo, Farben und Live-Vorschau. |
| S04 | [[Screens/07 S04 Oeffentliches Formular|S04 Oeffentliches Formular]] | Public Zielbild fuer Kunden. |
| V01 | [[Screens/08 V01 Public Erfolg oder Redirect|V01 Public Erfolg oder Redirect]] | Erfolg nach Absenden. |
| V02 | [[Screens/09 V02 Public Formular nicht verfuegbar|V02 Public Formular nicht verfuegbar]] | Public-Blocker, wenn Formular nicht erreichbar ist. |
| V03 | [[Screens/10 V03 Public Captcha oder Submit Fehler|V03 Public Captcha oder Submit Fehler]] | Public Fehlerzustand mit erhaltenen Werten. |
| S05 | [[Screens/11 S05 Antworten Tabelle|S05 Antworten Tabelle]] | Antworten-Tab als Excel-/Tabellenansicht ohne Kennzahl-Kacheln. |
| E03 | [[Screens/12 E03 S05 Keine Antworten|E03 S05 Keine Antworten]] | Empty State, wenn ein Formular noch keine Einsendungen hat. |
| E04 | [[Screens/13 E04 S05 Export Fehler|E04 S05 Export Fehler]] | Error State, wenn Excel/CSV-Export scheitert. |
S01C/S01D/S01E sind gebaut, aber nicht Hauptfluss. Sie bleiben als spaetere Varianten bzw. Referenz bei 81-83. S01B wurde aus dem Obsidian-Handoff entfernt.
## Einfacher Ablauf
```text
S00 Formulare verwalten
-> Neues Formular
-> S01 Formularart auswaehlen
-> S02 mit passender Vorlage/Startfragen
-> Design: S03
-> Public Zielbild: S04 und Public States
-> Antworten/Export: S05
```
S00 bleibt bewusst knapp: vier Karten, kurze Texte, unten `Weiter`. Keine zweite Vorlagen-Auswahl im selben Screen.
## Formulararten
| Art | Fuer wen | Was passiert automatisch? |
|---|---|---|
| Website-/Externes Formular | Kunden oder Interessenten fuellen es per Link/Website aus. | Public Link, mCaptcha, Datenschutz-Hinweis. |
| Lead-Formular | Neue Kundenanfragen sollen direkt im Vertrieb landen. | Kontakt-/Anfragefelder werden vorgeschlagen, Lead-Erstellung ist aktiv, `Felder zuweisen` ist sichtbar. |
| Fragebogen / Umfrage | Feedback, Zufriedenheit, kurze Abfragen. | Antworten werden gesammelt und als Auswertung vorbereitet, keine Lead-Pipeline. |
| Internes Formular | Mitarbeiter melden etwas intern, z. B. Material, Rueckruf, Schaden. | Kein Public-Marketing-Kontext, interne Sicht und interne Ablage. |
## Fragetypen statt Feldtypen
| Fragetyp | UI-Begriff |
|---|---|
| Einzeiliger Text | Kurzantwort |
| Mehrzeiliger Text | Absatz |
| Single Select | Multiple Choice |
| Multi Select | Mehrfachauswahl |
| Select | Drop-down |
| Datei / Bild | Datei oder Bild hochladen |
| Datum | Datum |
| Zeit | Uhrzeit |
Email, Telefon und Name koennen beim Lead-Formular als vorgeschlagene Startfragen erscheinen, statt als technische Sondertypen laut zu werden.
Bewusst nicht im aktuellen S02-Hauptdropdown: Lineare Skala, Bewertung, Multiple-Choice-Raster und Kaestchenraster. Diese Typen koennen spaeter wieder diskutiert werden, werden jetzt aber nicht gebaut.
## Was bleibt aus unserer bisherigen Logik
- Public Formular S04 bleibt Zielbild fuer Kunden.
- mCaptcha bleibt fuer externe Formulare.
- Publish-Blocker bleiben, aber einfacher formuliert.
- Logic bleibt moeglich, aber als `Bedingung` an einer Frage.
- Actions bleiben im Screen. Bei Lead-Formularen wird `Lead anlegen` als einfache Card mit `Felder zuweisen` gezeigt.
- Link/QR/Einbetten bleiben moeglich, aber im Veroeffentlichen-/Public-Link-Kontext statt als eigener Reiter.
## Empfehlung
S02 wurde in Subframe gebaut, weil es am naechsten an Google Forms liegt und schnell vergleichbar ist.
S01C/S01D/S01E wurden als Beispiel-Editoren gebaut, sind aktuell aber nur Referenz. Im Hauptfluss oeffnen alle Formulararten S02 mit anderer Vorlage/Startfragen.
Die alten Advanced-Screens wurden aus dem Obsidian-Handoff entfernt, damit S02 als klare Empfehlung stehen bleibt.
## Ergaenzung: Lead Felder zuweisen
Nach David-Feedback reicht der reine Hinweis `Lead-Verknuepfung aktiv` nicht. Nutzer muessen sehen koennen, welche Frage in welches Lead-Feld geschrieben wird.
Entscheidung:
- Keine Advanced-Mapping-Tabelle.
- Gleicher Look wie S02.
- Die blaue Lead-Hinweis-Card nutzt dieselbe Struktur wie die gruene `Lead anlegen`-Card: Icon links, Titel/Badge/Beschreibung in der Mitte, Aktion rechts.
- Dropdown-Vorlage fuer jede Zuweisung.
- Pflicht: Name, Kontaktweg und Beschreibung.
- Optional: Bereich, Datei/Bild, Quelle.
- Nicht passende Optionen werden verhindert oder disabled mit Begruendung gezeigt.
- Wenn eine Zuweisung unmoeglich ist, greift E05.
## Ergaenzung: Verwaltung und Tabs
Nach der Formularart-Auswahl braucht der Nutzer auch einen ruhigen Ort, an dem alle Formulare verwaltet werden. Dafuer wurde S00 als Formular-Zentrale ergaenzt.
Innerhalb eines Formulars bleiben die Reiter bewusst einfach:
| Reiter | Bedeutung |
|---|---|
| Fragen | Formularfelder bauen und bearbeiten. |
| Design | Logo, Farben und Darstellung fuer die Kundensicht anpassen. |
| Antworten | Einsendungen als einfache Tabelle ansehen und exportieren. |
Link, QR-Code und Einbettung werden nach dem Veroeffentlichen bzw. im Public-Link-Kontext verwaltet, nicht als eigener Hauptreiter.
## Subframe-Links
| Screen | Subframe |
|---|---|
| S01 Formularart auswaehlen | https://app.subframe.com/f023064a5ca0/design/c423ebcd-914f-4038-ab9f-7c2a745a8bec/edit |
| S02 Einfacher Fragen Editor | https://app.subframe.com/f023064a5ca0/design/181aaa0f-5ae7-4f74-acf7-8273fbbe4dd5/edit |
| S02L Lead Felder zuweisen | https://app.subframe.com/f023064a5ca0/design/c8aa80cb-0cc8-473f-9fac-a09d395e6571/edit |
| E05 S02 Lead Zuweisung pruefen | https://app.subframe.com/f023064a5ca0/design/26600ce4-7baf-4ffb-9955-7c7d1eef99d1/edit |
| S00 Formulare verwalten | https://app.subframe.com/f023064a5ca0/design/2325aa7a-d968-4028-8282-0823b15bf964/edit |
| S03 Formular Design | https://app.subframe.com/f023064a5ca0/design/090f06a9-3fa7-4442-b8bc-035e95de7329/edit |
| S04 Oeffentliches Formular | https://app.subframe.com/f023064a5ca0/design/caef9ddd-03d6-4a26-8dc1-16aa198a7304/edit |
| V01 Public Erfolg oder Redirect | https://app.subframe.com/f023064a5ca0/design/c06ecfc3-1f86-4dfe-9cfd-cec8b8629253/edit |
| V02 Public Formular nicht verfuegbar | https://app.subframe.com/f023064a5ca0/design/f96ec12a-5e6a-471d-9a9c-6babcb57c74c/edit |
| V03 Public Captcha oder Submit Fehler | https://app.subframe.com/f023064a5ca0/design/95c96bc9-35d4-47ce-b510-7d8ea1f41936/edit |
| S05 Antworten Tabelle | https://app.subframe.com/f023064a5ca0/design/9e8eeab7-44ea-4b77-85e6-0818d97e1ac3/edit |
| E01 S00 Keine Formulare | https://app.subframe.com/f023064a5ca0/design/136c11b3-8310-4165-b4ba-9cf099ee0873/edit |
| E02 S00 Keine Treffer | https://app.subframe.com/f023064a5ca0/design/ccf8d2f7-e7b4-4ffd-87f6-1785edc1b2f7/edit |
| E03 S05 Keine Antworten | https://app.subframe.com/f023064a5ca0/design/6f56c14f-d66e-4734-8a29-a900ac74a8a7/edit |
| E04 S05 Export Fehler | https://app.subframe.com/f023064a5ca0/design/00553ea4-9839-4d22-b540-9b9ef0bf014f/edit |
@@ -0,0 +1,173 @@
---
kind: subframe-build-log
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
status: Review-ready / Subframe Draft gebaut
stand: 2026-07-09
---
# Subframe Bau Log - D-FORM
## Projekt
Subframe-Projekt: `Basedesign`
Project ID: `f023064a5ca0`
Flow: `(MCP) WF-D-FORM Form Builder`
Flow-Link: https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d75f4773f1a9/edit?tab=ai&conversationId=02d948da-f9aa-4ab5-8352-2745789bb9ad
## Gebaut
| Nr. | ID | Screen | Status | Subframe |
|---|---|---|---|---|
| 01 | S00 | Formulare verwalten | Hauptfluss | https://app.subframe.com/f023064a5ca0/design/2325aa7a-d968-4028-8282-0823b15bf964/edit |
| 02 | E01 | S00 Keine Formulare | Hauptfluss / Empty | https://app.subframe.com/f023064a5ca0/design/136c11b3-8310-4165-b4ba-9cf099ee0873/edit |
| 03 | E02 | S00 Keine Treffer | Hauptfluss / Empty | https://app.subframe.com/f023064a5ca0/design/ccf8d2f7-e7b4-4ffd-87f6-1785edc1b2f7/edit |
| 04 | S01 | Formularart auswaehlen | Hauptfluss | https://app.subframe.com/f023064a5ca0/design/c423ebcd-914f-4038-ab9f-7c2a745a8bec/edit |
| 05 | S02 | Einfacher Fragen Editor | Hauptfluss | https://app.subframe.com/f023064a5ca0/design/181aaa0f-5ae7-4f74-acf7-8273fbbe4dd5/edit |
| 05b | S02L | Lead Felder zuweisen | Hauptfluss / Lead State | https://app.subframe.com/f023064a5ca0/design/c8aa80cb-0cc8-473f-9fac-a09d395e6571/edit |
| 05c | E05 | S02 Lead Zuweisung pruefen | Hauptfluss / Lead Error | https://app.subframe.com/f023064a5ca0/design/26600ce4-7baf-4ffb-9955-7c7d1eef99d1/edit |
| 06 | S03 | Formular Design | Hauptfluss | https://app.subframe.com/f023064a5ca0/design/090f06a9-3fa7-4442-b8bc-035e95de7329/edit |
| 07 | S04 | Oeffentliches Formular | Public Zielbild | https://app.subframe.com/f023064a5ca0/design/caef9ddd-03d6-4a26-8dc1-16aa198a7304/edit |
| 08 | V01 | Public Erfolg oder Redirect | Public State | https://app.subframe.com/f023064a5ca0/design/c06ecfc3-1f86-4dfe-9cfd-cec8b8629253/edit |
| 09 | V02 | Public Formular nicht verfuegbar | Public State | https://app.subframe.com/f023064a5ca0/design/f96ec12a-5e6a-471d-9a9c-6babcb57c74c/edit |
| 10 | V03 | Public Captcha oder Submit Fehler | Public State | https://app.subframe.com/f023064a5ca0/design/95c96bc9-35d4-47ce-b510-7d8ea1f41936/edit |
| 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 / 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
- S01 ist als vereinfachter Einstieg gebaut: Nutzer waehlt Formularart vor dem Builder.
- S01 nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S01 enthaelt Website-/Externes Formular, Lead-Formular, Fragebogen/Umfrage und Internes Formular.
- S01 wurde am 2026-07-08 reduziert: keine doppelte Vorlagenzeile und keine einzelnen `Auswaehlen`-Links in den Karten; Auswahl ueber Karte + `Weiter`.
- S01 macht Lead-Formular bewusst einfach: Antworten werden automatisch als Lead gespeichert, kein Mapping fuer normale Nutzer.
- S02 nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S02 ist die Google-Forms-nahe Alternative: Titelkarte, Fragekarten, Google-Forms-nahe Fragetyp-Auswahl, mehrere editierbare Optionen, Pflichtfrage-Toggle und erweiterte Werkzeugleiste.
- S02 zeigt Lead-Verknuepfung als ruhige blaue Card. Die Card nutzt denselben Layout-Aufbau wie die gruene `Lead anlegen`-Card: Icon links, Titel/Badge/Beschreibung in der Mitte, Aktionen rechts.
- Arbeitsentscheidung: S02 ist aktuell der Haupt-Editor fuer alle Formulararten. S01C/S01D/S01E bleiben spaetere Varianten bzw. Referenz; S01B ist aus dem Obsidian-Handoff entfernt.
- S02-Fragetyp-Dropdown zeigt den aktuell gewaehlten Typ, z. B. `Multiple-Choice-Frage`; `Fragetyp` ist kein sichtbarer Wert.
- Im aktuellen S02-Hauptdropdown bleiben nur: Kurzantwort, Absatz, Multiple-Choice-Frage, Mehrfachauswahl, Drop-down, Datei oder Bild hochladen, Datum und Zeit. Lineare Skala, Bewertung und Raster sind gestrichen.
- In S02 bleiben Logic, Actions und Publish-Blocker einfach: `Bedingung` an der Frage, `Nach Absenden`/Lead anlegen als Card mit `Felder zuweisen`, Publish-Blocker als Banner/Popover im selben Screen.
- S02L ist gebaut: Lead-Felder werden per Dropdown-Vorlage Formularfragen zugewiesen. Die blaue Lead-Card nutzt dort denselben Aufbau wie in S02.
- E05 ist gebaut: unmoegliche oder fehlende Lead-Zuweisungen werden sichtbar markiert.
- Layout-Hinweis fuer S02L/E05: Inhaltlich sind beide Zustaende gebaut. In Subframe bei der finalen Sichtpruefung einmal kontrollieren, ob das vorhandene `Default Page Layout` aktiv ist.
- S01C nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S01C ist das Beispiel fuer Website-/Externes Formular: oeffentliche Anfrage, Public-Link-Hinweis, mCaptcha/Datenschutz, kein Lead-Mapping.
- S01D nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S01D ist nur Referenz fuer Fragebogen/Umfrage; im aktuellen Hauptfluss keine Skala, Bewertung oder Raster bauen.
- S01E nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S01E ist das Beispiel fuer Internes Formular: interne Meldung/Materialbedarf, Team-Ziel, keine Public-Link- oder Lead-Pipeline-Logik.
- S01C und S01E wurden am 2026-07-07 neu aufgebaut, weil die alten Subframe-IDs nicht mehr auffindbar waren.
- S00 nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S00 ist die Formular-Zentrale: Mehrfachfilter nach Status und Art, Suche, Sortierung, Tabelle und Zeilenaktionen.
- S00 zeigt mehrere aktive Status-Filter; die Art-Filter stehen separat bereit, damit nicht nur ein einzelner Tab moeglich wirkt.
- S03 nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S03 ist der Design-Tab: Logo, Akzentfarbe, Theme, Formularbreite, Datenschutz-Hinweis und Live-Vorschau der Kundensicht.
- S05 nutzt das vorhandene `Default Page Layout`, nicht eine selbst nachgebaute Sidebar.
- S05 ist der Antworten-Tab: Excel-aehnliche Tabelle, Suche, erweiterter Zeitraumfilter und Excel/CSV-Export. Keine Kennzahl-Kacheln, damit die Ansicht ruhig bleibt.
- S05 hat keinen `Link teilen`-Button; Teilen/Link gehoert in den Veroeffentlichen-/Public-Link-Kontext.
- E01/E02 decken die wichtigen leeren Zustaende der Formular-Zentrale ab: noch keine Formulare und Suche/Filter ohne Treffer.
- E03/E04 decken die wichtigen Zustaende im Antworten-Tab ab: noch keine Antworten und Export-Fehler.
- Layout-Check fuer E01-E04: In Subframe die Page Layout Auswahl pruefen und bei Bedarf `Default Page Layout` setzen. Per MCP kann ich Inhalte bauen/editieren, aber den Page-Layout-Typ nicht verlaesslich setzen.
- Die alten Advanced-Screens und D07-D09 wurden aus dem Obsidian-Handoff entfernt, weil S02 der aktuelle Review-Hauptfluss ist.
## Qualitaetscheck Public
- S04 ist Kundensicht ohne App-Shell.
- S04 zeigt Tenant, Formular-Intro, Name, Email, Telefon, Bereich, Beschreibung, Datei/Foto, Datenschutz-Checkbox, mCaptcha und Submit.
- V01 bestaetigt klar, dass die Anfrage angekommen ist und deckt Redirect ab.
- V02 ersetzt rohe 404/500-Fehler durch einen ruhigen Public-Blocker.
- V03 behaelt Werte sichtbar und zeigt Captcha-, Upload- und Submit-Fehler ohne technische Details.
- `File Upload` nutzt in S04 und V03 `fullwith={true}`, damit Upload-Felder die verfuegbare Formularbreite nutzen.
- S04 und V03 nutzen jetzt die `Card`-Komponente fuer das zentrale Formularpanel. Die Groesse wird pro Instanz ueber `className` erweitert, nicht global an der Card-Komponente.
- S04 und V03 sind optisch angeglichen: beide nutzen `max-w-[760px]`, dieselbe Card-Logik und eine einspaltige Feldreihenfolge. V03 zeigt denselben Aufbau mit erhaltenen Werten plus Fehlerbanner/Inline-Fehler.
## Komponenten-Notiz
Die Subframe-Komponente `File Upload` hat eine Boolean-Prop `fullwith`.
Stand 2026-07-06 wurde die Komponente angepasst:
- `fullwith={true}` wirkt im Default-/Hover-/Error-Dropbereich.
- `fullwith={true}` wirkt jetzt auch im `uploading`-Zustand.
- `fullwith={true}` wirkt jetzt auch im `uploaded`-Zustand.
Merksatz: In Formularen nicht nur `className="w-full"` setzen, sondern bei `File Upload` auch `fullwith={true}` verwenden.
## Noch offen
Fuer den alten D-FORM-Scope sind keine empfohlenen Frames mehr offen.
Durch Davids neues Lead-Feedback wurden zwei Zustaende ergaenzt und in Subframe gebaut: S02L `Lead Felder zuweisen` und E05 `S02 Lead Zuweisung pruefen`. S00, S01, S02, S02L/E05, S03, S04/Public States, S05 und E01-E04 bilden weiter den aktuellen Hauptfluss.
S01C/S01D/S01E sind gebaut, aber aktuell nicht relevant fuer den Hauptfluss. Sie bleiben als spaetere Varianten bzw. Referenzseiten erhalten. S01B und die alten Advanced-Screens wurden aus dem Obsidian-Handoff entfernt.
Subframe-Seitenliste: Per MCP kann ich bestehende Pages aktuell nicht umbenennen oder per Drag-and-drop sortieren. Fachlich gilt die Review-Reihenfolge unten. Falls die sichtbare Subframe-Liste sauber sortiert werden soll, die Pages in Subframe manuell umbenennen/ziehen.
Empfohlene sichtbare Sortierung:
1. `01 S00 Formulare verwalten`
2. `02 E01 S00 Keine Formulare`
3. `03 E02 S00 Keine Treffer`
4. `04 S01 Formularart auswaehlen`
5. `05 S02 Einfacher Fragen Editor`
6. `05b S02L Lead Felder zuweisen`
7. `05c E05 S02 Lead Zuweisung pruefen`
8. `06 S03 Formular Design`
9. `07 S04 Oeffentliches Formular`
10. `08 V01 Public Erfolg oder Redirect`
11. `09 V02 Public Formular nicht verfuegbar`
12. `10 V03 Public Captcha oder Submit Fehler`
13. `11 S05 Antworten Tabelle`
14. `12 E03 S05 Keine Antworten`
15. `13 E04 S05 Export Fehler`
16. `81 S01C Website Formular Editor`
17. `82 S01D Umfrage Editor`
18. `83 S01E Internes Formular Editor`
M01-M04 bleiben dokumentierte Confirm-Zustaende und werden nur gebaut, wenn David sie explizit anfordert.
## Modal-Regel fuer spaeter
Die vier bereits gebauten Public-Screens sind keine Modals:
- S04 Oeffentliches Formular
- V01 Public Erfolg oder Redirect
- V02 Public Formular nicht verfuegbar
- V03 Public Captcha oder Submit Fehler
Falls spaeter D-FORM-M-Zustaende gebaut werden, muessen sie als `Dialog`-Komponente gebaut werden:
- M01 Feld loeschen Confirm
- M02 Unpublish Confirm
- M03 Archive Confirm
- M04 Unsaved Changes Confirm
Die alten Advanced-Detailframes D07/D08/D09 sind nicht mehr Teil dieses Obsidian-Handoffs.
## Naechster Subframe-Schritt
Review in Subframe in dieser Reihenfolge:
1. `S00 Formulare verwalten`
2. `E01 S00 Keine Formulare`
3. `E02 S00 Keine Treffer`
4. `S01 Formularart auswaehlen`
5. `S02 Einfacher Fragen Editor`
6. `S02L Lead Felder zuweisen`
7. `E05 S02 Lead Zuweisung pruefen`
8. `S03 Formular Design`
9. `S04 Oeffentliches Formular`
10. `V01 Public Erfolg oder Redirect`
11. `V02 Public Formular nicht verfuegbar`
12. `V03 Public Captcha oder Submit Fehler`
13. `S05 Antworten Tabelle`
14. `E03 S05 Keine Antworten`
15. `E04 S05 Export Fehler`
Danach nur bei Bedarf die spaeteren Referenzseiten pruefen: S01C/S01D/S01E.
@@ -0,0 +1,355 @@
---
kind: subframe-build-plan
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
status: Bauplan / umgesetzt als Review-ready Subframe Draft
stand: 2026-07-09
---
# Subframe Bauplan - D-FORM
Ziel: D-FORM so in Subframe bauen, dass der Unterschied sofort klar wird:
- **S02 Einfacher Fragen Editor** = internes Werkzeug fuer Mitarbeiter.
- **S04 Oeffentliches Formular** = fertiges Formular fuer Kunden/Submitter.
- **Preview in S02** = Vorschau auf S04, kein PDF.
- **Logic** = steuert, welche Felder im Kundenformular sichtbar werden.
- **Actions** = passiert nach dem Absenden, z. B. Email, Lead, Kontakt, Projekt, Task.
## 1. Verstaendnisanker
```text
Mitarbeiter baut in S02:
"Welche Fragen sollen Kunden beantworten?"
Kunde sieht S04:
"Ich fuelle schnell ein Formular aus und sende es ab."
Nach Submit:
Submission wird gespeichert und Actions koennen laufen.
```
Der Kunde sieht nie den Builder. Der Kunde sieht nur die public Formularseite.
## 2. Review-Reihenfolge
Empfehlung fuer Review und Weiterarbeit: zuerst den aktuellen Hauptfluss pruefen. Spaetere Varianten und Advanced-Zustaende stehen bewusst hinten.
| Reihenfolge | Frame | Warum zuerst / danach? |
|---|---|---|
| 1 | S00 Formulare verwalten | Einstieg in den Arbeitsbereich: vorhandene Formulare, Mehrfachfilter, Status, Aktionen. |
| 2 | E01 S00 Keine Formulare | Wichtiger Empty State der Formular-Zentrale. |
| 3 | E02 S00 Keine Treffer | Wichtiger Filter-/Suchzustand der Formular-Zentrale. |
| 4 | S01 Formularart auswaehlen | Nutzer entscheidet, welche Art Formular gebaut wird. |
| 5 | S02 Einfacher Fragen Editor | Aktueller Haupt-Editor fuer alle Formulararten. |
| 6 | S02L Lead Felder zuweisen | Lead-Zustand im gleichen S02-Look: Formularfragen Lead-Feldern zuweisen. |
| 7 | E05 S02 Lead Zuweisung pruefen | Optionaler Fehlerzustand, wenn eine Zuweisung fehlt oder nicht moeglich ist. |
| 8 | S03 Formular Design | Design-Tab: Logo, Farben, Public Preview. |
| 9 | S04 Oeffentliches Formular | Zielbild: So sieht das fertige Formular fuer Kunden aus. |
| 10 | V01 Public Erfolg oder Redirect | Zeigt, was nach Absenden passiert. |
| 11 | V02 Public Formular nicht verfuegbar | Zeigt Public-Blocker ohne App-Kontext. |
| 12 | V03 Public Captcha oder Submit Fehler | Zeigt Public-Fehler, Werte bleiben erhalten. |
| 13 | S05 Antworten Tabelle | Antworten-Tab als Excel-/Tabellenansicht. |
| 14 | E03 S05 Keine Antworten | Wichtiger Empty State im Antworten-Tab. |
| 15 | E04 S05 Export Fehler | Wichtiger Fehlerzustand beim Export. |
| 81 | S01C Website Formular Editor | Spaetere Beispiel-/Referenzseite fuer Website-/externes Formular. |
| 82 | S01D Umfrage Editor | Spaetere Beispiel-/Referenzseite fuer Fragebogen/Umfrage. |
| 83 | S01E Internes Formular Editor | Spaetere Beispiel-/Referenzseite fuer internes Mitarbeiterformular. |
M01/M02/M03/M04 und D10 bleiben dokumentiert und muessen nicht als erste Subframe-Frames gebaut werden.
Stand 2026-07-09: Die einfachen Builder-Screens sind gebaut. S02L und E05 wurden nach Davids Lead-Feedback ergaenzt. S01B und die alten Advanced-Screens wurden aus dem Obsidian-Handoff entfernt. Die Links stehen im [[Subframe Bau Log]]. Fuer die weitergebbare Version siehe [[00 Start hier - David]] und [[D-FORM David Uebergabe 2026-07-09]].
### Nutzerfluss fuer die Simple-Builder-Richtung
```text
S00 Formulare verwalten
-> Neues Formular
-> S01 Formularart auswaehlen
-> je Auswahl:
Website / Extern -> S02 mit Website-/Extern-Vorlage
Lead -> S02 mit aktiver Lead-Verknuepfung -> S02L Felder zuweisen
Fragebogen / Umfrage -> S02 mit Umfrage-Startfragen
Intern -> S02 mit interner Formularvorlage
-> Design anpassen -> S03
-> Public Zielbild pruefen -> S04/V01/V02/V03
-> Antworten ansehen/exportieren -> S05
```
Die Subframe-Seitenliste selbst ist nicht zwingend die Review-Reihenfolge. Fachlich gilt die Reihenfolge oben.
### Noch relevante Error-/Empty-Zustaende
| Bereich | Zustand | Eigener Screen noetig? | Notiz |
|---|---|---|---|
| S00 Verwaltung | Keine Formulare vorhanden | ja | E01 ist gebaut, weil die erste leere Nutzung fachlich wichtig ist. |
| S00 Verwaltung | Suche/Filter ohne Treffer | ja | E02 ist gebaut, weil Mehrfachfilter sonst schnell verwirren. |
| S01 Auswahl | Keine Formularart gewaehlt | nein | `Weiter` disabled oder Lead als Default vorausgewaehlt. |
| S02 | Frage ohne Label/Optionen | nein | Inline markieren; Publish-Blocker als Banner/Popover im selben Screen. |
| S02L Lead | Pflichtzuweisung fehlt | ja, optional E05 | Name, Kontaktweg und Beschreibung muessen zuweisbar sein. |
| S02L Lead | Feld passt nicht zum Lead-Feld | ja, optional E05 | Dropdown-Option disabled oder Zeile mit Fehler markieren. |
| S03 Design | Logo/Datei-Upload fehlschlaegt | nein | Inline am Upload oder Toast. |
| S05 Antworten | Keine Antworten | ja | E03 ist gebaut, weil neue Formulare anfangs leer sind. |
| S05 Antworten | Suche/Filter ohne Treffer | nein | Kleiner Empty State im Tabellenbereich reicht. |
| S05 Antworten | Export fehlgeschlagen | ja | E04 ist gebaut, weil Export fuer Arbeit/Weitergabe wichtig ist. |
| Public | Formular nicht verfuegbar | ja | V02 ist gebaut. |
| Public | Captcha/Submit-Fehler | ja | V03 ist gebaut. |
| Public | Submit erfolgreich | ja | V01 ist gebaut. |
## 3. Exakte Subframe-Namen
Flow-Name:
- `(MCP) WF-D-FORM Form Builder`
Frames / Designs:
| ID | Subframe-Name | Typ |
|---|---|---|
| S00 | `S00 Formulare verwalten` | Formular-Zentrale |
| S01 | `S01 Formularart auswaehlen` | Einstieg / Auswahl |
| S02 | `S02 Einfacher Fragen Editor` | Simple Builder |
| S02L | `S02L Lead Felder zuweisen` | S02-Zustand / Lead Editor |
| E05 | `E05 S02 Lead Zuweisung pruefen` | Lead Mapping Error State |
| S03 | `S03 Formular Design` | Builder Tab |
| S04 | `S04 Oeffentliches Formular` | Public Form |
| V01 | `V01 Public Erfolg oder Redirect` | Public Feedback |
| V02 | `V02 Public Formular nicht verfuegbar` | Public Blocker |
| V03 | `V03 Public Captcha oder Submit Fehler` | Public Error |
| S05 | `S05 Antworten Tabelle` | Builder Tab |
| E01 | `E01 S00 Keine Formulare` | Hauptfluss / Empty State |
| E02 | `E02 S00 Keine Treffer` | Hauptfluss / Empty State |
| E03 | `E03 S05 Keine Antworten` | Hauptfluss / Empty State |
| E04 | `E04 S05 Export Fehler` | Hauptfluss / Error State |
| S01C | `S01C Website Formular Editor` | Spaeter / Referenz |
| S01D | `S01D Umfrage Editor` | Spaeter / Referenz |
| S01E | `S01E Internes Formular Editor` | Spaeter / Referenz |
Hinweis: In der Subframe-Seitenliste tragen S01C, S01D, S01E, S03, S04 und S05 aktuell noch das Suffix `Layout`. Zielnamen fuer Review/Handoff sind die oben stehenden Namen ohne `Layout`.
Nicht als erste Frames bauen:
- `D01 Sharing Panel URL QR iFrame`
- `D02 Post-Submit Actions`
- `D03 Conditional Logic Editor`
- `D06 Feldkarten Menue`
- `D10 Builder Interaktionsfaelle`
- `M01 Feld loeschen Confirm`
- `M02 Unpublish Confirm`
- `M03 Archive Confirm`
- `M04 Unsaved Changes Confirm`
## 4. Komponenten aus deinen Subframe Standards
Diese vorhandenen Komponenten/Patterns sollen genutzt werden.
| Bereich | Komponente | Einsatz in D-FORM |
|---|---|---|
| Layout | Default Page Layout | S00/S01/S02/S03/S05/E01-E04 als interne Hauptseiten im vorhandenen Subframe Page Layout. S01C-E bleiben spaetere interne Referenzseiten. S04/V01/V02/V03 bleiben public ohne App-Shell. |
| Navigation | Breadcrumb | S02 oben: `Formulare / SHK Anfrageformular`. |
| Navigation | Page Header with Back | S02 Header mit Zurueck, Formname, Status, Save, Preview, Share, Publish. |
| Navigation | Tabs | S02 Tabs: Fragen, Design, Antworten. |
| Actions | Button | Save, Publish, Add Field, Add Action, Submit. |
| Actions | Icon Button | Feldkarten-Menue, More-Menue, Close/Archive-Trigger. |
| Form Inputs | Text Input | Name, Slug, Field Key, Email, Telefon. |
| Form Inputs | Textarea | Beschreibung, Success Message, langer Hilfetext. |
| Form Inputs | Select | Bereich, Operator, Zielfeld, Action-Typ, Pipeline. |
| Form Inputs | Multiselect / Checkbox Group | Multi-Select-Felder und Public Auswahlgruppen. |
| Form Inputs | Checkbox | Public Captcha/Consent, Boolean-Felder. |
| Form Inputs | Switch | Required, Logic aktiv, Action aktiv. |
| Form Inputs | File Upload | Public Datei-/Foto-Upload. |
| Feedback | Banner Alert | Publish Blocker, Public Submit Error, Draft Sharing Hinweis. |
| Feedback | Toast | Gespeichert, kopiert, published. |
| Data Display | Badge Feedback / Tag Label | Draft/Published, Pflicht, Fehler, Feldtyp, aktiv/inaktiv. |
| Data Display | Empty State | Leerer Canvas, keine Actions, keine Logic-Regeln. |
| Overlays | Dropdown Menu / Context Menu | Feldkarten-Menue, More-Menue. |
| Overlays | Confirm Dialog | M01/M02/M03/M04, nur dokumentiert oder spaeter kleine Frames. |
| Layout | Separator Divider | Inspector-Sektionen, Public Form-Abgrenzungen. |
| Utility | Tooltip | Disabled Actions, Rechte-Hinweise, Copy/Share-Hilfe. |
## 5. Namens- und Variantenregeln
Aus den Subframe UI Standards:
- Size-Default heisst `Medium`, nicht `Default`.
- States: `default`, `hover`, `active`, `focus`, `disabled`, `loading`, `error`, `selected`.
- Varianten: `primary`, `secondary`, `tertiary`, `ghost`, `destructive`, `neutral`, `success`, `warning`, `information`.
- Form Field Anatomy:
- `label`
- `helpText`
- Control
- `message`
- Unterer Field-Text heisst immer `message`, nicht Helper, Label oder Help.
- Textnahe Controls nutzen `Radius Small`.
- `File Upload` hat die Boolean-Prop `fullwith`. Wenn ein Upload-Feld in einem Formularbereich die ganze verfuegbare Breite nutzen soll, immer `fullwith={true}` setzen. Das gilt besonders fuer Public Forms und Upload-Fehlerzustaende.
## 5a. Modal-Regel
Die gebauten Public-Screens `S02`, `V01`, `V02` und `V03` sind **keine** Modal-Screens. Sie sind Public Page States und duerfen mit einem zentrierten Container oder einer Card arbeiten.
Fuer alle echten D-FORM-Modals gilt:
- `M01 Feld loeschen Confirm`
- `M02 Unpublish Confirm`
- `M03 Archive Confirm`
- `M04 Unsaved Changes Confirm`
Wenn einer dieser M-Zustaende spaeter in Subframe gebaut wird, muss die vorhandene Komponente `Dialog` verwendet werden. Nicht als normale Card bauen, nicht als Drawer bauen und nicht als eigener Public/Page-State.
Abgrenzung:
- Public V01/V02 duerfen zwar card-artig zentriert aussehen, sind aber trotzdem volle Public-Zustaende und keine Dialoge.
- D-/M-Detailnotizen sind Markdown-Anforderungen und nicht Teil der aktuellen Subframe-Review-Reihenfolge.
## 6. S04: fertiges Kundenformular
S04 ist die einfache Seite, die der Kunde sieht. S02 bleibt der interne Fragen-Editor fuer Mitarbeiter.
### Komponentenregel Public Form Panel
Das eigentliche Formularpanel in `S04` und der Fehlerzustand in `V03` sollen die vorhandene `Card`-Komponente verwenden. Weil `Card` standardmaessig eher kompakt ist, bekommt die Instanz ein Breiten-Sondermass ueber `className`, z. B. `w-full`, `min-w-[0px]` und den max-width-Container der Seite.
Wichtig: Dafuer keine globale `Card`-Variante nur fuer D-FORM anlegen und die globale Card nicht verbreitern. Das Sondermass gehoert an die konkrete Public-Form-Card.
S04 und V03 sollen gleich aufgebaut sein:
- gleicher Public-Container
- gleiche maximale Breite `max-w-[760px]`
- gleiche `Card`-Breite
- gleiche einspaltige Feldreihenfolge
- kein zweispaltiges Name/E-Mail-Layout, damit lange Namen und lange E-Mail-Adressen mehr Platz bekommen
- V03 ist derselbe Formularaufbau plus Fehlerbanner, erhaltene Werte und Inline-Fehler
### Layout
```text
Public Container
Public Header
Tenant Logo / Fallback
Anbietername
Formular Intro
Titel
Beschreibung
Form Body
Fields in Reihenfolge
Captcha / Schutz
Absende-Bereich
Footer
```
### Beispielinhalt
| Element | Inhalt |
|---|---|
| Tenant | SHK Demo GmbH |
| Titel | SHK Anfrageformular |
| Beschreibung | Beschreiben Sie kurz Ihr Anliegen. Wir melden uns mit den naechsten Schritten. |
| Felder | Name, Email, Telefon, Bereich, Beschreibung, Fotos/Dokumente |
| Schutz | mCaptcha oder Sicherheitspruefung |
| Submit | Anfrage senden |
### Wichtige Regel
Keine App-Shell, keine Sidebar, keine internen Begriffe. Keine Woerter wie Submission, Action, Lead, Mapping, Webhook.
## 7. S01 danach bauen: interne Werkstatt
S01 ist nicht fuer Kunden. S01 ist fuer Mitarbeiter, die Formulare bauen.
### Layout
```text
Default Page Layout
vorhandene App-Shell des Layouts
vorhandene Header Navigation
Page Content
Header
Breadcrumb
Formname
Status Badge
Save
Preview
Share
Publish
More
Body
Left: Field Palette
Center: Canvas
Right: Inspector
Mode Tabs
Builder
Logic
Actions
Sharing
Preview
Settings
```
### Drei-Zonen-Builder
| Zone | Aufgabe | Wichtig fuer Subframe |
|---|---|---|
| Linke Palette | Feldtypen hinzufuegen | 12 Feldtypen klar gruppieren. |
| Canvas Mitte | Formularstruktur bauen | Feldkarten, Dropzones, Fehler, Selected State. |
| Rechter Inspector | Feld konfigurieren | label, helpText, required, validation, options, message. |
### Layout-Regel fuer interne Builder-Screens
S00, S01, S02, S03, S05 und E01-E04 muessen in Subframe das vorhandene `Default Page Layout` verwenden. S01C-E sind spaetere interne Referenzseiten und verwenden ebenfalls keine eigene Sidebar. Wichtig: Das Layout selbst bringt App-Shell/Navigation mit. In den Screens keine eigene Sidebar oder Header-Navigation nachbauen.
Nicht verwenden fuer den Builder: `Blank`, public/zentrierte Form-Seiten oder `Default Page Layout with inner Sidebar`. Die innere Sidebar ist eher fuer Settings geeignet; der Builder hat bereits eigene Innenbereiche wie Feld-Palette, Canvas, Logic-Liste, Action-Liste und Inspector.
Public-Screens S04, V01, V02 und V03 bleiben bewusst ohne App-Shell und ohne Sidebar.
### Tabs
S02 nutzt nur die Review-relevanten Tabs: Fragen, Design und Antworten. Logic, Actions und Publish bleiben in S02 bewusst einfach und inline.
## 8. Entfernte Advanced-Detailframes
S01B, ADV-S01, ADV-S01-2 und die Detailframes D07/D08/D09 wurden aus dem Obsidian-Handoff entfernt. Die fachlichen Detailnotizen zu Sharing, Actions, Logic, Feldmenue, Interaktionsfaellen und Confirm-Dialogen bleiben als Markdown-Anforderungen liegen, sind aber keine Review-Screens.
## 11. Was NICHT passieren soll
- Builder nicht wie Kundenformular bauen.
- Public Form nicht wie interne App bauen.
- Preview nicht als PDF verstehen.
- Logic nicht als PDF-/Dokumentgenerator verstehen.
- Actions nicht als kompletter Automation-Editor bauen.
- Confirm-Dialoge nicht vor dem S02-Hauptfluss priorisieren.
- Keine neuen globalen Subframe Standards aus D-FORM ableiten.
## 12. Umsetzungsstand in Subframe
Subframe-Flow:
https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d75f4773f1a9/edit?tab=ai&conversationId=02d948da-f9aa-4ab5-8352-2745789bb9ad
Gebaut und verlinkt:
1. S00 Formulare verwalten
2. E01 S00 Keine Formulare
3. E02 S00 Keine Treffer
4. S01 Formularart auswaehlen
5. S02 Einfacher Fragen Editor
6. S02L Lead Felder zuweisen
7. E05 S02 Lead Zuweisung pruefen
8. S03 Formular Design
9. S04 Oeffentliches Formular
10. V01 Public Erfolg oder Redirect
11. V02 Public Formular nicht verfuegbar
12. V03 Public Captcha oder Submit Fehler
13. S05 Antworten Tabelle
14. E03 S05 Keine Antworten
15. E04 S05 Export Fehler
81. S01C Website Formular Editor
82. S01D Umfrage Editor
83. S01E Internes Formular Editor
Gebaut nach Davids Lead-Feedback:
- 05b. S02L Lead Felder zuweisen: https://app.subframe.com/f023064a5ca0/design/c8aa80cb-0cc8-473f-9fac-a09d395e6571/edit
- 05c. E05 S02 Lead Zuweisung pruefen: https://app.subframe.com/f023064a5ca0/design/26600ce4-7baf-4ffb-9955-7c7d1eef99d1/edit
Naechster Schritt: Review in Subframe mit Fokus auf S00 bis S05 plus S02L/E05. Die Seiten 80-93 bleiben spaeter/Referenz und werden nur bei Bedarf geprueft.
@@ -0,0 +1,54 @@
{
"nodes":[
{"id":"group-simple","type":"group","x":-80,"y":160,"width":3900,"height":1060,"label":"D-FORM Hauptflow - Interner Builder"},
{"id":"group-public","type":"group","x":1160,"y":1340,"width":2320,"height":640,"label":"Public Formular und States"},
{"id":"group-notes","type":"group","x":-80,"y":-280,"width":3040,"height":360,"label":"Review-Fokus / Scope"},
{"id":"package","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.md","x":0,"y":-150,"width":360,"height":160},
{"id":"s03","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/01 S00 Formulare verwalten.md","x":0,"y":380,"width":420,"height":190},
{"id":"note-subframe-focus","type":"text","text":"# Review-Fokus\n\nAktueller Hauptfluss:\n- 01 S00 Verwaltung\n- 02/03 Empty States\n- 04 S01 Formularart\n- 05 S02 Haupteditor\n- 05b/05c Lead-Zuweisung\n- 06 S03 Design\n- 07-10 Public Form/States\n- 11-13 Antworten/States\n\n81-83 sind nur spaetere Referenz-Beispiele.","x":520,"y":-190,"width":760,"height":240},
{"id":"note-out-of-scope","type":"text","text":"# Nicht in D-FORM\n\n- Vollstaendige Submissions-Verwaltung\n- Submission-Detail\n- Booking\n- Kalender\n- Signatur\n- HR-Screens\n- Personalisierte Links\n- JS-Snippet\n\nS00 ist nur die schlanke Formular-Zentrale. S05 ist nur die Antwortenansicht im Formular.","x":1480,"y":-190,"width":760,"height":240},
{"id":"s00","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/04 S01 Formularart auswaehlen.md","x":670,"y":385,"width":420,"height":190},
{"id":"s01a","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/05 S02 Einfacher Fragen Editor.md","x":1240,"y":860,"width":420,"height":190},
{"id":"s01c","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/81 S01C Website Formular Editor.md","x":2600,"y":200,"width":420,"height":170},
{"id":"s01d","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/82 S01D Umfrage Editor.md","x":2600,"y":400,"width":420,"height":170},
{"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\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},
{"id":"s02","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/07 S04 Oeffentliches Formular.md","x":1240,"y":1540,"width":420,"height":190},
{"id":"v02","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/09 V02 Public Formular nicht verfuegbar.md","x":1870,"y":1660,"width":420,"height":190},
{"id":"v03","type":"file","file":"02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/Screens/10 V03 Public Captcha oder Submit Fehler.md","x":2350,"y":1700,"width":420,"height":190},
{"id":"note-public-reuse","type":"text","text":"# Public Renderer\n\nD-FORM baut das Public Form.\n\nAndere Bereiche wie HR oder Booking koennen den Renderer spaeter wiederverwenden, sind aber keine D-FORM-Screens.","x":3000,"y":1550,"width":420,"height":220}
],
"edges":[
{"id":"edge-s02-v01","fromNode":"s02","fromSide":"right","toNode":"v01","toSide":"left","label":"Submit erfolgreich"},
{"id":"edge-s02-v02","fromNode":"s02","fromSide":"right","toNode":"v02","toSide":"left","label":"nicht verfuegbar"},
{"id":"edge-s02-v03","fromNode":"s02","fromSide":"right","toNode":"v03","toSide":"left","label":"Fehler beim Submit"},
{"id":"edge-s02-public","fromNode":"s02","fromSide":"right","toNode":"note-public","toSide":"left","label":"Public-UX"},
{"id":"edge-public-reuse","fromNode":"note-public","fromSide":"right","toNode":"note-public-reuse","toSide":"left","label":"Wiederverwendung"},
{"id":"edge-focus-out","fromFloating":false,"toFloating":false,"fromNode":"note-subframe-focus","fromSide":"right","toNode":"note-out-of-scope","toSide":"left","label":"Grenzen"},
{"id":"edge-package-focus","fromNode":"package","fromSide":"right","toNode":"note-subframe-focus","toSide":"left","label":"Review"},
{"id":"edge-package-simple","fromNode":"package","fromSide":"bottom","toNode":"s03","toSide":"top","label":"Hauptfluss"},
{"id":"edge-s00-s01a","fromNode":"s00","fromSide":"right","toNode":"s01a","toSide":"left","label":"Weiter zu S02"},
{"id":"edge-s00-s01c","fromNode":"s00","fromSide":"right","toNode":"s01c","toSide":"left","label":"Referenz: Website"},
{"id":"edge-s00-s01d","fromNode":"s00","fromSide":"right","toNode":"s01d","toSide":"left","label":"Referenz: Umfrage"},
{"id":"edge-s00-s01e","fromNode":"s00","fromSide":"right","toNode":"s01e","toSide":"left","label":"Referenz: Intern"},
{"id":"edge-s03-s00","fromNode":"s03","fromSide":"right","toNode":"s00","toSide":"left","label":"Neues Formular"},
{"id":"edge-s03-s01a","toFloating":false,"fromNode":"s03","fromSide":"right","toNode":"s01a","toSide":"left","label":"Bearbeiten"},
{"id":"edge-s01a-s04","fromNode":"s01a","fromSide":"right","toNode":"s04","toSide":"left","label":"Tab Design"},
{"id":"edge-s01a-s05","fromNode":"s01a","fromSide":"right","toNode":"s05","toSide":"left","label":"Tab Antworten"},
{"id":"edge-s01a-note","fromNode":"s01a","fromSide":"right","toNode":"note-simple-builder","toSide":"left","label":"Prinzip"},
{"id":"edge-s01c-note","fromNode":"s01c","fromSide":"right","toNode":"note-simple-builder","toSide":"left","label":"Beispiel"},
{"id":"edge-s01d-note","fromNode":"s01d","fromSide":"right","toNode":"note-simple-builder","toSide":"left","label":"Beispiel"},
{"id":"edge-s01e-note","fromNode":"s01e","fromSide":"right","toNode":"note-simple-builder","toSide":"left","label":"Beispiel"},
{"id":"edge-s01a-s02-public","fromNode":"s01a","fromSide":"bottom","toNode":"s02","toSide":"top","label":"Public Vorschau"},
{"id":"edge-note-simple-direction","fromNode":"note-simple-builder","fromSide":"bottom","toNode":"simple-direction","toSide":"top","label":"Entscheidung"}
],
"metadata":{
"version":"1.0-1.0",
"frontmatter":{}
}
}
@@ -0,0 +1,541 @@
---
kind: wireframe-package
project: HiveGrid Screen Project
ticket: D-FORM
package: WF-D-FORM Form Builder
typ: Flow
status: Review-ready / Subframe Draft gebaut
subframe: "https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d75f4773f1a9/edit?tab=ai&conversationId=02d948da-f9aa-4ab5-8352-2745789bb9ad"
canvas: "02 Wireframes/D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas"
---
# WF-D-FORM Form Builder
Status: Review-ready fuer David / Subframe Draft gebaut
Subframe-Link: https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d75f4773f1a9/edit?tab=ai&conversationId=02d948da-f9aa-4ab5-8352-2745789bb9ad
Canvas: [[WF-D-FORM Form Builder.canvas]]
David-Review: [[David Review Checkliste]]
Subframe-Bauplan: [[Subframe Bauplan]]
Subframe-Bau-Log: [[Subframe Bau Log]]
Simple Builder: [[Simple Builder Neuausrichtung]]
Stand: 2026-07-09
Uebergabe: [[D-FORM David Uebergabe 2026-07-09]]
Start fuer Review: [[00 Start hier - David]]
---
## 1. Kurzfassung
Dieses Paket bereitet `D-FORM` fuer David vor: den einfachen internen Formular-Editor und das oeffentliche Formular.
Der Fokus liegt bewusst auf den zwei Bespoke-Erlebnissen:
- S02 Fragen-Editor fuer interne Nutzer
- Oeffentliches Formular fuer externe Submitter
Fuer den eigentlichen Subframe-Bau gilt [[Subframe Bauplan]] als konkrete Bau-Reihenfolge und Komponenten-Zuordnung. Interne Builder-Screens wie S00/S01/S02/S03/S05 nutzen das vorhandene Default Page Layout; keine eigene Sidebar oder Header-Navigation nachbauen. Public-Screens bleiben ohne App-Shell.
Die vollstaendige Forms-/Submissions-Verwaltung, Booking, Kalender und Signatur werden nicht in diesem Paket gebaut. Als schlanker Einstieg wurde aber S00 `Formulare verwalten` ergaenzt, damit Nutzer vorhandene Formulare finden und in den Builder springen koennen.
**Wichtig:** Dieses Paket ist jetzt auf den einfachen S02-Hauptfluss ausgerichtet. D-FORM ist in Subframe als Draft gebaut: S00 bis S05, S02L/E05 fuer Lead-Zuweisung und die Public-Screens S04/V01/V02/V03.
Vor einer echten Fertig-Markierung muss David die Subframe-Frames final reviewen. Danach koennen nur noch gezielte Korrekturen oder explizit nachgeforderte Zustands-/Modalframes folgen.
**Nachtrag 2026-07-07:** Fuer Handwerksbetriebe wirkt der bisherige Builder fachlich stark, aber zu komplex. Deshalb wurden einfachere Alternativen gebaut: zuerst [[Screens/01 S00 Formulare verwalten|S00 Formulare verwalten]] als Startseite, danach [[Screens/04 S01 Formularart auswaehlen|S01 Formularart auswaehlen]] und Google-Forms-artige Beispiel-Editoren. Hauptvariante ist [[Screens/05 S02 Einfacher Fragen Editor|S02 Einfacher Fragen Editor]]. [[Screens/81 S01C Website Formular Editor|S01C Website Formular Editor]], [[Screens/82 S01D Umfrage Editor|S01D Umfrage Editor]] und [[Screens/83 S01E Internes Formular Editor|S01E Internes Formular Editor]] bleiben spaetere Beispiele. Ergaenzt wurden ausserdem [[Screens/06 S03 Formular Design|S03 Formular Design]] und [[Screens/11 S05 Antworten Tabelle|S05 Antworten Tabelle]].
**Nachtrag 2026-07-08:** Die Simple-Builder-Richtung wurde nachgeschaerft: S00 nutzt Mehrfachfilter nach Status und Art, S02 hat mehrere editierbare Optionen und eine erweiterte Google-Forms-nahe Werkzeugleiste, S04 enthaelt eine Datenschutz-Checkbox, S03/S05 haben keinen eigenen Teilen-Tab mehr und S05 dient nur Antworten/Export.
**Nachtrag Lead-Zuweisung 2026-07-08:** David hat ergaenzt, dass Lead-Formulare einen sichtbaren Bereich `Felder zuweisen` brauchen. Deshalb bleibt S02 der einfache Haupteditor, bekommt aber den neuen Zustand [[Screens/05b S02L Lead Felder zuweisen|S02L Lead Felder zuweisen]]. Wenn eine Zuweisung fehlt oder nicht moeglich ist, greift optional [[Screens/05c E05 S02 Lead Zuweisung pruefen|E05 S02 Lead Zuweisung pruefen]]. Logic und Actions kommen damit in den Screen: `Bedingung` an der Frage, `Nach Absenden / Lead anlegen` als Card mit Dropdown-Zuweisung.
**Nachtrag 2026-07-09:** Fuer Davids Review wurde ein kompletter Obsidian-faehiger Paketordner vorbereitet. Die aktuelle Uebergabe liegt in [[D-FORM David Uebergabe 2026-07-09]]. Die S02/S02L-Lead-Hinweise sind optisch an die gruene `Lead anlegen`-Card angeglichen: Icon links, Titel/Badge/Beschreibung in der Mitte, Aktion rechts.
**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
| Frage | Antwort |
|---|---|
| Welches Ticket/Modul ist betroffen? | `D-FORM` / P16 / M05 Form Builder |
| Was soll der Nutzer am Ende schaffen? | Interne Nutzer bauen und veroeffentlichen Formulare; externe Nutzer reichen ein Formular sauber ein. |
| Ist es ein Flow, einzelner Screen, Zustand oder nur Dokumentation? | Bespoke-Flow mit zwei Hauptscreens und wenigen Public-Varianten. |
| Welche Planning-Quellen wurden geprueft? | `D-FORM.md`, `P16-kalender-booking-forms-signatur.md`, `M05-form-builder.md`, `ENTITY-MODEL.md` Domaene 9, `SCREEN-MAP.md` Paragraph 3, `DESIGNER-FIRST-PLAYBOOK.md` Rang 2, `ROADMAP.md` Phase 16. |
| Was ist sicher im Scope? | Drag-and-Drop-Builder, 12 Feldtypen, Conditional Logic, Field-Config, Live-Vorschau, Publish, URL/QR/iFrame-Sharing, Post-Submit-Actions, Public Form mit mCaptcha und 4 Zustaenden. |
| Was ist sicher nicht im Scope? | Booking-Page, Kalender, vollstaendige Submissions-Liste, Signatur-Wizard, personalisierte Links, JS-Snippet, Multi-Step-Forms, Repeater, A/B-Testing. S00 ist nur die schlanke Formular-Zentrale, nicht das komplette Submissions-Modul. |
| Gibt es Admin/Normalrolle-Unterschiede? | Ja: Builder/Publisher/Admin duerfen bauen und publishen; einfache Nutzer sehen ggf. nur Submission-/Basic-Rechte. |
| Welche Annahmen sind noch unsicher? | Ob David einzelne dokumentierte Zustands-/Modalframes aus S01 zusaetzlich in Subframe sehen will. |
---
## 3. Scope
| Punkt | Inhalt |
|---|---|
| Ticket/Modul | `D-FORM` / M05 Form Builder |
| Nutzerrolle | Interner Builder/Publisher/Admin; externer Submitter im Public Form. |
| Admin-Variante | Darf Form konfigurieren, Actions anlegen, publishen, Sharing nutzen. |
| Normale Rolle | Kann je nach Permission eventuell Formular bearbeiten oder nur Submissions sehen; Submissions sind nicht Teil dieses Pakets. |
| Startpunkt | Intern: `/forms/:id/edit`; Public: `/f/{tenant}/{slug}` |
| Ziel | Formulare robust bauen, veroeffentlichen und extern einreichbar machen. |
| Haupt-Archetyp | A4 Form/Input-Kit + A7 Zustands-Kit |
| Bespoke-Anteil | Sehr hoch: Canvas, Drag-and-Drop, Conditional Logic, Live Preview, Public Renderer. |
| Out of scope | Booking/Kalender/Signatur, Submission-Detail, personalisierte Links/JS-Snippet, komplexe v2-Logic. |
---
## 3a. Detailausbau vor Fertig
Diese Punkte fehlen noch, bevor D-FORM wirklich als fertig vorbereitet gelten sollte:
| Bereich | Was noch auszuarbeiten ist | Warum wichtig |
|---|---|---|
| Builder-Layout | Entscheidung fuer Canvas-Aufbau: Drei-Spalten, Tabs, Drawer, Preview-Mode, Mobile/Small-Viewport-Verhalten. | Der Builder ist die schwerste UI im Ticket. |
| Drag-and-Drop | Empty Dropzone, Drag Preview, Reorder, Drop zwischen Feldern, Feld-Auswahl, Undo/Cancel-Gefuehl. | Sonst bleibt der Canvas zu abstrakt. |
| Feldtypen | Properties je Feldtyp, Sonderfaelle fuer Datei/Foto, Datum/Datum-Range, Select/Multi-Select, Boolean. | David braucht konkrete Inspector-Inhalte. |
| Validation | Required, min/max, Regex, Datei-Typen/Groesse, Custom Error, Publish-Blocker. | Das Ticket verlangt Klartext-Validation. |
| Conditional Logic | Regel-Liste, Regel-Editor, kaputte Referenzen, Vorschau/Test, Limits fuer v1. | Pflicht laut Ticket, aber UX-riskant. |
| Form-Stammdaten | Name, Beschreibung, Slug, Status, Subtype, Success Message, Redirect, Close/Limit. | M05-Datenmodell ist groesser als nur Felder. |
| Templates | SHK-Templates sichtbar machen oder bewusst nur als Forms-Liste/Seed dokumentieren. | Ticket nennt geseedete Templates. |
| Publish / Unpublish | Publish-Flow, Blocker, Warnungen bei bereits oeffentlichem Formular, Unpublish-Folge. | Kritischer Arbeitsmoment fuer interne Nutzer. |
| Sharing / Embed | URL, QR, iFrame-Code, Copy-Feedback, Allowed Origins, v2-Abgrenzung JS-Snippet/personalisierte Links. | Public-Verteilung ist Teil von D-FORM. |
| Post-Submit-Actions | Action-Typen, Reihenfolge, Mapping-Zeilen, Pflichtmapping, Test/Preview, einfache Filter. | Sehr grosser Komplex im Builder. |
| Public Form | 4 Public-Zustaende, Mobile, mCaptcha, Datei-Upload, Success/Redirect, nicht verfuegbar. | Oeffentliche Screens brauchen hohen Polish. |
| Permissions | Builder, Publisher, Admin, Read-only/No-Permission-Zustand. | D-FORM hat eigene Permission-Bundles. |
| Abgrenzung | Was bleibt in D-FORM, was gehoert zu Submissions, Forms-Liste, D-BOOK, D-REST oder v2. | Verhindert Scope-Explosion. |
Empfehlung fuer die naechste Arbeitseinheit: David validiert die nachgezogene S01-Interaktionslogik. Danach kann Subframe-Bau oder letzte Korrektur erfolgen.
---
## 3b. SCREEN-MAP-Abgleich
Die `SCREEN-MAP.md` enthaelt deutlich mehr Screens, aber sie ist die Gesamt-Bauliste fuer HiveGrid v1. Fuer `D-FORM` zaehlen daraus nur die Form-Builder-bezogenen Zeilen.
| SCREEN-MAP-Screen | Gehoert zu D-FORM? | Umgang |
|---|---|---|
| Form-Builder-Canvas `/forms/:id/edit` | ja | In diesem Paket als S01 ausarbeiten. |
| Oeffentliches Formular `/f/{tenant}/{slug}` | ja | In diesem Paket als S04 plus Public-Varianten ausarbeiten. |
| Submissions `/forms/:id/submissions` | nein, Forms-Compose | Nicht D-FORM-Bespoke; spaeter eigenes Compose-/Submissions-Paket. |
| Forms-Liste `/forms` | teilweise | S00 als schlanke Formular-Zentrale im D-FORM-Paket; vollstaendige Forms-/Submissions-Compose bleibt spaeter. |
| Booking-Page `/b/{tenant}/{slug}` | nein | Eigenes Ticket/Paket `D-BOOK`. |
| Booking intern / Booking-Page-Editor / Verfuegbarkeit | nein | Eigenes Booking-Paket. |
| Kalender `/calendar` | nein | Eigenes Kalender-Paket. |
| Signatur-Wizard | nein | Eigenes Signatur-/D-REST-Paket. |
| HR Urlaub/Krankmeldung, Requests, Surveys | nein | HR nutzt M05/Form-Renderer wieder, ist aber nicht D-FORM. |
| Kampagnen-Editor, Kampagnen-Liste, Segmente, Sender | nein | Email-Marketing-Paket, nicht D-FORM. |
| Pipeline-Kanban, Projekt-Liste, Projekt-Detail, Pipeline-Config | nein | Projekt/Pipeline-Paket, nicht D-FORM. |
| Plattform-Admin-Screens | nein | Plattform-Admin-Paket, nicht D-FORM. |
Merksatz: D-FORM hat wenige eigene Routen, aber einen riesigen Detailumfang innerhalb des Builder-Screens und des Public-Renderers.
---
## 3c. Detailausbau-Fortschritt
| Bereich | Stand | Naechster Schritt |
|---|---|---|
| S02 Haupteditor | Simple Builder mit Fragekarten, Fragetypen, Bedingung und Lead-Hinweis gebaut. | David prueft die einfache Richtung. |
| S02L/E05 Lead-Zuweisung | Lead-Felder werden per Dropdown zugewiesen; Fehlerzustand ist gebaut. | David prueft, ob die Zuordnung reicht. |
| S04 Public Form | Arbeitsentwurf in S04 ergaenzt. | David validiert Public Layout, Mobile, Submit und Branding. |
| V01/V02/V03 Public-States | Public Success, Nicht-verfuegbar und Captcha/Submit-Fehler gebaut. | David validiert Copy und Public-Fehlerlogik. |
| Canvas/Tracker/Handoff | Auf aktuellen Hauptfluss bereinigt; alte Advanced-Frames aus Obsidian entfernt. | Vor Subframe nur noch David-Freigabe bzw. gezielte Korrekturen. |
---
## 3d. David-Feedback 2026-07-06
Review-Ergebnis: Der grobe fachliche Scope ist gut. D-FORM bleibt Builder plus oeffentliches Formular. Nicht nach D-FORM gehoeren Forms-Liste, Submissions, Booking, Kalender, Signatur und HR.
Nacharbeit: In S01 fehlte die Interaktionslogik fuer konkrete Aktionen. Die wichtigsten Klicks sind jetzt entschieden:
| Bereich | Entscheidung |
|---|---|
| Feld bearbeiten | Im rechten Inspector, kein Modal. |
| Feld duplizieren | Feldkarte oder 3-Punkte-Menue; kein Confirm. |
| Feld loeschen | 3-Punkte-Menue/Gefahrenzone; Confirm bei Abhaengigkeiten oder public-wirksamen Folgen. |
| Logic-Regel anlegen | Logic-Panel/Detailbereich im selben S01, kein Modal. |
| Post-Submit-Action hinzufuegen | Typauswahl als Popover/kleines Auswahlpanel, Konfiguration im Action-Panel/Drawer. |
| Sharing oeffnen | Public-Link-/Teilen-Kontext im einfachen Builder, kein eigener Review-Screen. |
| Publish | Inline-Check mit Summary/Popover; Blocker springen zu Feld, Logic, Action oder Settings. |
| Unpublish | Confirm-Dialog, weil Public-Link danach nicht mehr erreichbar ist. |
Bewertung: Der aktuelle Review konzentriert sich auf den S02-Hauptfluss. M01/M02 und die restlichen D-/M-Zustaende bleiben vorerst dokumentiert.
Dokumentierte Detaildateien: [[Screens/D01 Sharing Panel URL QR iFrame]], [[Screens/D02 Post-Submit Actions]], [[Screens/D03 Conditional Logic Editor]], [[Screens/D06 Feldkarten Menue]], [[Screens/M01 Feld loeschen Confirm]], [[Screens/D10 Builder Interaktionsfaelle]], [[Screens/M02 Unpublish Confirm]], [[Screens/M03 Archive Confirm]], [[Screens/M04 Unsaved Changes Confirm]].
Nach weiterer Rueckmeldung wurde D10 als Case-Matrix ergaenzt: Was passiert, wenn Nutzer etwas auswaehlen, eine Checkbox setzen, einen mittleren Pflichtschritt vergessen, Bild/Datei hinzufuegen, Optionen loeschen, Mapping halb setzen oder eine public-wirksame Aktion ausloesen.
---
## 3e. P2-Auth-Dbgleich 2026-07-06
P2 Auth ist als Referenz fuer Reifegrad genutzt worden. Dort sind nicht nur Hauptscreens, sondern auch D-/M-Zustaende, Modal-Inhalte, Subframe-Grid, Canvas-Notizen und Handoff-Checks konsequent dokumentiert.
Nachgezogen fuer D-FORM:
| P2-Muster | D-FORM-Umsetzung |
|---|---|
| Screen-Dateien mit Ziel, Daten, Aktionen, Verhalten, Zustaenden und Subframe-Hinweis | S02/S02L/E05/S04/V01-V03 sowie D-/M-Notizen entsprechend ausgearbeitet. |
| D-/M-Zustaende als eigene Dateien, auch wenn sie nicht gebaut werden | Detailnotizen liegen im `Screens`-Ordner, sind aber nicht Teil der aktuellen Subframe-Review-Reihenfolge. |
| Canvas zeigt Hauptflow plus dokumentierte Zustaende/Notizen | `WF-D-FORM Form Builder.canvas` wurde erweitert: Hauptflow, D-/M-Zustaende, D10 Case-Matrix, Public Flow und Scope-Notizen. |
| Tracker fuehrt dokumentierte Zustaende als eigene Zeilen | Tracker enthaelt die D-/M-Notizen als Dokumentation ohne Canvas-Link. |
Bewertung: D-FORM ist auf dem gleichen Vor-Subframe-Dokumentationsniveau wie die besser ausgearbeiteten P2 Auth Pakete. Subframe ist als Draft gebaut und verlinkt; Review und Feinschliff folgen.
---
## 4. Brainstorming
### Flow-Frage
Wie bekommt David den Builder so vorbereitet, dass er nicht in zehn Unterseiten zerfaellt, aber trotzdem alle schweren Entscheidungen sichtbar sind?
### UX-Varianten
| Option | Beschreibung | Vorteil | Nachteil | Empfehlung |
|---|---|---|---|---|
| D | Ein grosser Builder-Screen mit Palette, Canvas, Properties, Preview und Tabs/Panels fuer Sharing/Actions/Logic. | Ein Arbeitsort, weniger Navigation, passt zum Bespoke-Canvas. | Kann sehr dicht werden. | Genommen fuer v1-Draft. |
| B | Mehrere Unterseiten: Felder, Design, Logic, Sharing, Actions, Preview. | Uebersichtlicher pro Thema. | Wirkt eher Settings als Canvas; mehr Route- und Handoff-Last. | Raus fuer v1-Draft. |
| C | Minimaler Builder plus separate Modals fuer jedes Feature. | Reduziert Hauptscreen. | Modal-Kaskade wird schwer wartbar; Field-Mapping leidet. | Nur fuer einzelne Confirm-/Blocker-Zustaende. |
### Entscheidung
| Entscheidung | Status | Notiz |
|---|---|---|
| Builder als ein Hauptscreen | genommen | Die Route `/forms/:id/edit` ist der Arbeitsort. |
| Public Form als eigener Screen | genommen | Extern sichtbar, eigener Polish, eigene Zustaende. |
| Sharing in Builder integrieren | genommen | URL, QR, iFrame als Panel/Tab im Builder. |
| Post-Submit-Actions in Builder integrieren | genommen | Field-Mapping gehoert zur Form-Konfiguration, kein eigener Screen. |
| Conditional Logic in v1 eng schneiden | genommen | Nur Anzeige/Ausblenden: Wenn Feld Y = Z, zeige Feld X. |
| 12 Feldtypen nach A4 verwenden | Empfehlung genommen | Text, Textarea, Zahl, Waehrung, Datum, Datum-Range, Select, Multi-Select, Boolean, Email, Telefon, Datei. |
| Code-Stand nicht als Design-Grenze nehmen | genommen | Der vorhandene Form-Widget-Code ist kleiner als D-FORM; Design folgt Planning/D4. |
| Personalisierte Links | raus fuer v1 | Laut Ticket v2. |
| JS-Snippet | raus fuer v1 | Laut Ticket v2, iFrame bleibt. |
### Arbeitsentscheidung: 12 Feldtypen
Fuer Davids D-FORM-Draft nehmen wir die A4-Liste als verbindliche v1-Designbasis:
| Feldtyp | Design-Hinweis |
|---|---|
| Text | Einzeiliger Text. |
| Textarea | Mehrzeiliger Text, optional Markdown-Anmutung fuer interne/langformatige Antworten. |
| Zahl | Ganze Zahl oder Dezimalwert. |
| Waehrung | Zahl mit Waehrungsformat, z. B. Auftragswert. |
| Datum | Einzelnes Datum. |
| Datum-Range | Start-/Enddatum oder Zeitraum. |
| Select | Eine Auswahl aus Optionen; Radio kann als Darstellungsvariante davon gelten. |
| Multi-Select | Mehrere Optionen, z. B. Chips oder Checkbox-Liste. |
| Boolean | Ja/Nein, Checkbox oder Toggle. |
| Email | Email mit Formatvalidierung. |
| Telefon | Telefonnummer mit Format-/Normalisierungs-Hinweis. |
| Datei | Datei-Upload; Foto ist fuer v1 eine Upload-/Kamera-Variante, kein eigener Feldtyp. |
Nicht als normale Feldtypen zaehlen: Honeypot/mCaptcha (Anti-Spam), Section Header/Description (Darstellungsbloecke), Signature (Abnahme/Signatur-Kontext), Hidden Field, Address-Autocomplete. Diese koennen spaeter als v2 oder Spezialbausteine dazukommen.
### Arbeitsentscheidung: Post-Submit-Actions
Der Builder zeigt Actions, aber baut keinen zweiten Automation-Editor.
| Tiefe | Inhalt | Entscheidung |
|---|---|---|
| Action-Liste | Reihenfolge, Typ, aktiv/inaktiv, kurzer Status, Warnungen. | In S01 sichtbar. |
| Action-Konfiguration | Ziel, Bedingung optional, Empfaenger/URL/Entity, Field-Mapping-Zeilen. | In S01 als Panel/Drawer/Tab sichtbar. |
| Field-Mapping | Form-Feld -> Ziel-Feld, Pflichtfeldwarnungen, fehlende Zuordnung. | In S01 sichtbar. |
| Test/Validation | Webhook-URL pruefen, Mapping-Warnungen, Preview was erzeugt wird. | In S01 dokumentieren. |
| ActionLog voll | Submission-bezogene Ausfuehrungen, Re-Run, Fehlerverlauf. | Nicht eigener D-FORM-Screen; gehoert zu Submissions-Compose. |
### Arbeitsentscheidung: Builder-Arbeitsbereiche
Der Form-Builder bleibt ein Hauptscreen, aber nicht alles muss gleichzeitig im Vordergrund sein.
| Arbeitsbereich | Gewichtung | Empfehlung fuer David |
|---|---|---|
| Header / Status | dauerhaft sichtbar | Name, Status Draft/Published, Save, Preview, Publish, Share. |
| Feld-Palette | Primaerbereich | 12 Feldtypen schnell scanbar, Drag + Klick. |
| Canvas | Primaerbereich | Reihenfolge der Felder, Drag-and-Drop, Empty State, Feldfehler. |
| Feld-Inspector | Primaerbereich | Ausgewaehltes Feld bearbeiten: Label, Key, Pflicht, Validation, Optionen. |
| Logic | Sekundaerbereich | Eigener Tab/Panel/Drawer; einfache Wenn-Dann-Regeln. |
| Actions | Sekundaerbereich | Eigener Tab/Panel/Drawer; Action-Liste + Mapping. |
| Sharing | Sekundaerbereich | Eigener Tab/Panel/Drawer; URL, QR, iFrame. |
| Preview | Umschaltbereich | Public-nahe Vorschau, ideal als eigener View/Tab oder rechte Preview-Fläche. |
| Settings | Sekundaerbereich | Slug, Success Message, Redirect, Branding/Theme, Allowed Origins. |
Empfehlung: David sollte **Palette + Canvas + Inspector** als Kernarbeit verstehen. Logic, Actions, Sharing, Preview und Settings sind eigene Arbeitsmodi um denselben Form-Datensatz herum.
### Happy Path
1. Nutzer oeffnet den Form-Builder.
2. Nutzer waehlt ein Feld aus der Palette und zieht es in den Canvas.
3. Nutzer konfiguriert Label, Pflichtfeld, Optionen und Validierung.
4. Nutzer setzt bei Bedarf Conditional Logic.
5. Nutzer prueft die Live-Vorschau.
6. Nutzer definiert Post-Submit-Actions mit Field-Mapping.
7. Nutzer published das Formular.
8. Nutzer kopiert Public URL, QR oder iFrame.
9. Externer Submitter oeffnet das Public Form, fuellt es aus und sendet ab.
10. System zeigt Erfolgstext oder leitet weiter.
### Varianten / Branches
- Feld ohne Label oder ungueltige Konfiguration.
- Conditional Logic referenziert ein geloeschtes Feld.
- Pflichtfeld ohne passende Validation.
- Webhook-URL ungueltig.
- Publish blockiert wegen fehlendem Namen, Slug oder sichtbaren Feldern.
- Public Form ist nicht veroeffentlicht, archiviert, geschlossen oder nicht erreichbar.
- Captcha oder Submit schlaegt fehl.
### Roadblocks
- Zu viele Funktionen im Builder koennen David ueberladen.
- 12 Feldtypen muessen aus A4 kommen, aber Builder braucht Feld-spezifische Properties.
- Post-Submit-Actions koennen sehr komplex werden; im Design sollte Field-Mapping sichtbar sein, ohne einen Automations-Editor nachzubauen.
- Public Form muss wiederverwendbar fuer HR, Booking-Intake, Urlaub/Krank und Requests sein.
### Meldungs-/Error-State-Brainstorming
| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz |
|---|---|---|---|---|
| Keine Felder im Formular | Empty State im Canvas | nein | ja, in S01 | Klarer CTD: Feld aus Palette hinzufuegen. |
| Ungueltiges Feld | Inline + Summary-Banner | ja, fuer Publish | dokumentieren | Feldname nennen, nicht nur generisch. |
| Logic-Regel kaputt | Inline im Logic-Panel | ja, fuer Publish | dokumentieren | Ursache zeigen: referenziertes Feld fehlt. |
| Publish nicht moeglich | Banner im Builder | ja | dokumentieren | Liste der fehlenden Voraussetzungen. |
| Kopieren erfolgreich | Toast | nein | dokumentieren | URL/iFrame kopiert. |
| Public Form nicht verfuegbar | Public Blocker Screen | ja | ja, V02 | Externe Nutzer brauchen klare Erklaerung. |
| Captcha fehlgeschlagen | Inline/Banner im Public Form | ja, temporar | ja, V03 | Erneut versuchen. |
| Submit erfolgreich | Public Success State | nein | ja, V01 | Erfolgstext oder Redirect. |
### Offene Fragen
- Soll `date`, `datetime`, `time` spaeter als Varianten des Datumsfelds oder als eigene v2-Feldtypen behandelt werden?
- Soll `signature` im Form-Builder v1 als normales Feld verfuegbar sein oder nur im Abnahme-/Signatur-Kontext?
- Wie tief soll Field-Mapping fuer `create_projekt` in v1 sichtbar sein?
- Soll der Public Form Renderer mehrere Branding-Level haben oder nur Tenant-Logo plus einfache Theme-Werte?
---
## 5. Screen-Kandidaten nach Entscheidung
| Kandidat | Warum eventuell noetig? | Erste Einschaetzung |
|---|---|---|
| Form-Builder Canvas | Hauptarbeitsort, komplexe Sonder-UI. | Bauen |
| Oeffentliches Formular | Extern sichtbar, eigener Polish, eigener Renderer. | Bauen |
| Public Erfolg oder Redirect | Submit-Ende ist copy- und vertrauenskritisch. | Bauen |
| Public Formular nicht verfuegbar | Externer Blocker braucht klare Loesung. | Bauen |
| Public Captcha oder Submit Fehler | Hauefiger Public-Fehler, muss sauber wirken. | Bauen oder dokumentieren |
| Sharing-Panel | URL/QR/iFrame gehoeren in den Public-Link-Kontext. | Dokumentieren |
| Post-Submit-Actions | Lead-Feldzuweisung muss sichtbar sein. | In S02L/E05 abgebildet |
| Conditional-Logic-Editor | v1 eng schneiden. | Als einfache Bedingung an der Frage |
| Forms-Liste | Compose aus D2, nicht D-FORM. | Raus |
| Submissions | Compose aus A2/A3, nicht D-FORM. | Raus |
| Booking-Intake | Eigenes Ticket `D-BOOK`. | Raus |
| Signatur-Wizard | Eigenes Paket/Compose. | Raus |
---
## 6. Screen Validation Gate
| ID | Screen/Zustand | Ist eigener Arbeitsmoment? | Neue Struktur/Entscheidung/Risiko? | Entscheidung | Begruendung |
|---|---|---|---|---|---|
| S04 | [[Screens/07 S04 Oeffentliches Formular|S04 Oeffentliches Formular]] | ja | ja, Public Renderer und Branding | Bauen | Extern sichtbar, hoher Polish. |
| V01 | [[Screens/08 V01 Public Erfolg oder Redirect|V01 Public Erfolg oder Redirect]] | teilweise | ja, Submit-Ende und Copy | Bauen | Public Dbschluss soll nicht Dev-Default sein. |
| V02 | [[Screens/09 V02 Public Formular nicht verfuegbar|V02 Public Formular nicht verfuegbar]] | ja | ja, blockierender Public-State | Bauen | Nutzer kann nicht fortfahren. |
| V03 | [[Screens/10 V03 Public Captcha oder Submit Fehler|V03 Public Captcha oder Submit Fehler]] | teilweise | ja, Public Trust | Bauen | Fehler darf nicht technisch wirken. |
| D01 | [[Screens/D01 Sharing Panel URL QR iFrame]] | nein | nein, Bereich in S01 | Nur dokumentieren | Kein eigener Screen, aber UI-Bereich. |
| D02 | [[Screens/D02 Post-Submit Actions]] | nein | ja, Mapping-Komplexitaet | Nur dokumentieren | In S01 als Panel/Tab dokumentieren. |
| D03 | [[Screens/D03 Conditional Logic Editor]] | nein | ja, Regel-Editor | Nur dokumentieren | In S01 als Panel/Tab dokumentieren. |
| D06 | [[Screens/D06 Feldkarten Menue]] | nein | ja, Klick-Logik nach David-Feedback | Nur dokumentieren | 3-Punkte-Menue fuer Duplizieren, Loeschen, ggf. Deaktivieren. |
| M01 | [[Screens/M01 Feld loeschen Confirm]] | nein | ja, Abhaengigkeiten in Logic/Actions | Nur dokumentieren | Confirm nur bei Risiko, kein normaler Bearbeitungsdialog. |
| D10 | [[Screens/D10 Builder Interaktionsfaelle]] | nein | ja, Auswahlfolgen und Edge Cases | Nur dokumentieren | Case-Matrix fuer Dropdowns, Checkboxen, vergessene Zwischenschritte, Datei/Bild und Modal-Inhalte. |
| M02 | [[Screens/M02 Unpublish Confirm]] | nein | ja, public-wirksam | Nur dokumentieren | Confirm-Dialog wegen Public-Link. |
| M03 | [[Screens/M03 Archive Confirm]] | nein | ja, destruktiv/Statuswechsel | Nur dokumentieren | Confirm aus More-Menue. |
| M04 | [[Screens/M04 Unsaved Changes Confirm]] | nein | ja, Datenverlust-Risiko | Nur dokumentieren | Standard-Guard beim Verlassen mit Dirty State. |
| D04 | Forms-Liste | nein | nein | Raus | Compose, nicht Teil von D-FORM. |
| D05 | Submissions | nein | nein | Raus | Compose, nicht Teil von D-FORM. |
Entscheidung: `Bauen`, `Wiederverwenden`, `Nur dokumentieren`, `Spaeter`, `Raus`
### Validation-Ergebnis fuer David
Der urspruengliche Advanced-Subframe-Fokus lag auf diesen **8 Frames/Zustaenden**:
- S04 Oeffentliches Formular
- V01 Public Erfolg oder Redirect
- V02 Public Formular nicht verfuegbar
- V03 Public Captcha oder Submit Fehler
Nach der Simple-Builder-Neuausrichtung sind zusaetzlich gebaut und fuer Review nach vorne gezogen:
- S00 Formulare verwalten
- S01 Formularart auswaehlen
- S02 Einfacher Fragen Editor
- S01C Website Formular Editor
- S01D Umfrage Editor
- S01E Internes Formular Editor
- S03 Formular Design
- S05 Antworten Tabelle
Nicht als eigene Frames bauen:
- Kein Sharing/Teilen als eigener Hauptreiter im Simple Builder; Public-Link/QR/Einbettung gehoeren in Veroeffentlichen/Public-Link-Kontext.
- Actions, Logic, Preview und Settings als Arbeitsbereiche von S01 bzw. einfache Zusatzoptionen im Simple Builder.
- Feldkarten-Menue, allgemeine Panels, D10 Case-Matrix und Confirm-Dialoge als dokumentierte Detailnotizen.
- Vollstaendige Forms-Liste und Submissions, weil diese Compose aus A2/A3 sind. S00/S05 sind nur schlanke D-FORM-Einstiegs-/Antwortansichten.
- Booking/Kalender/Signatur, weil diese eigene Tickets haben.
Keine zusaetzlichen Advanced-Zustandsframes im aktuellen Handoff bauen.
### Copy-kritische Zustaende
| Zustand | Bauen? | Warum / Copy-Entscheidung |
|---|---|---|
| Publish blockiert | dokumentieren | Interner Nutzer braucht konkrete fehlende Punkte. |
| Public Erfolg | ja | Externer Nutzer muss sicher wissen, dass die Anfrage angekommen ist. |
| Public nicht verfuegbar | ja | Externer Nutzer ist blockiert. |
| Captcha/Submit Fehler | ja | Vertrauen erhalten, einfache naechste Aktion. |
### Blockierende Error States
| Zustand | UI-Form | Primaeraktion | Sekundare Aktion | Inhalt/Copy-Richtung |
|---|---|---|---|---|
| Public Form nicht veroeffentlicht | Screen | Zur Website zurueck | Anbieter kontaktieren | Formular ist aktuell nicht verfuegbar. |
| Public Form geschlossen | Screen | Anbieter kontaktieren | - | Dnnahmezeitraum ist beendet. |
| Public Submit scheitert dauerhaft | Banner/Screen | Erneut versuchen | Anbieter kontaktieren | Keine technischen Details. |
| Builder Publish blockiert | Banner im Builder | Fehler beheben | Vorschau weiter nutzen | Konkrete Liste: Name, Slug, Feldfehler. |
---
## 7. Validierte Screen-Liste
| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status |
|---|---|---|---|---|---|
| S00 | [[Screens/01 S00 Formulare verwalten|S00 Formulare verwalten]] | Formular-Zentrale | Bauen | `/forms` | Subframe Draft / Review offen |
| E01 | [[Screens/02 E01 S00 Keine Formulare|E01 S00 Keine Formulare]] | Empty State | Bauen | `/forms` | Subframe Draft / Review offen |
| E02 | [[Screens/03 E02 S00 Keine Treffer|E02 S00 Keine Treffer]] | Empty State | Bauen | `/forms` | Subframe Draft / Review offen |
| S01 | [[Screens/04 S01 Formularart auswaehlen|S01 Formularart auswaehlen]] | Einstieg / Auswahl | Bauen | `/forms/new` | Subframe Draft / Review offen |
| S02 | [[Screens/05 S02 Einfacher Fragen Editor|S02 Einfacher Fragen Editor]] | Simple Builder | Bauen | `/forms/:id/edit` | Subframe Draft / Review offen |
| S02L | [[Screens/05b S02L Lead Felder zuweisen|S02L Lead Felder zuweisen]] | Lead-Zustand | Bauen | `/forms/:id/edit` | Subframe Draft / Review offen |
| E05 | [[Screens/05c E05 S02 Lead Zuweisung pruefen|E05 S02 Lead Zuweisung pruefen]] | Lead Error State | Bauen | `/forms/:id/edit` | Subframe Draft / Review offen |
| S03 | [[Screens/06 S03 Formular Design|S03 Formular Design]] | Builder Tab | Bauen | `/forms/:id/edit` | Subframe Draft / Review offen |
| S04 | [[Screens/07 S04 Oeffentliches Formular|S04 Oeffentliches Formular]] | Public Form | Bauen | `/f/{tenant}/{slug}` | Subframe Draft / Review offen |
| V01 | [[Screens/08 V01 Public Erfolg oder Redirect|V01 Public Erfolg oder Redirect]] | Public Feedback | Bauen | nach Submit | Subframe Draft / Review offen |
| V02 | [[Screens/09 V02 Public Formular nicht verfuegbar|V02 Public Formular nicht verfuegbar]] | Public Blocker | Bauen | Variante von S04 | Subframe Draft / Review offen |
| V03 | [[Screens/10 V03 Public Captcha oder Submit Fehler|V03 Public Captcha oder Submit Fehler]] | Public Error | Bauen | Variante von S04 | Subframe Draft / Review offen |
| 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 | 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.
| ID | Zustand | Typ | Umsetzung |
|---|---|---|---|
| D01 | [[Screens/D01 Sharing Panel URL QR iFrame]] | Panel-Zustand | Nur dokumentieren |
| D02 | [[Screens/D02 Post-Submit Actions]] | Panel-Zustand | Nur dokumentieren |
| D03 | [[Screens/D03 Conditional Logic Editor]] | Panel-Zustand | Nur dokumentieren |
| D06 | [[Screens/D06 Feldkarten Menue]] | Inline-Zustand | Nur dokumentieren |
| M01 | [[Screens/M01 Feld loeschen Confirm]] | Confirm Modal | Nur dokumentieren |
| D10 | [[Screens/D10 Builder Interaktionsfaelle]] | Case-Matrix | Nur dokumentieren |
| M02 | [[Screens/M02 Unpublish Confirm]] | Confirm Modal | Nur dokumentieren |
| M03 | [[Screens/M03 Archive Confirm]] | Confirm Modal | Nur dokumentieren |
| M04 | [[Screens/M04 Unsaved Changes Confirm]] | Confirm Modal / Browser Guard | Nur dokumentieren |
---
## 8. Subframe-Grid
Interner Hauptarbeitsort:
```text
S02 Einfacher Fragen Editor
- Fragen
- Lead-Hinweis / Felder zuweisen
- Bedingung direkt an der Frage
- Design-Tab S03
- Antworten-Tab S05
```
Dokumentierte Detailnotizen:
```text
S02 -> D01 Sharing Panel
S02 -> D02 Post-Submit Actions
S02 -> D03 Conditional Logic Editor
S02 -> D06 Feldkarten Menue -> M01 Feld loeschen Confirm
S02 Publish-Kontext -> M02 Unpublish Confirm
S02 -> M03 Archive Confirm
S02 -> M04 Unsaved Changes Confirm
S02 -> D10 Builder Interaktionsfaelle
```
Public Flow:
```text
S04 Oeffentliches Formular
|
+--> V01 Public Erfolg oder Redirect
|
+--> V02 Public Formular nicht verfuegbar
|
+--> V03 Public Captcha oder Submit Fehler
```
---
## 9. Screen-Pakete
- [[David Review Checkliste]]
- [[Screens/01 S00 Formulare verwalten|S00 Formulare verwalten]]
- [[Screens/02 E01 S00 Keine Formulare|E01 S00 Keine Formulare]]
- [[Screens/03 E02 S00 Keine Treffer|E02 S00 Keine Treffer]]
- [[Screens/04 S01 Formularart auswaehlen|S01 Formularart auswaehlen]]
- [[Screens/05 S02 Einfacher Fragen Editor|S02 Einfacher Fragen Editor]]
- [[Screens/06 S03 Formular Design|S03 Formular Design]]
- [[Screens/07 S04 Oeffentliches Formular|S04 Oeffentliches Formular]]
- [[Screens/08 V01 Public Erfolg oder Redirect|V01 Public Erfolg oder Redirect]]
- [[Screens/09 V02 Public Formular nicht verfuegbar|V02 Public Formular nicht verfuegbar]]
- [[Screens/10 V03 Public Captcha oder Submit Fehler|V03 Public Captcha oder Submit Fehler]]
- [[Screens/11 S05 Antworten Tabelle|S05 Antworten Tabelle]]
- [[Screens/12 E03 S05 Keine Antworten|E03 S05 Keine Antworten]]
- [[Screens/13 E04 S05 Export Fehler|E04 S05 Export Fehler]]
- [[Screens/81 S01C Website Formular Editor|S01C Website Formular Editor]]
- [[Screens/82 S01D Umfrage Editor|S01D Umfrage Editor]]
- [[Screens/83 S01E Internes Formular Editor|S01E Internes Formular Editor]]
- [[Screens/D01 Sharing Panel URL QR iFrame]]
- [[Screens/D02 Post-Submit Actions]]
- [[Screens/D03 Conditional Logic Editor]]
- [[Screens/D06 Feldkarten Menue]]
- [[Screens/M01 Feld loeschen Confirm]]
- [[Screens/D10 Builder Interaktionsfaelle]]
- [[Screens/M02 Unpublish Confirm]]
- [[Screens/M03 Archive Confirm]]
- [[Screens/M04 Unsaved Changes Confirm]]
---
## 10. Handoff-Check
- [x] Jeder Screen ist mit Umsetzung markiert.
- [x] Jedes sichtbare Feld hat eine Datenquelle. Als Detail-Brainstorming dokumentiert.
- [x] Jeder Button hat eine Aktion. Nach David-Feedback um Interaktionslogik ergaenzt.
- [x] Die wichtigsten Klickzustaende sind als Markdown-Detailnotizen dokumentiert.
- [x] Die wichtigsten Was-passiert-wenn-Faelle sind in D10 als Case-Matrix dokumentiert.
- [x] Canvas ist auf Hauptflow, Public Flow und Scope-Notizen bereinigt.
- [x] Banner/Inline-Meldungen sind dokumentiert.
- [x] Toasts/Action-Feedback sind dokumentiert.
- [x] Meldungs-/Error-State-Matrix ist ausgefuellt.
- [x] Blockierende Error States sind mit naechster Aktion definiert.
- [x] Relevante Zustaende sind beschrieben.
- [x] Offene Fragen sind sichtbar.
- [x] Ticket-Handoff-Entwurf ist in `Tickets/Fertige Tickets/` angelegt.
- [x] Detail-Brainstorming fuer S02/S04/V01/V02/V03 ist abgeschlossen.
- [x] David-Review-Rueckmeldung ist erfolgt.
- [x] S01-Interaktionslogik nach David-Feedback ist eingearbeitet.
- [ ] David-Freigabe nach S01-Nacharbeit ist erfolgt.
- [x] Subframe-Link fuer Flow und Hauptfluss 01-13 ist eingetragen.
@@ -0,0 +1,44 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FLOW
package: WF-P12 Flow-Editor
id: M03
screen: Start-Auswahl
typ: Modal
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "»+ Neue Automation« aus der Automation-Liste"
subframe_name: "M03 Start-Auswahl"
subframe_page_id: "03d42bf8-7624-4286-8e38-54a3ea605b14"
subframe: "https://app.subframe.com/f023064a5ca0/design/03d42bf8-7624-4286-8e38-54a3ea605b14/edit"
reference_name: "M03 Start-Auswahl V3"
reference_page_id: "c8291109-a683-454c-8de6-f36b524b3254"
reference: "https://app.subframe.com/f023064a5ca0/design/c8291109-a683-454c-8de6-f36b524b3254/edit"
source_checked: 2026-08-04
---
# M03 — Start-Auswahl
## Ziel und Rolle im Flow
Direkt nach „+ Neue Automation“ in [[S01 Automation-Liste]] entscheiden, ob ein leerer Ablauf oder eine Beispielvorlage als Ausgangspunkt verwendet wird.
## Finaler Screen
Die Subframe-Seite ohne Versionssuffix ist die finale Auswahl. Das Modal stellt zwei gleichwertige, verständliche Wege nebeneinander:
- **Leer starten:** leerer Ablauf, Bausteine werden anschließend selbst hinzugefügt.
- **Mit Vorlage starten:** die Beispielvorlage „Neue Anfrage direkt nachfassen“ mit sichtbarer Schrittfolge aus Formular, Aufgabe und Benachrichtigung.
- Beide Wege führen in [[S01 Flow-Editor]].
- Ein kurzer Hinweis macht klar, dass jeder Ablauf später vollständig angepasst werden kann.
## Verbliebene Referenz
[M03 Start-Auswahl V3](https://app.subframe.com/f023064a5ca0/design/c8291109-a683-454c-8de6-f36b524b3254/edit) bleibt als Vergleichsseite im Workflow-Engine-Flow. Sie zeigt den breiteren Ansatz mit großem Leerstart, Filter Bar und vier Vorlagen, ist aber nicht die final umbenannte Zielseite.
## Subframe
- [Finalen Screen öffnen](https://app.subframe.com/f023064a5ca0/design/03d42bf8-7624-4286-8e38-54a3ea605b14/edit)
- [Vergleichsseite V3 öffnen](https://app.subframe.com/f023064a5ca0/design/c8291109-a683-454c-8de6-f36b524b3254/edit)
- [Workflow-Engine-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,38 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FLOW
package: WF-P12 Flow-Editor
id: M04
screen: Automation aktivieren
subframe_name: "M04 Automation aktivieren"
subframe_page_id: "e30af8dc-37f4-4634-a332-fdd17219432b"
typ: Bestätigungsmodal
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "Aktiv-Schalter in S01 Flow-Editor"
subframe: "https://app.subframe.com/f023064a5ca0/design/e30af8dc-37f4-4634-a332-fdd17219432b/edit"
source_checked: 2026-08-04
---
# M04 — Automation aktivieren
## Ziel und Rolle im Flow
Vor dem produktiven Aktivieren noch einmal verständlich machen, was der Schalter bewirkt. Das Modal liegt zwischen der Aktion im [[S01 Flow-Editor]] und der tatsächlichen Zustandsänderung.
## Sichtbarer Umfang
- Klare Frage „Automation aktivieren?“.
- Hinweis, dass neue passende Auslöser ab jetzt Läufe starten und verbundene Schritte produktiv ausgeführt werden.
- Automationsname und zugehöriger Auslöser als kurzer Kontext.
- Sekundäraktion „Abbrechen“ und Primäraktion „Automation aktivieren“.
## Bewusste Outline-Grenze
Voraussetzungen, Rechte, technische Validierung und Fehlerzustände werden nicht als weitere Design-Screens ausdefiniert. Diese Fälle gehören in die Umsetzung; das Modal definiert nur die produktrelevante Entscheidung und ihre verständliche Konsequenz.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/e30af8dc-37f4-4634-a332-fdd17219432b/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,39 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FLOW
package: WF-P12 Flow-Editor
id: M05
screen: Automation pausieren
subframe_name: "M05 Automation pausieren"
subframe_page_id: "9a9cde02-ccc5-4128-b79e-e351fee17318"
typ: Bestätigungsmodal
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "Aktiv-Schalter in S01 Flow-Editor"
subframe: "https://app.subframe.com/f023064a5ca0/design/9a9cde02-ccc5-4128-b79e-e351fee17318/edit"
source_checked: 2026-08-04
---
# M05 — Automation pausieren
## Ziel und Rolle im Flow
Vor dem Pausieren erklären, welche unmittelbare Wirkung die Zustandsänderung hat. Das Modal liegt zwischen der Aktion im [[S01 Flow-Editor]] und der tatsächlichen Zustandsänderung.
## Sichtbarer Umfang
- Klare Frage „Automation pausieren?“.
- Hinweis, dass passende Auslöser während der Pause keine neuen Läufe starten.
- Automationsname und aktueller Status als kurzer Kontext.
- Sekundäraktion „Weiterlaufen lassen“ und Primäraktion „Automation pausieren“.
- Warnende, aber nicht destruktiv-rote Darstellung: Pausieren ist reversibel.
## Bewusste Outline-Grenze
Was mit bereits laufenden Ausführungen, zeitgleichen Ereignissen oder technischen Fehlern passiert, entscheidet die Umsetzung. Dafür werden im Designpaket keine zusätzlichen Zustands- oder Error-Screens angelegt.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/9a9cde02-ccc5-4128-b79e-e351fee17318/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,57 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FLOW
package: WF-P12 Flow-Editor
id: S01
screen: Flow-Editor
subframe_name: "V1 Vollbild minimal"
subframe_page_id: "ae9f5d91-1153-44de-9af3-63010bc86162"
typ: BESPOKE
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "/automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/ae9f5d91-1153-44de-9af3-63010bc86162/edit"
source_checked: 2026-08-04
---
# S01 — Flow-Editor ⭐
## Ziel und Rolle im Flow
Automationen auf einer Vollbild-Zeichenfläche zusammenstellen. Diese Obsidian-Seite dokumentiert den gebauten leeren Editorzustand; ein eigener Referenzscreen „gefüllter Editor“ wird nicht benötigt.
## Sichtbare Struktur
- App-Shell mit Breadcrumb und Sidebar.
- Kopfzeile mit Automationsname, Status „Aktiv“, Aktiv-Schalter, Verlauf und Mehr-Menü.
- Modus-Umschalter „Bauen / Aktivität / Auswertung“.
- Leerer Canvas ohne mittigen Hinzufügen-Platzhalter.
- Übersicht unten links sowie Undo/Redo, Zoom und Probelauf in der Bottom-Toolbar.
- Einziger sichtbarer Plus-Einstieg zum Hinzufügen unten rechts.
## Aktionen und Verknüpfungen
- Neue Automation beginnt über [[M03 Start-Auswahl]].
- Das Plus unten rechts öffnet [[S01b Baustein-Picker]].
- Rechtsklick auf die Zeichenfläche öffnet [[S01c Canvas-Kontextmenue]].
- Ein gewählter Baustein öffnet einen der 32 individuellen Konfigurationsscreens aus [[S05 Baustein-Konfig-Panels]].
- „Aktivität“ soll zur eigenständigen [[S02 Lauf-Liste]] führen; die genaue Umschalter-Copy wird gemeinsam validiert.
- Der Aktiv-Schalter öffnet vor der Zustandsänderung [[M04 Automation aktivieren]] oder [[M05 Automation pausieren]].
## Scope-Entscheidung 2026-08-03
- Kein eigener S01d-Screen für gefüllte Knoten/Kanten.
- Kein eigener Probelauf-Screen im Obsidian-Paket.
- Kein eigener Schleifen-/Ratenwarnungs-Screen im Obsidian-Paket.
- Kein doppelter Plus-CTA in der Canvas-Mitte; das Plus unten rechts reicht als sichtbarer Haupteinstieg.
- Diese Funktionen dürfen technisch im Produkt bestehen, werden aber nicht als separate zu bauende Design-Screens geführt.
## Offener Reviewpunkt
Der Subframe-Entwurf zeigt zusätzlich „Auswertung“. Dieser Modus besitzt aktuell keinen eigenen P12-Screen. Beim gemeinsamen Review entscheiden wir, ob er entfernt, später reserviert oder anders benannt wird.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/ae9f5d91-1153-44de-9af3-63010bc86162/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FLOW
package: WF-P12 Flow-Editor
id: S01b
screen: Baustein-Picker
subframe_name: "S01b Baustein-Picker vollst_ndig"
subframe_page_id: "83c4fbde-b040-4bc3-80a6-3c5d7b1f626b"
typ: Drawer
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "aus S01 (Baustein hinzufügen)"
subframe: "https://app.subframe.com/f023064a5ca0/design/83c4fbde-b040-4bc3-80a6-3c5d7b1f626b/edit"
source_checked: 2026-08-04
---
# S01b — Baustein-Picker
## Ziel und Rolle im Flow
Seitlicher 480-px-Drawer zum Suchen und Hinzufügen eines Bausteins in [[S01 Flow-Editor]]. Die zusätzliche Breite hält Namen, Kurzbeschreibung und Statuskennzeichen lesbar, ohne den Editor vollständig zu verdecken.
## Aktueller Subframe-Inhalt
- Suche „Baustein suchen …“.
- Kompakte Filter: Alle 31, Auslöser 16, Aktionen 6, Logik 8 und Integration 1.
- Alle 31 fachlichen Bausteine sind vorhanden; die Liste scrollt innerhalb des Drawers.
- Name, Kurzbeschreibung und Kategorie pro Baustein; „Ab v2“ und „Profi“ bleiben dort sichtbar, wo sie für die Auswahl relevant sind.
- Durchgehend Du-Ansprache.
## Verknüpfungen
Ein Klick führt zum passenden individuellen Konfigurationsscreen. Der vollständige Bestand liegt in [[S05 Baustein-Konfig-Panels]] und ist im Verwaltungs-Canvas nach Kategorien gruppiert. Dort existieren 32 Seiten, weil „Zeitplan monatlich“ eine bedeutsame Zustandsvariante des Bausteins „Zeitplan“ ist und kein eigener Picker-Eintrag.
## Verifizierter Abgleich
- 31/31 erwartete Bausteinnamen im Subframe-Readback gefunden.
- „Frist oder Termin“ ersetzt die zwei alten Einträge „Termin in Kürze“ und „Zahlungsziel überschritten“.
- Kein eigener Eintrag für die Monatsvariante und kein v1-Konfigurationsdialog für „An KWP übergeben“.
- Der alte unvollständige 12er-Picker wurde nach dem Abgleich aus Subframe entfernt.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/83c4fbde-b040-4bc3-80a6-3c5d7b1f626b/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,40 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-FLOW
package: WF-P12 Flow-Editor
id: S01c
screen: Canvas-Kontextmenue
subframe_name: "Kontextmenue Canvas"
subframe_page_id: "2278da93-f0a2-4e46-bd3b-250d5912a62d"
typ: Kontextmenue
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "Rechtsklick auf die Zeichenfläche in S01"
subframe: "https://app.subframe.com/f023064a5ca0/design/2278da93-f0a2-4e46-bd3b-250d5912a62d/edit"
source_checked: 2026-08-04
---
# S01c — Canvas-Kontextmenü
## Ziel und Rolle im Flow
Schneller Zugriff auf die häufigsten Bearbeitungsaktionen per Rechtsklick in [[S01 Flow-Editor]].
## Sichtbare Aktionen
- Baustein hinzufügen und Einfügen.
- Rückgängig und Wiederholen.
- Ausschneiden, Kopieren und Duplizieren.
- Alles auswählen und automatisch anordnen.
- Löschen als destruktive Aktion.
- Tastenkürzel werden direkt neben den Aktionen gezeigt.
## Scope
Das vorhandene Canvas-Kontextmenü ist die einzige separate Kontextmenü-Referenz. Ein zusätzlicher eigener Screen für Knoten/Kanten wird nicht geführt.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/2278da93-f0a2-4e46-bd3b-250d5912a62d/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,32 @@
{
"nodes":[
{"id":"1000000000000001","type":"group","x":-80,"y":-120,"width":3600,"height":720,"color":"5","label":"Flow-Editor · Ablauf, Varianten und Toggle-Bestätigungen"},
{"id":"1000000000000002","type":"group","x":1330,"y":960,"width":1590,"height":380,"color":"3","label":"Verknüpfte Verwaltung"},
{"id":"1000000000000003","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/WF-P12 Flow-Editor.md","x":-80,"y":-440,"width":460,"height":260},
{"id":"1000000000000004","type":"text","text":"# Einstieg\n\n»+ Neue Automation« aus der Automation-Liste öffnet die Start-Auswahl.","x":0,"y":0,"width":420,"height":180},
{"id":"1000000000000005","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/M03 Start-Auswahl.md","x":840,"y":-5,"width":400,"height":180},
{"id":"1000000000000007","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/S01b Baustein-Picker.md","x":2350,"y":-50,"width":420,"height":170},
{"id":"1000000000000009","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S05 Baustein-Konfig-Panels.md","x":2990,"y":-10,"width":500,"height":180,"color":"5"},
{"id":"1000000000000006","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/S01 Flow-Editor.md","x":1640,"y":-10,"width":420,"height":180},
{"id":"100000000000000d","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/M05 Automation pausieren.md","x":820,"y":365,"width":400,"height":170},
{"id":"100000000000000c","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/M04 Automation aktivieren.md","x":-20,"y":370,"width":400,"height":170},
{"id":"1000000000000008","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/S01c Canvas-Kontextmenue.md","x":2310,"y":370,"width":420,"height":170},
{"id":"100000000000000a","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S02 Lauf-Liste.md","x":1640,"y":1080,"width":420,"height":180},
{"id":"100000000000000b","type":"text","text":"# Finaler Scope\n\nKein eigener Screen für gefüllten Editor, Probelauf oder Schleifen-/Ratenwarnung.\n\nM03 ohne Versionssuffix ist final: »Leer starten« oder eine Beispielvorlage. M03 V3 bleibt Referenz. M04/M05 sind Bestätigungsmodale; der Picker enthält 31/31 Bausteine. Beide Flows zusammen: 44 Seiten.","x":2230,"y":1040,"width":540,"height":220}
],
"edges":[
{"id":"2000000000000001","fromNode":"1000000000000004","fromSide":"right","toNode":"1000000000000005","toSide":"left","label":"+ Neue Automation"},
{"id":"2000000000000002","fromNode":"1000000000000005","fromSide":"right","toNode":"1000000000000006","toSide":"left","label":"Leer starten oder Beispielvorlage"},
{"id":"2000000000000003","fromNode":"1000000000000006","fromSide":"right","toNode":"1000000000000007","toSide":"left","label":"Baustein hinzufügen"},
{"id":"2000000000000004","toFloating":false,"fromFloating":false,"fromNode":"1000000000000006","fromSide":"bottom","toNode":"1000000000000008","toSide":"top","label":"Rechtsklick"},
{"id":"2000000000000005","fromNode":"1000000000000007","fromSide":"right","toNode":"1000000000000009","toSide":"left","label":"Baustein wählen"},
{"id":"2000000000000006","fromNode":"1000000000000006","fromSide":"right","toNode":"1000000000000009","toSide":"left","label":"Konfiguration öffnen"},
{"id":"2000000000000007","fromNode":"1000000000000006","fromSide":"bottom","toNode":"100000000000000a","toSide":"top","label":"Aktivität"},
{"id":"2000000000000008","fromNode":"1000000000000006","fromSide":"bottom","toNode":"100000000000000c","toSide":"top","label":"Aktivieren"},
{"id":"2000000000000009","fromNode":"1000000000000006","fromSide":"bottom","toNode":"100000000000000d","toSide":"top","label":"Pausieren"}
],
"metadata":{
"version":"1.0-1.0",
"frontmatter":{}
}
}
@@ -0,0 +1,67 @@
---
kind: wireframe-package
project: HiveGrid Screen Project
ticket: D-FLOW
package: WF-P12 Flow-Editor
typ: Flow
status: Fertig / Development-Handoff
subframe: "https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit"
canvas: "WF-P12 Flow-Editor.canvas"
source_checked: 2026-08-04
---
# WF-P12 Flow-Editor
Subframe-Flow: [WF-P12 Workflow Engine](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
Canvas: [Canvas](<WF-P12 Flow-Editor.canvas>)
## Kurzfassung
Der aktuelle Workflow-Engine-Flow umfasst **39 Subframe-Seiten**: sechs finale Editor-/Modal-Seiten, die verbliebene Vergleichsseite `M03 Start-Auswahl V3` und 32 Konfigurationsdialoge. Der separate Verwaltungs-Flow enthält fünf finale Seiten. Damit sind **44 aktuelle P12-Seiten** vollständig inventarisiert und im gemeinsamen Workflow-Engine-Handoff erfasst.
Die Subframe-Seite ohne Versionssuffix ist jeweils die finale Auswahl. Für M03 ist das die reduzierte Zwei-Wege-Auswahl mit „Leer starten“ oder einer Beispielvorlage. `M03 Start-Auswahl V3` bleibt im Flow als Referenz, ist aber nicht die finale Zielseite.
## Finaler Scope
- [[M03 Start-Auswahl]] — finales Anlege-Modal mit den zwei Wegen „Leer starten“ und „Mit Vorlage starten“.
- [[S01 Flow-Editor]] — leerer Vollbild-Editor.
- [[S01b Baustein-Picker]] — Drawer mit allen 31 fachlichen Bausteinen.
- [[S01c Canvas-Kontextmenue]] — Kontextmenü der Zeichenfläche.
- [[M04 Automation aktivieren]] — Bestätigung vor dem produktiven Einschalten.
- [[M05 Automation pausieren]] — Bestätigung vor dem Pausieren.
- Die 32 Konfigurationsdialoge liegen einzeln in WF-P12 Verwaltung und sind über [[S05 Baustein-Konfig-Panels]] erschlossen.
## Entfernt aus dem Screen-Scope
- Kein eigener gefüllter Editor-Screen.
- Kein eigener Probelauf-Screen.
- Kein eigener Schleifen-/Ratenwarnungs-Screen.
Diese Funktionen dürfen technisch vorhanden sein, sind aber keine separat zu pflegenden Design-Screens.
## Flow
```text
Automation-Liste -> M03 Start-Auswahl -> S01 Flow-Editor
S01 -> S01b Baustein-Picker -> individueller Konfigurationsdialog
S01 -> S01c Canvas-Kontextmenü
S01 -> Aktiv-Schalter -> M04 Automation aktivieren oder M05 Automation pausieren
S01 -> Aktivität -> S02 Lauf-Liste
```
## Aktueller Seitenbestand
| Rolle | Subframe-Seite | Stand |
|---|---|---|
| S01 Flow-Editor | [V1 Vollbild minimal](https://app.subframe.com/f023064a5ca0/design/ae9f5d91-1153-44de-9af3-63010bc86162/edit) | Final |
| S01b Baustein-Picker | [S01b Baustein-Picker vollst_ndig](https://app.subframe.com/f023064a5ca0/design/83c4fbde-b040-4bc3-80a6-3c5d7b1f626b/edit) | Final |
| S01c Canvas-Kontextmenü | [Kontextmenue Canvas](https://app.subframe.com/f023064a5ca0/design/2278da93-f0a2-4e46-bd3b-250d5912a62d/edit) | Final |
| M03 Start-Auswahl | [M03 Start-Auswahl](https://app.subframe.com/f023064a5ca0/design/03d42bf8-7624-4286-8e38-54a3ea605b14/edit) | Final |
| M04 Automation aktivieren | [M04 Automation aktivieren](https://app.subframe.com/f023064a5ca0/design/e30af8dc-37f4-4634-a332-fdd17219432b/edit) | Final |
| M05 Automation pausieren | [M05 Automation pausieren](https://app.subframe.com/f023064a5ca0/design/9a9cde02-ccc5-4128-b79e-e351fee17318/edit) | Final |
| M03 Vergleich | [M03 Start-Auswahl V3](https://app.subframe.com/f023064a5ca0/design/c8291109-a683-454c-8de6-f36b524b3254/edit) | Verbleibende Referenz, nicht Zielseite |
| Baustein-Konfiguration | [32 Dialogseiten im Flow](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit) | Development-Handoff |
## Handoff
Das Paket ist Teil des gemeinsamen fertigen Tickets `D-FLOW + D-P12 Workflow Engine`. Die vollständige UUID- und Linkliste aller 39 Seiten steht dort sowie im [[Screen Paket Tracker]].
+51
View File
@@ -0,0 +1,51 @@
# Abschluss — Workflow Engine (P12)
Status: **Fertig / Development-Handoff am 2026-08-04**
Detailwahrheit: [[WF-P12 Flow-Editor]], [[WF-P12 Verwaltung]], [[S05 Baustein-Konfig-Panels]], [[S05a Baustein-Konfig Vorplanung]] und [[Screen Paket Tracker]].
## Finaler Subframe-Bestand
- [x] Beide Flows vollständig per MCP neu eingelesen.
- [x] **39 Seiten** in „WF-P12 Workflow Engine“ inventarisiert.
- [x] **5 Seiten** in „(MCP) WF-P12 Verwaltung“ inventarisiert.
- [x] **44/44 aktuelle Subframe-Seiten** mit Obsidian, Direktlinks und Canvas-Beziehungen abgeglichen.
- [x] Alle fünf Verwaltungsseiten tragen finale Namen ohne Versionssuffix.
- [x] „S04 Vorlagen-Katalog“ in Obsidian und Subframe als [[M04 Vorlagen-Katalog]] geführt.
- [x] Finale [[M03 Start-Auswahl]] auf Page-ID 03d42bf8-7624-4286-8e38-54a3ea605b14 umgestellt.
- [x] Finale [[S06 Zugangsdaten]] auf Page-ID b183c6bf-9674-4e97-86d7-d7a8ef9ab17b umgestellt.
- [x] „M03 Start-Auswahl V3“ als verbliebene Vergleichsseite im vollständigen Inventar dokumentiert.
- [x] Alte Verwaltungsvarianten sind nicht mehr Bestandteil des aktuellen Subframe-Flows.
## Finale Screens
- [x] [[S01 Flow-Editor]]
- [x] [[S01b Baustein-Picker]]
- [x] [[S01c Canvas-Kontextmenue]]
- [x] [[M03 Start-Auswahl]]
- [x] [[M04 Automation aktivieren]]
- [x] [[M05 Automation pausieren]]
- [x] [[S01 Automation-Liste]]
- [x] [[S02 Lauf-Liste]]
- [x] [[S03 Lauf-Detail]]
- [x] [[M04 Vorlagen-Katalog]]
- [x] [[S06 Zugangsdaten]]
- [x] 32 Konfigurationsdialoge aus [[S05 Baustein-Konfig-Panels]]
## Bewusst nicht als eigener Screen
- Gefüllter Editor.
- Probelauf.
- Schleifen-/Ratenwarnung.
- Zusätzliche Detail- und Error-Flows für Zugangsdaten.
## Nicht blockierende Development-Hinweise
- Die Live-Seitennamen „K-T2 Deadline naht“ und „K-A1 Kontakt aendern“ weichen von den im sichtbaren Inhalt und Picker verwendeten Produktnamen „Frist oder Termin“ und „Datensatz ändern“ ab.
- [[K-L1 Filter]] verwendet noch die breite Dialogvariante.
- Time-Picker sowie echte Kategorievarianten Rot/Gelb bleiben Baukasten-Themen.
- Subframe bildet die Interaktionen statisch ab; Routing, Rechte und technische Sonderfälle vervollständigt Development.
## Ablage
Der kompakte Handoff liegt unter „Tickets/Fertige Tickets/D-FLOW Workflow Engine.md“ und umfasst beide Subframe-Flows sowie die vollständige Liste aller 44 aktuellen Seiten.
@@ -0,0 +1,51 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-a1-datensatz-andern
screen: "Datensatz ändern"
subframe_name: "K-A1 Kontakt aendern"
subframe_page_id: "69019ec4-d884-4d89-b699-d67a6ec99c7f"
typ: "Aktion · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/69019ec4-d884-4d89-b699-d67a6ec99c7f/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.745Z"
---
# K-A1 — Datensatz ändern
## Ziel und Rolle im Flow
Aktualisiert einen Datensatz (Kontakt, Projekt oder Auftrag). Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Welcher Datensatz** · **Feld** · **Neuer Wert**.
- Erklärungen: Meistens der Datensatz, der die Automation gestartet hat.
- Beispieloptionen: Datensatz aus dem Auslöser, Primärkontakt des Projekts, Manuell auswählen, Status, Betreuer, Telefonnummer, E-Mail.
- Dialogbreite im aktuellen Stand: **Medium**.
- Sichtbare Badges: **Aktion**.
- Weitere sichtbare Zustände/Hinweise: Feld-Zuordnungen · &#123;&#123;Mitarbeiter aus Auslöser&#125;&#125;.
## Aktionen und Verknüpfungen
- **Zuordnung hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Der sichtbare Inhalt heißt bereits **„Datensatz ändern“**. Nur der Subframe-Seitenname ist noch veraltet und muss dort manuell umbenannt werden.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/69019ec4-d884-4d89-b699-d67a6ec99c7f/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-a1-notiz-anlegen
screen: "Notiz anlegen"
subframe_name: "K-A1 Notiz anlegen"
subframe_page_id: "a94188de-7a32-4e7d-a608-04cd47f2cbf2"
typ: "Aktion · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/a94188de-7a32-4e7d-a608-04cd47f2cbf2/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-25T16:16:26.944Z"
---
# K-A1 — Notiz anlegen
## Ziel und Rolle im Flow
Speichert eine Notiz am Datensatz. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Notiz speichern an** · **Notiztext** * · **Sichtbar für (optional)**.
- Erklärungen: An diesem Datensatz erscheint die Notiz in der Akte. · Der Text der Notiz. Platzhalter in geschweiften Klammern werden beim Lauf ersetzt. Pflichtfeld. · Wer die Notiz sehen darf.
- Beispieloptionen: Kontakt aus dem Auslöser, Auftrag aus dem Auslöser, Projekt aus dem Auslöser, Alle im Betrieb, Nur Innendienst, Nur ich.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Aktion**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextArea`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/a94188de-7a32-4e7d-a608-04cd47f2cbf2/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,50 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-a2-benachrichtigung-senden
screen: "Benachrichtigung senden"
subframe_name: "K-A2 Benachrichtigung senden"
subframe_page_id: "a0a46df7-4f24-4e36-98ab-c4772ecf2e63"
typ: "Aktion · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/a0a46df7-4f24-4e36-98ab-c4772ecf2e63/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-25T16:21:45.433Z"
---
# K-A2 — Benachrichtigung senden
## Ziel und Rolle im Flow
Informiert dich oder dein Team per Push oder in der App. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Weg** · **Empfänger** * · **Titel** · **Nachricht** *.
- Erklärungen: Push aufs Handy oder als Hinweis in der App. Für Kunden-E-Mails nutze den Baustein »E-Mail senden«. · Wer im Betrieb die Benachrichtigung bekommt. Pflichtfeld. · Die Überschrift der Benachrichtigung. · Der Text der Benachrichtigung. Platzhalter wie {{Vorname}} werden beim Versand ersetzt. Pflichtfeld.
- Beispieloptionen: Push (Handy), In-App (Glocke), Beide, Ich, Bestimmte Person, Team, Verantwortliche/r aus dem Auslöser.
- Dialogbreite im aktuellen Stand: **Medium**.
- Sichtbare Badges: **Aktion**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Das Nachrichtenfeld ist im Subframe-Stand schmaler als die übrigen Felder; die Baukasten-Variante „volle Breite + feste Höhe“ bleibt offen.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextArea`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/a0a46df7-4f24-4e36-98ab-c4772ecf2e63/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,51 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-a2-e-mail-senden
screen: "E-Mail senden"
subframe_name: "K-A2 E-Mail senden"
subframe_page_id: "a7f4debc-2e00-4f32-937a-bc85636a30ba"
typ: "Aktion · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/a7f4debc-2e00-4f32-937a-bc85636a30ba/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-27T19:33:58.383Z"
---
# K-A2 — E-Mail senden
## Ziel und Rolle im Flow
Schickt eine E-Mail an einen Kontakt. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Empfänger** * · **Absender** * · **Betreff** * · **Nachricht** *.
- Erklärungen: An diese Person geht die E-Mail. Pflichtfeld. · Von dieser Adresse wird gesendet. Pflichtfeld. · Die Betreffzeile. Pflichtfeld. · Der Text der E-Mail. Platzhalter wie {{Vorname}} werden beim Versand ersetzt. Pflichtfeld.
- Beispieloptionen: Kontakt aus dem Auslöser, Bestimmte E-Mail-Adresse, Kontakt suchen, info@betrieb.de, service@betrieb.de, angebot@betrieb.de.
- Dialogbreite im aktuellen Stand: **Medium**.
- Sichtbare Badges: **Aktion**.
- Weitere sichtbare Zustände/Hinweise: Optional, zum Beispiel ein PDF-Angebot oder Datenblatt.
## Aktionen und Verknüpfungen
- **Anhang hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Das Nachrichtenfeld ist im Subframe-Stand schmaler als die übrigen Felder; die Baukasten-Variante „volle Breite + feste Höhe“ bleibt offen.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextArea`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/a7f4debc-2e00-4f32-937a-bc85636a30ba/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-a3-aufgabe-anlegen
screen: "Aufgabe anlegen"
subframe_name: "K-A3 Aufgabe anlegen"
subframe_page_id: "9d9f2a55-0d46-4644-ac9f-c63721262fdb"
typ: "Aktion · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/9d9f2a55-0d46-4644-ac9f-c63721262fdb/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.762Z"
---
# K-A3 — Aufgabe anlegen
## Ziel und Rolle im Flow
Erstellt eine neue Aufgabe. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Aufgabentitel** · **Verantwortlich** * · **Fälligkeit** · **Priorität**.
- Erklärungen: So heißt die Aufgabe in der Aufgabenliste. Platzhalter werden ersetzt. · Diese Person oder dieses Team bekommt die Aufgabe. Pflichtfeld. · Bis wann die Aufgabe erledigt sein soll. · Wie dringend die Aufgabe einsortiert wird.
- Beispieloptionen: Team Vertrieb, Team Montage, Team Service, Büro, Sofort, 1 Tag nach Auslöser, 3 Tage nach Auslöser, 1 Woche nach Auslöser, Niedrig, Normal … (+1).
- Dialogbreite im aktuellen Stand: **Medium**.
- Sichtbare Badges: **Aktion**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/9d9f2a55-0d46-4644-ac9f-c63721262fdb/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-a3-aufgabe-zuweisen
screen: "Aufgabe zuweisen"
subframe_name: "K-A3 Aufgabe zuweisen"
subframe_page_id: "94ccafb9-b3d2-4256-907c-f7a95632945a"
typ: "Aktion · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/94ccafb9-b3d2-4256-907c-f7a95632945a/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.766Z"
---
# K-A3 — Aufgabe zuweisen
## Ziel und Rolle im Flow
Ordnet eine Aufgabe einer Person oder einem Team zu. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Welche Aufgabe** · **Neue Verantwortung** * · **Benachrichtigung an (optional)**.
- Erklärungen: Meistens die Aufgabe, die ein früherer Baustein angelegt hat. · Diese Person oder dieses Team übernimmt die Aufgabe. Pflichtfeld. · Wer über die Zuweisung informiert wird.
- Beispieloptionen: Aufgabe aus dem vorherigen Schritt, Bestimmte Aufgabe auswählen, Team Kundendienst, Team Montage, Projektleiter, Ersteller der Aufgabe, Neue Verantwortung, Bisherige Verantwortung, Beide, Niemand.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Aktion**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/94ccafb9-b3d2-4256-907c-f7a95632945a/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,51 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-i1-http-anfrage
screen: "HTTP-Anfrage"
subframe_name: "K-I1 HTTP-Anfrage"
subframe_page_id: "b41d53ea-a101-41c5-8950-cca4fc57ed90"
typ: "Integration · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/b41d53ea-a101-41c5-8950-cca4fc57ed90/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-27T18:30:24.213Z"
---
# K-I1 — HTTP-Anfrage
## Ziel und Rolle im Flow
Ruft einen externen Dienst auf. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Adresse (URL)** * · **Methode** · **Name** · **Wert** · **Daten (optional)**.
- Erklärungen: Die Adresse des externen Dienstes. Pflichtfeld. · GET holt Daten, POST sendet Daten — im Zweifel steht es in der Anleitung des Dienstes. · Diese Daten werden mitgeschickt. Platzhalter sind erlaubt.
- Beispieloptionen: GET, POST, PUT, DELETE.
- Dialogbreite im aktuellen Stand: **Large**.
- Sichtbare Badges: **Integration** · **Profi-Baustein**.
- Weitere sichtbare Zustände/Hinweise: Kopfzeilen (optional) · Zugangsdaten oder Format-Angaben für den Dienst.
## Aktionen und Verknüpfungen
- **Kopfzeile hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Als **Profi-Baustein** gekennzeichnet; technische Details werden in Klartext erklärt.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextArea`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/b41d53ea-a101-41c5-8950-cca4fc57ed90/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,50 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l1-filter
screen: "Filter"
subframe_name: "K-L1 Filter"
subframe_page_id: "d7adb2e6-e7b2-412a-9b3e-884e1968c7d8"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/d7adb2e6-e7b2-412a-9b3e-884e1968c7d8/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-25T16:32:29.851Z"
---
# K-L1 — Filter
## Ziel und Rolle im Flow
Lässt nur passende Datensätze weiter. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Feld** · **Vergleich** · **Wert**.
- Beispieloptionen: PLZ, Status, Name, E-Mail, beginnt mit, ist gleich, enthält, ist nicht gleich.
- Dialogbreite im aktuellen Stand: **Large**.
- Sichtbare Badges: **Logik**.
- Weitere sichtbare Zustände/Hinweise: Bedingungen.
## Aktionen und Verknüpfungen
- **Bedingung hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Der Dialog steht im aktuellen Subframe-Code noch auf `large`; Ziel laut Review ist `medium`.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/d7adb2e6-e7b2-412a-9b3e-884e1968c7d8/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l1-oder
screen: "Oder"
subframe_name: "K-L1 Oder"
subframe_page_id: "6c360480-f4cf-4f3f-85ff-2a9bab994ed0"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/6c360480-f4cf-4f3f-85ff-2a9bab994ed0/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.798Z"
---
# K-L1 — Oder
## Ziel und Rolle im Flow
Wenn mindestens eine Bedingung zutrifft. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Feld** · **Vergleich** · **Wert**.
- Beispieloptionen: Auftragswert, Kundentyp, Region, Priorität, ist gleich, ist größer als, ist kleiner als, enthält.
- Dialogbreite im aktuellen Stand: **Medium**.
- Sichtbare Badges: **Logik** · **Eine reicht**.
- Weitere sichtbare Zustände/Hinweise: Bedingungen · Es reicht, wenn EINE der Zeilen zutrifft. · ODER · Ausgänge · Ja · Mindestens eine Bedingung trifft zu · Nein · Keine der Bedingungen trifft zu.
## Aktionen und Verknüpfungen
- **Bedingung hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/6c360480-f4cf-4f3f-85ff-2a9bab994ed0/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,47 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l1-switch
screen: "Switch"
subframe_name: "K-L1 Switch"
subframe_page_id: "879e169d-839c-450b-adc6-c01a9d3cc2fd"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/879e169d-839c-450b-adc6-c01a9d3cc2fd/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.830Z"
---
# K-L1 — Switch
## Ziel und Rolle im Flow
Verzweigt in mehrere Wege. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Feld prüfen**.
- Erklärungen: Der Wert dieses Feldes entscheidet, welcher Weg genommen wird.
- Beispieloptionen: Anfrageart, Gewerk, Priorität, Region.
- Dialogbreite im aktuellen Stand: **Medium**.
- Sichtbare Badges: **Logik** · **Weg 1** · **Weg 2** · **Weg 3** · **Sonst**.
- Weitere sichtbare Zustände/Hinweise: Wege · Stimmt der Feldwert mit einem Weg überein, geht es dort weiter. · Wenn nichts zutrifft · Der Sonst-Weg fängt alles Übrige auf.
## Aktionen und Verknüpfungen
- **Weg hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/879e169d-839c-450b-adc6-c01a9d3cc2fd/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l1-und
screen: "Und"
subframe_name: "K-L1 Und"
subframe_page_id: "95c4b661-8070-4fb0-90e5-9a60910a7754"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/95c4b661-8070-4fb0-90e5-9a60910a7754/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.789Z"
---
# K-L1 — Und
## Ziel und Rolle im Flow
Wenn alle Bedingungen zutreffen. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Feld** · **Vergleich** · **Wert**.
- Beispieloptionen: Anlagentyp, Auftragswert, Kundentyp, Region, ist gleich, ist größer als, ist kleiner als, enthält.
- Dialogbreite im aktuellen Stand: **Large**.
- Sichtbare Badges: **Logik** · **Alle nötig** · **Ja** · **Nein**.
- Weitere sichtbare Zustände/Hinweise: Bedingungen · UND · Alle Zeilen müssen zutreffen, sonst geht es den Nein-Weg. · AUSGÄNGE · Alle Bedingungen sind erfüllt. · Mindestens eine Bedingung trifft nicht zu.
## Aktionen und Verknüpfungen
- **Bedingung hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/95c4b661-8070-4fb0-90e5-9a60910a7754/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,51 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l1-wenn-dann
screen: "Wenn-Dann"
subframe_name: "K-L1 Wenn-Dann"
subframe_page_id: "7e6bcf69-2938-4cd3-b060-2e0a9695499f"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/7e6bcf69-2938-4cd3-b060-2e0a9695499f/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-25T16:29:30.901Z"
---
# K-L1 — Wenn-Dann
## Ziel und Rolle im Flow
Verzweigt den Ablauf nach einer Bedingung. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Feld** · **Vergleich** · **Wert**.
- Erklärungen: Das Datenfeld, das für diese Bedingung geprüft wird. · Legt fest, wie Feld und Wert verglichen werden. · Jede Zeile ist eine Bedingung. Alle Zeilen müssen zutreffen.
- Beispieloptionen: Angebotswert, Quelle, Status, Tag, ist größer als, ist gleich, ist kleiner als, enthält.
- Dialogbreite im aktuellen Stand: **Medium**.
- Sichtbare Badges: **Logik**.
- Weitere sichtbare Zustände/Hinweise: Bedingungen · Ja → wenn alle Bedingungen zutreffen · Nein → wenn nicht.
## Aktionen und Verknüpfungen
- **Bedingung hinzufügen** · **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Die früher offene Breitenkorrektur ist bereits umgesetzt: aktueller Stand `medium`.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/7e6bcf69-2938-4cd3-b060-2e0a9695499f/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,51 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l2-schleife
screen: "Schleife"
subframe_name: "K-L2 Schleife"
subframe_page_id: "de5b5fa7-bf30-4150-a5b5-5f27d7f37a87"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/de5b5fa7-bf30-4150-a5b5-5f27d7f37a87/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.802Z"
---
# K-L2 — Schleife
## Ziel und Rolle im Flow
Wiederholt die nächsten Schritte für jedes Element. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Liste** · **Höchstens Durchläufe (optional)**.
- Erklärungen: Für jedes Element dieser Liste laufen die Schritte im Weiter-Zweig einmal. · Sicherheitsgrenze, damit die Schleife nicht endlos läuft.
- Beispieloptionen: Alle offenen Aufgaben des Projekts, Alle Kontakte des Projekts, Alle Positionen des Angebots, Alle Termine dieser Woche.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Logik**.
- Weitere sichtbare Zustände/Hinweise: Ausgänge · Weiter · → für jedes Element · Fertig · → wenn alle durch sind.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Dieser Baustein ist nicht mit dem verworfenen separaten Schleifen-/Raten-Warnscreen zu verwechseln; der Konfigurationsdialog selbst bleibt Bestandteil des Katalogs.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/de5b5fa7-bf30-4150-a5b5-5f27d7f37a87/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,45 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l2-warten
screen: "Warten"
subframe_name: "K-L2 Warten"
subframe_page_id: "3b8067ec-1905-4fb6-bafd-e3e414c216b2"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/3b8067ec-1905-4fb6-bafd-e3e414c216b2/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-27T18:15:44.244Z"
---
# K-L2 — Warten
## Ziel und Rolle im Flow
Pausiert den Ablauf. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Dauer** · **Einheit**.
- Beispieloptionen: Minuten, Stunden, Tage, Wochen.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Logik**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `NumberInput`, `Select`, `ToggleGroup`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/3b8067ec-1905-4fb6-bafd-e3e414c216b2/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,45 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-l2-wert-setzen
screen: "Wert setzen"
subframe_name: "K-L2 Wert setzen"
subframe_page_id: "0c2fae48-e2ab-4103-b111-15a3e120adb1"
typ: "Logik · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/0c2fae48-e2ab-4103-b111-15a3e120adb1/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.857Z"
---
# K-L2 — Wert setzen
## Ziel und Rolle im Flow
Merkt sich einen Wert für spätere Schritte. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Name des Werts** · **Wert**.
- Erklärungen: Unter diesem Namen können spätere Schritte den Wert als Platzhalter verwenden. · Der gespeicherte Wert. Platzhalter sind erlaubt.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Logik**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/0c2fae48-e2ab-4103-b111-15a3e120adb1/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t1-kontakt-geandert
screen: "Kontakt geändert"
subframe_name: "K-T1 Kontakt geaendert"
subframe_page_id: "48d85ffd-c90c-4da0-b37a-6b3d2711299d"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/48d85ffd-c90c-4da0-b37a-6b3d2711299d/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-27T12:56:29.920Z"
---
# K-T1 — Kontakt geändert
## Ziel und Rolle im Flow
Startet, wenn sich Kontaktdaten ändern. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Diese Felder beobachten**.
- Erklärungen: Nur Änderungen an diesen Feldern starten die Automation. Ausgegraut, solange »Alle Felder beobachten« an ist.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
- Weitere sichtbare Zustände/Hinweise: Alle Felder beobachten.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `DropdownMenuSelect`, `IconWithBackground`, `MultiSelectTags`, `Switch`, `Tag_Label`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/48d85ffd-c90c-4da0-b37a-6b3d2711299d/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t1-lead-qualifiziert
screen: "Lead qualifiziert"
subframe_name: "K-T1 Lead qualifiziert"
subframe_page_id: "168740c8-c344-40db-9a86-9b8dbb0b86f7"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/168740c8-c344-40db-9a86-9b8dbb0b86f7/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.672Z"
---
# K-T1 — Lead qualifiziert
## Ziel und Rolle im Flow
Startet, wenn ein Lead qualifiziert wird. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Board** · **Qualifizierungs-Stufe**.
- Erklärungen: Leer lassen = gilt für alle Boards. · Erst ab dieser Stufe startet die Automation.
- Beispieloptionen: Alle Boards, Vertrieb SHK, Neue Anfragen, Service & Wartung, Jede Stufe, Warm, Heiß.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/168740c8-c344-40db-9a86-9b8dbb0b86f7/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t1-neue-anfrage
screen: "Neue Anfrage"
subframe_name: "K-T1 Neue Anfrage"
subframe_page_id: "0e6798e1-5daf-4cd4-ac37-0d3c53316ffb"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/0e6798e1-5daf-4cd4-ac37-0d3c53316ffb/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.677Z"
---
# K-T1 — Neue Anfrage
## Ziel und Rolle im Flow
Startet, wenn eine Anfrage eingeht. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Quelle** · **Bereich (optional)**.
- Erklärungen: Leer lassen = jede neue Anfrage zählt, egal woher sie kommt. · Nur Anfragen aus diesem Bereich starten die Automation.
- Beispieloptionen: Alle Quellen, Website-Formular, E-Mail, Manuell, Alle Bereiche, Heizung, Sanitär, Klima.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/0e6798e1-5daf-4cd4-ac37-0d3c53316ffb/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t1-neuer-kontakt
screen: "Neuer Kontakt"
subframe_name: "K-T1 Neuer Kontakt - Mit Beispiel"
subframe_page_id: "b826c642-9b14-4c83-98e0-dba33470852e"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/b826c642-9b14-4c83-98e0-dba33470852e/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-27T12:56:29.814Z"
---
# K-T1 — Neuer Kontakt
## Ziel und Rolle im Flow
Startet, wenn ein Kontakt angelegt wird. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Quelle** · **Nur mit bestimmtem Tag (optional)**.
- Erklärungen: Leer lassen = jeder neue Kontakt zählt. · Nur Kontakte mit diesem Tag lösen die Automation aus.
- Beispieloptionen: Alle Quellen, Manuell angelegt, Import, Formular.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `DropdownMenuSelect`, `IconWithBackground`, `MultiSelectTags`, `Select`, `Tag_Label`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/b826c642-9b14-4c83-98e0-dba33470852e/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t1-projekt-angelegt
screen: "Projekt angelegt"
subframe_name: "K-T1 Projekt angelegt"
subframe_page_id: "6ddca087-0655-4390-b365-47b46796520a"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/6ddca087-0655-4390-b365-47b46796520a/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.687Z"
---
# K-T1 — Projekt angelegt
## Ziel und Rolle im Flow
Startet, wenn ein Projekt erstellt wird. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Board** · **Quelle (optional)**.
- Erklärungen: Leer lassen = gilt für neue Projekte auf allen Boards. · Nur Projekte aus dieser Quelle starten die Automation.
- Beispieloptionen: Alle Boards, Anlagen-Verkauf, Service & Wartung, Sanierung, Alle Quellen, Aus Lead konvertiert, Manuell angelegt.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/6ddca087-0655-4390-b365-47b46796520a/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t1-projekt-gewonnen
screen: "Projekt gewonnen"
subframe_name: "K-T1 Projekt gewonnen"
subframe_page_id: "7dbedd13-7bd9-4203-ac4b-367fe98a0c90"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/7dbedd13-7bd9-4203-ac4b-367fe98a0c90/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.660Z"
---
# K-T1 — Projekt gewonnen
## Ziel und Rolle im Flow
Startet, wenn ein Projekt gewonnen wird. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Board** · **Mindestwert in € (optional)**.
- Erklärungen: Leer lassen = gilt für alle Boards.
- Beispieloptionen: Alle Boards, Vertrieb: Anlagen-Verkauf, Auftrag: Installation, Auftrag: Wartung.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `NumberInput`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/7dbedd13-7bd9-4203-ac4b-367fe98a0c90/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t1-status-gewechselt
screen: "Status gewechselt"
subframe_name: "K-T1 Status gewechselt"
subframe_page_id: "4531af4b-270d-4338-a7aa-9bf9f22acb2a"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/4531af4b-270d-4338-a7aa-9bf9f22acb2a/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.682Z"
---
# K-T1 — Status gewechselt
## Ziel und Rolle im Flow
Startet, wenn eine Karte die Spalte wechselt. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Board** * · **Von Spalte (optional)** · **Nach Spalte** *.
- Erklärungen: Auf diesem Board wird der Spaltenwechsel beobachtet. Pflichtfeld. · Leer lassen = egal, aus welcher Spalte die Karte kommt. · Erst wenn die Karte in dieser Spalte landet, startet die Automation. Pflichtfeld.
- Beispieloptionen: Vertrieb, Aufträge, Wartung, Jede Spalte, Qualifiziert, Vor-Aufmaß, Angebot, Verhandlung, Gewonnen.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/4531af4b-270d-4338-a7aa-9bf9f22acb2a/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t2-ereignis-erstellt
screen: "Ereignis erstellt"
subframe_name: "K-T2 Ereignis erstellt"
subframe_page_id: "6dbde62e-a714-484a-a7c1-eeb45b281537"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/6dbde62e-a714-484a-a7c1-eeb45b281537/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.700Z"
---
# K-T2 — Ereignis erstellt
## Ziel und Rolle im Flow
Startet, wenn ein Kalender-Eintrag entsteht. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Kalender** · **Ereignisart (optional)**.
- Erklärungen: Leer lassen = gilt für alle Kalender im Betrieb. · Nur Einträge dieser Art starten die Automation.
- Beispieloptionen: Alle Kalender, Hauptkalender, Montagekalender, Urlaubskalender, Alle Arten, Termin, Aufgabe, Erinnerung.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/6dbde62e-a714-484a-a7c1-eeb45b281537/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,51 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t2-frist-oder-termin
screen: "Frist oder Termin"
subframe_name: "K-T2 Deadline naht"
subframe_page_id: "4049387e-82e7-46d9-bcc8-1f0623212f4d"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/4049387e-82e7-46d9-bcc8-1f0623212f4d/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-25T15:37:53.237Z"
---
# K-T2 — Frist oder Termin
## Ziel und Rolle im Flow
Startet vor oder nach einer Frist oder einem Termin. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Worauf bezieht sich die Zeit?** * · **Abstand** * · **Wann genau** *.
- Erklärungen: Welche Frist oder welcher Termin beobachtet wird. Pflichtfeld. · »Vorher« erinnert rechtzeitig. »Danach« mahnt, wenn die Frist gerissen ist. Pflichtfeld.
- Beispieloptionen: Aufgaben-Fälligkeit, Projekt-Deadline, Zahlungsziel, Termin, Stunden vorher, Tage vorher, Wochen vorher, Stunden danach, Tage danach, Wochen danach.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Der sichtbare Inhalt heißt bereits **„Frist oder Termin“**. Nur der Subframe-Seitenname ist noch veraltet und muss dort manuell umbenannt werden.
- Das Feld „Abstand“ bleibt wegen der festen NumberInput-Breite ein Layout-Reviewpunkt.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `NumberInput`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/4049387e-82e7-46d9-bcc8-1f0623212f4d/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t2-termin-gebucht
screen: "Termin gebucht"
subframe_name: "K-T2 Termin gebucht"
subframe_page_id: "4f65190b-0088-4774-b0d4-47c2548b9e1f"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/4f65190b-0088-4774-b0d4-47c2548b9e1f/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.691Z"
---
# K-T2 — Termin gebucht
## Ziel und Rolle im Flow
Startet, wenn ein Termin gebucht wird. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Terminart** · **Mitarbeiter (optional)**.
- Erklärungen: Leer lassen = jeder gebuchte Termin zählt. · Nur Termine bei dieser Person starten die Automation.
- Beispieloptionen: Alle Terminarten, Vor-Ort-Termin, Beratung, Wartung, Alle Mitarbeiter, Markus Weber, Sandra Kern, Tobias Brand.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/4f65190b-0088-4774-b0d4-47c2548b9e1f/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t2-termin-storniert
screen: "Termin storniert"
subframe_name: "K-T2 Termin storniert"
subframe_page_id: "ecfcc5d9-fa76-401d-ba4f-cae76cbdff69"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/ecfcc5d9-fa76-401d-ba4f-cae76cbdff69/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.696Z"
---
# K-T2 — Termin storniert
## Ziel und Rolle im Flow
Startet, wenn ein Termin abgesagt wird. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Terminart** · **Storniert durch**.
- Erklärungen: Leer lassen = jede Absage zählt. · Wessen Absagen die Automation starten sollen.
- Beispieloptionen: Alle Terminarten, Beratung, Aufmaß, Montage, Wartung, Kunde und intern, Nur Kunde, Nur intern.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/ecfcc5d9-fa76-401d-ba4f-cae76cbdff69/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,50 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t2-zeitplan
screen: "Zeitplan"
subframe_name: "K-T2 Zeitplan monatlich"
subframe_page_id: "742004f9-97d5-446a-862a-3db1886ade6c"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/742004f9-97d5-446a-862a-3db1886ade6c/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.889Z"
---
# K-T2 — Zeitplan
## Ziel und Rolle im Flow
Startet zu festen Zeiten, z. B. am 1. jedes Monats. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Wiederholung** · **Tag im Monat** * · **Uhrzeit** *.
- Erklärungen: Wie oft die Automation von selbst laufen soll. · An diesem Tag im Monat läuft die Automation. Pflichtfeld. · Zu dieser Uhrzeit startet der Lauf. Pflichtfeld.
- Beispieloptionen: Wiederholung täglich/wöchentlich/monatlich; Monatstag 1–28 oder letzter Tag; Uhrzeiten 06:00–18:00 in 30-Minuten-Schritten.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Bedeutende Zustandsvariante von [[K-T2 Zeitplan]]: Monatstag und Uhrzeit statt Wochentagen.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/742004f9-97d5-446a-862a-3db1886ade6c/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t2-zeitplan
screen: "Zeitplan"
subframe_name: "K-T2 Zeitplan"
subframe_page_id: "69a04a7d-11e1-4507-97db-79556a4058a1"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/69a04a7d-11e1-4507-97db-79556a4058a1/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-27T12:56:30.025Z"
---
# K-T2 — Zeitplan
## Ziel und Rolle im Flow
Startet zu festen Zeiten, z. B. montags 8 Uhr. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Wiederholung** · **Wochentage** * · **Uhrzeit** *.
- Erklärungen: Wie oft die Automation von selbst laufen soll. · An diesen Tagen läuft die Automation. Wird nur bei »Wöchentlich« angezeigt. Pflichtfeld. · Zu dieser Uhrzeit startet der Lauf. Pflichtfeld. VORLÄUFIG: Dropdown in 30-Minuten-Schritten, weil dem Baukasten eine Uhrzeit-Komponente fehlt.
- Beispieloptionen: Täglich, Wöchentlich, Monatlich, 06:00, 06:30, 07:00, 07:30, 08:00, 08:30, 09:00.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `DropdownMenuSelect`, `IconWithBackground`, `MultiSelectTags`, `Select`, `Tag_Label`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/69a04a7d-11e1-4507-97db-79556a4058a1/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,50 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t3-e-mail-eingegangen
screen: "E-Mail eingegangen"
subframe_name: "K-T3 E-Mail eingegangen"
subframe_page_id: "19182d3b-ae54-4327-b8a7-bc2f7a525e8e"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/19182d3b-ae54-4327-b8a7-bc2f7a525e8e/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.721Z"
---
# K-T3 — E-Mail eingegangen
## Ziel und Rolle im Flow
Startet, wenn eine E-Mail ankommt. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Postfach** · **Betreff enthält (optional)** · **Absender enthält (optional)**.
- Erklärungen: Dieses Postfach wird auf neue E-Mails beobachtet. · Nur E-Mails, deren Betreff diesen Text enthält, starten die Automation. · Nur E-Mails von passenden Absendern zählen.
- Beispieloptionen: info@betrieb.de, service@betrieb.de, angebot@betrieb.de.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser** · **Ab v2**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Die Seite trägt das Badge **„Ab v2“** und bleibt bis zur Postfach-Anbindung ein transparenter Zukunftsbaustein.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/19182d3b-ae54-4327-b8a7-bc2f7a525e8e/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,50 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t3-e-mail-unzustellbar
screen: "E-Mail unzustellbar"
subframe_name: "K-T3 E-Mail unzustellbar"
subframe_page_id: "b53d974b-f3d4-43f8-9118-879d165c475f"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/b53d974b-f3d4-43f8-9118-879d165c475f/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.726Z"
---
# K-T3 — E-Mail unzustellbar
## Ziel und Rolle im Flow
Startet, wenn eine Kampagnen-Mail nicht ankommt. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Kampagne** · **Art der Unzustellbarkeit**.
- Erklärungen: Leer lassen = gilt für alle laufenden Kampagnen. · Dauerhaft = Adresse existiert nicht mehr. Vorübergehend = z. B. Postfach voll.
- Beispieloptionen: Alle Kampagnen, Frühjahrs-Aktion Wärmepumpe, Newsletter Bestandskunden, Wartungs-Erinnerung, Beide, Dauerhaft (hart), Vorübergehend (weich).
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Varianten und offene Punkte
- Der Auslöser hängt fachlich von Kampagnen- und Bounce-Tracking ab.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/b53d974b-f3d4-43f8-9118-879d165c475f/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,47 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t3-formular-abgeschickt
screen: "Formular abgeschickt"
subframe_name: "K-T3 Formular abgeschickt"
subframe_page_id: "ece5c3ef-81e4-430b-af86-6317c9921963"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/ece5c3ef-81e4-430b-af86-6317c9921963/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-21T16:47:42.731Z"
---
# K-T3 — Formular abgeschickt
## Ziel und Rolle im Flow
Startet, wenn ein Formular eingeht. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Formular** *.
- Erklärungen: Dieses Formular wird beobachtet. Formulare verwaltest du im Formular-Baukasten. Pflichtfeld.
- Beispieloptionen: Kontaktformular Website, Heizungs-Anfrage, Service-Anfrage.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser**.
- Weitere sichtbare Zustände/Hinweise: Daten aus dem Formular.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `Select`, `Tag_Label`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/ece5c3ef-81e4-430b-af86-6317c9921963/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,45 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: k-t3-webhook-empfangen
screen: "Webhook empfangen"
subframe_name: "K-T3 Webhook empfangen"
subframe_page_id: "cd8330f6-1acb-4dd2-bd56-7f2f159d506b"
typ: "Auslöser · Konfigurationsdialog"
umsetzung: Bauen
status: "Fertig / Development-Handoff - Hinweise dokumentiert"
route: "Dialog über /automations/:id/edit"
subframe: "https://app.subframe.com/f023064a5ca0/design/cd8330f6-1acb-4dd2-bd56-7f2f159d506b/edit"
source_checked: 2026-08-04
subframe_last_modified: "2026-07-25T16:06:32.663Z"
---
# K-T3 — Webhook empfangen
## Ziel und Rolle im Flow
Startet, wenn ein externes System ruft. Der Dialog konfiguriert den Baustein, nachdem er über [[S01b Baustein-Picker]] in [[S01 Flow-Editor]] gewählt oder dort geöffnet wurde.
## Sichtbare Struktur und Daten
- Felder: **Webhook-Adresse** · **Sicherheitsschlüssel**.
- Erklärungen: Diese Adresse gibst du im externen System ein. Sie wird automatisch erzeugt. · Damit prüft HiveGrid, dass der Aufruf wirklich vom externen System kommt.
- Dialogbreite im aktuellen Stand: **Standard**.
- Sichtbare Badges: **Auslöser** · **Profi-Baustein**.
## Aktionen und Verknüpfungen
- **Abbrechen** · **Übernehmen**.
- Gehört zum vollständigen Dialogkatalog [[S05 Baustein-Konfig-Panels]] und zur Detailwahrheit [[S05a Baustein-Konfig Vorplanung]].
- Nach „Übernehmen“ zurück zum Flow-Editor; „Abbrechen“ verwirft die lokale Eingabe.
## Verwendete Komponenten
`BadgeFeedback`, `Button`, `Dialog`, `IconWithBackground`, `TextInput`, `DialogLayout`
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/cd8330f6-1acb-4dd2-bd56-7f2f159d506b/edit)
- [P12-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,45 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: M04
screen: Vorlagen-Katalog
typ: Modal + Karten-Liste
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "Modal über »Vorlagen« in der Automation-Liste"
subframe_name: "M04 Vorlagen-Katalog"
subframe_page_id: "04ceb95c-f8a0-4047-860c-8f1a1c12252c"
subframe: "https://app.subframe.com/f023064a5ca0/design/04ceb95c-f8a0-4047-860c-8f1a1c12252c/edit"
source_checked: 2026-08-04
---
# M04 — Vorlagen-Katalog
## Ziel
Den gemeinsamen Vorlagenbestand direkt aus [[S01 Automation-Liste]] heraus durchsuchen, verwenden und verwalten, ohne die Seite zu verlassen.
## Finaler Aufbau
- Eigenständiges Modal mit Titel, Erklärung und Schließen-X.
- Vier konkrete Dummy-Vorlagen mit Name, Kurzbeschreibung, Kategorien und sichtbarer Schrittfolge.
- Filter Bar für Suche und Kategorie.
- Keine Trennung oder Tabs für Standard- und eigene Vorlagen.
- Drei-Punkte-Menü je Karte mit Verwenden, Duplizieren, Umbenennen und Löschen.
- „Vorlage verwenden“ öffnet [[S01 Flow-Editor]] vorbefüllt.
## Vorlagen
- Neue Anfrage nachfassen.
- Angebot automatisch nachverfolgen.
- Terminbestätigung senden.
- Neue Leads dem Vertrieb zuweisen.
[[M03 Start-Auswahl]] ist der separate Anlegekontext. Die finale M03-Seite bietet eine Beispielvorlage als Alternative zum Leerstart; M04 ist der vollständige Verwaltungszugang mit allen vier Vorlagen.
## Subframe
- [Finales Modal öffnen](https://app.subframe.com/f023064a5ca0/design/04ceb95c-f8a0-4047-860c-8f1a1c12252c/edit)
- [Verwaltungs-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit)
@@ -0,0 +1,50 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: S01
screen: Automation-Liste
typ: Liste
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "/automations"
subframe_name: "S01 Automation-Liste"
subframe_page_id: "333d4c20-5189-4b10-b3b1-165726c5abb8"
subframe: "https://app.subframe.com/f023064a5ca0/design/333d4c20-5189-4b10-b3b1-165726c5abb8/edit"
source_checked: 2026-08-04
---
# S01 — Automation-Liste
## Ziel
Alle Automationen und ihren Zustand auf einen Blick sehen.
## Gemeinsamer Funktionsumfang
- Automationsname, eigener Auslöser, Status, Aktivität und verantwortliches Profilbild.
- „Aktivität“ bündelt Läufe der letzten 30 Tage und den Zeitpunkt der letzten Ausführung.
- Suche und Filter werden ausschließlich über die vorhandene Subframe-Komponente „Filter Bar“ dargestellt.
- Kopfaktionen in dieser Reihenfolge: „Zugangsdaten“, „Vorlagen“, „Neue Automation“.
- „Neue Automation“ → [[M03 Start-Auswahl]] als Modal.
- Automation öffnen → [[S01 Flow-Editor]].
- Läufe öffnen → [[S02 Lauf-Liste]].
- „Vorlagen“ → [[M04 Vorlagen-Katalog]] als Modal.
- „Zugangsdaten“ → [[S06 Zugangsdaten]].
- Leerzustand mit klarem Start-CTA.
## Finaler Screen
[V3](https://app.subframe.com/f023064a5ca0/design/333d4c20-5189-4b10-b3b1-165726c5abb8/edit) verbindet die KPI-Leiste und den expliziten Auslöser mit der kompakten Aktivitätsdarstellung. Sie nutzt die echte Filter-Bar-Komponente und zeigt Verantwortliche ausschließlich als Avatare.
## Entscheidung 2026-08-04
**V3 ist die Zielrichtung.** Übernommen wurden die Kennzahlen und der explizite Auslöser aus V1 sowie Namensdarstellung und gebündelte Aktivität aus V2. Die endgültige Tabelle besitzt genau „Automation“, „Auslöser“, „Status“, „Aktivität“, „Verantwortlich“ und „Aktionen“. Vor Automationsnamen und in den Tabellenüberschriften stehen keine dekorativen Icons; „Verantwortlich“ zeigt nur das Profilbild ohne Namen.
Die beiden vorausgehenden Entwurfsseiten V1 und V2 wurden nach der Bestätigung aus Subframe gelöscht. V3 ist der einzige verbleibende S01-Screen.
## Subframe
- [Finalen Screen öffnen](https://app.subframe.com/f023064a5ca0/design/333d4c20-5189-4b10-b3b1-165726c5abb8/edit)
- [Verwaltungs-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit)
@@ -0,0 +1,50 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: S02
screen: Lauf-Liste
typ: Liste
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "/automations/:id/executions"
subframe_name: "S02 Lauf-Liste"
subframe_page_id: "c5afe1a5-b6e1-4570-97f1-d3e21fc3807f"
subframe: "https://app.subframe.com/f023064a5ca0/design/c5afe1a5-b6e1-4570-97f1-d3e21fc3807f/edit"
source_checked: 2026-08-04
---
# S02 — Lauf-Liste
## Ziel
Die letzten Ausführungen genau einer Automation schnell prüfen, den jeweiligen Auslöser und betroffenen Datensatz erkennen und einen Lauf öffnen.
## Gemeinsamer Funktionsumfang
- Jede Tabellenzeile steht für eine vollständige Ausführung der im Seitenkopf genannten Automation – nicht für einen einzelnen Schritt.
- Startzeit, Auslöser, betroffene Person bzw. betroffener Datensatz, Status und Dauer.
- Filter nach Status, Zeitraum und Auslöser.
- Suche sowie Leer-/Keine-Treffer-Zustand.
- Zeile öffnen → [[S03 Lauf-Detail]]; erst dort werden die einzelnen Schritte dieser Ausführung gezeigt.
- Zurück zu [[S01 Flow-Editor]] bzw. [[S01 Automation-Liste]].
## Produktbeziehung
Die Lauf-Liste bleibt als eigener Screen und eigene Route erhalten. Der „Aktivität“-Eintrag im Editor kann dorthin navigieren; er ersetzt diese Seite nicht.
## Finaler Screen
[V3](https://app.subframe.com/f023064a5ca0/design/c5afe1a5-b6e1-4570-97f1-d3e21fc3807f/edit) nutzt die echte „Filter Bar“, fünf ruhige Spalten, vollständigen Ausführungskontext und ein Drei-Punkte-Menü. Die Seite erklärt ausdrücklich „eine Zeile = ein Lauf“ und zeigt Auslöser plus Datensatz statt eines missverständlichen Einzelergebnisses.
## Entscheidung 2026-08-04
**V3 ist die Zielrichtung.** Die Seite gehört zu genau einer Automation, jede Zeile ist eine ihrer Ausführungen und die einzelnen Schritte liegen im Laufdetail. Die Spalte heißt „Status“ und verwendet „Wird ausgeführt“, „Wartet“, „Abgeschlossen“ und „Fehlgeschlagen“. „Wartet“ erhält keine zusätzliche Unterzeile. Das Zeilenmenü enthält „Laufdetails öffnen“, „Erneut ausführen“ und „Lauf-ID kopieren“; es gibt keine Löschaktion.
Die vorausgehenden Entwurfsseiten V1 und V2 wurden nach der Bestätigung aus Subframe gelöscht. V3 ist der einzige verbleibende S02-Screen.
## Subframe
- [Finalen Screen öffnen](https://app.subframe.com/f023064a5ca0/design/c5afe1a5-b6e1-4570-97f1-d3e21fc3807f/edit)
- [Verwaltungs-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: S03
screen: Lauf-Detail
typ: Detail + Timeline
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "/automations/:id/executions/:exec_id"
subframe_name: "S03 Lauf-Detail"
subframe_page_id: "118793cf-a1e1-43d4-9c54-8bf06de56a6a"
subframe: "https://app.subframe.com/f023064a5ca0/design/118793cf-a1e1-43d4-9c54-8bf06de56a6a/edit"
source_checked: 2026-08-04
---
# S03 — Lauf-Detail
## Ziel
Genau einen Automationslauf Schritt für Schritt in verständlichem Deutsch nachvollziehen.
## Beziehung zur Lauf-Liste
[[S02 Lauf-Liste]] zeigt mehrere vollständige Ausführungen derselben Automation. S03 öffnet genau eine Ausführung und zerlegt sie in Auslöser, Schritte, Ein-/Ausgaben, Laufdaten und gegebenenfalls Fehlerbehebung.
## Finaler Aufbau
- Kopf mit Laufdatum, Status, Automation und kurzer Ergebniszusammenfassung.
- Vier kompakte Accordion-Schritte mit Status und Dauer.
- Eingabe, Ausgabe und Details werden erst beim Aufklappen sichtbar.
- Der fehlgeschlagene Schritt ist geöffnet; die eigentliche Fehlermeldung steht direkt dort.
- Die rechte Spalte enthält Laufdaten und getrennt davon die Fehlerhilfe.
- „Schritt erneut ausführen“ liegt im Drei-Punkte-Menü des einzelnen Schritts.
- Keine Rückgängig-, Rollback- oder globale Wiederhol-Funktion.
- Zurück zu [[S02 Lauf-Liste]] und Bearbeiten in [[S01 Flow-Editor]].
## Beispielzustand
Der Lauf „Neue Website-Anfrage nachfassen“ schlägt in Schritt 4 „Aufgabe zuweisen“ fehl, weil dem Vertriebsteam keine zuständige Person hinterlegt ist. Die Fehlerhilfe verweist auf die Team-Einstellungen und anschließend auf das Schrittmenü.
## Subframe
- [Finalen Screen öffnen](https://app.subframe.com/f023064a5ca0/design/118793cf-a1e1-43d4-9c54-8bf06de56a6a/edit)
- [Verwaltungs-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit)
@@ -0,0 +1,53 @@
---
kind: screen-index
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: S05
screen: Baustein-Konfigurationsdialoge
typ: Screen-Familie
umsetzung: Bauen
status: Fertig / Development-Handoff - 32 Seiten vollständig erfasst
route: "Dialog über dem Flow-Editor"
subframe: "https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit"
source_checked: 2026-08-04
---
# S05 — Baustein-Konfigurationsdialoge
## Ziel
Je Bausteintyp ein verständliches Formular. Klick auf einen Baustein in [[S01 Flow-Editor]] öffnet den passenden Dialog.
## Bestand
Der Live-Flow enthält **32 Konfigurationsseiten**:
- 17 Auslöser einschließlich der Monatsvariante von Zeitplan.
- 6 Aktionen.
- 8 Logikdialoge.
- 1 Integration.
Alle 32 besitzen jetzt eine eigene Obsidian-Screen-Datei mit direkter Subframe-Page-ID und sind im [Verwaltungs-Canvas](<../WF-P12 Verwaltung.canvas>) gruppiert. Der vollständige Katalog und die Reviewhistorie stehen in [[S05a Baustein-Konfig Vorplanung]].
## Gemeinsames Muster
- Echter Modal-Dialog statt rechtem Inspector-Panel.
- Titel, Kategorie-Badge und Klartext-Untertitel.
- Typabhängige Felder mit Labels, Helptexten und Pflichtfeldkennzeichnung.
- Einheitlich grüner Erklär-/Hilfeblock.
- Abbrechen und Übernehmen im Footer.
- Bedeutende Zustandsvarianten erhalten eine eigene Seite, zum Beispiel [[K-T2 Zeitplan monatlich]].
## Bekannte nicht blockierende Hinweise
- [[K-T2 Frist oder Termin]]: NumberInput-Layout und veralteter Subframe-Seitenname.
- [[K-A1 Datensatz aendern]]: veralteter Subframe-Seitenname.
- [[K-A2 Benachrichtigung senden]] und [[K-A2 E-Mail senden]]: TextArea-Breite/-Höhe.
- [[K-L1 Filter]]: Dialogbreite noch „large“.
Der [[S01b Baustein-Picker]] ist seit 2026-08-03 mit allen 31 Bausteinen, Du-Ansprache und den abgestimmten Namen synchronisiert.
## Subframe
- [P12-Flow mit allen Dialogen öffnen](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit)
@@ -0,0 +1,312 @@
---
kind: screen-index
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: S05a
screen: Baustein-Konfig Vorplanung (Katalog aller Panels)
typ: Vorplanung / Katalog
umsetzung: Planen
status: Fertig / Development-Handoff - bekannte Hinweise dokumentiert
route: "Modal über dem Flow-Editor (Dialog-Komponente, Klick auf Baustein)"
source_checked: 2026-08-04
---
# S05a — Baustein-Konfig Vorplanung
Aktueller Katalog der **32 gebauten Subframe-Seiten**: 31 Bausteine plus die bedeutende Monatsvariante des Zeitplans. Jede Seite besitzt seit dem MCP-Abgleich vom 2026-08-03 eine eigene Obsidian-Screen-Datei.
Verwandt: [[S05 Baustein-Konfig-Panels]] als Screen-Index und [[S01 Flow-Editor]] als Nutzungskontext. Die 32 eigenen Obsidian-Screens stehen einzeln im Verwaltungs-Canvas; die direkten Subframe-Links sind unten vollständig aufgeführt.
---
## Farbschema der Kategorien (aus der Planung)
| Kategorie | Farbe | Anzahl |
|---|---|---|
| Auslöser inkl. Monatsvariante | Grün | 17 |
| Aktionen: Daten & CRM | Rot | 2 |
| Aktionen: Kommunikation | Blau | 2 |
| Aktionen: Aufgaben | Gelb | 2 |
| Logik | Violett | 8 |
| Integration | Grau | 1 |
> ✅ **Entschieden (Dejan, 2026-07-13, mit Mandat von David): Dieses Schema gilt.** Die Konfigurationsdialoge und der am 2026-08-03 ersetzte **Baustein-Picker** folgen diesem Muster.
---
## Archetypen (Muster-Panels)
| # | Archetyp | Grundaufbau des Panels |
|---|---|---|
| T1 | Datensatz-Auslöser | Filter-Abschnitt: welche Datensätze zählen (Quelle, Pipeline, Feld). Kein Pflichtfeld nötig — läuft auch ungefiltert. |
| T2 | Zeit-/Termin-Auslöser | Zeitbezug: Vorlauf (»3 Tage vorher«), Terminart, bzw. Wiederholungsregel beim Zeitplan. |
| T3 | Eingangs-Auslöser (E-Mail/Formular/Webhook) | Quelle wählen (Postfach, Formular, Webhook-URL anzeigen) + Vorschau der ankommenden Daten (Payload-Felder als Chips für spätere Schritte). |
| A1 | Datensatz-Aktion | Ziel-Datensatz wählen + Feld-Zuordnung (welches Feld bekommt welchen Wert, mit Platzhalter-Chips). |
| A2 | Kommunikations-Aktion | Kanal (E-Mail/Push/intern), Empfänger, Betreff/Text mit Platzhalter-Chips. |
| A3 | Aufgaben-Aktion | Muster existiert (S05): Titel, Verantwortlich (Pflicht), Fälligkeit, Priorität, Notiz. |
| L1 | Bedingungs-Logik | Bedingungszeilen: Feld · Operator · Wert (+ Zeile hinzufügen). Klartext-Zusammenfassung. |
| L2 | Ablauf-Logik | Ein Hauptwert: Dauer (Warten), Liste (Schleife), Variable + Wert (Wert setzen). |
| I1 | Integration | Technischer: URL, Methode, Kopfzeilen/Payload — bewusst als »Profi-Baustein« gekennzeichnet. |
Jedes Panel hat einheitlich: Kopf (Kategorie-farbiges Icon, Name, Klartext-Untertitel, Schließen), Suchfeld entfällt, Pflichtfeld-Validierung inline + Badge am Baustein, »So liest es sich«-Satz unten, Fuß mit Übernehmen/Abbrechen.
---
## Katalog: 31 Bausteine + 1 Zustandsvariante
> Die Spalte »Konfig-Felder« beschreibt den **aktuell gebauten Stand**. Sie wird bei jeder Validierungsrunde nachgezogen. `*` = Pflichtfeld. Zuletzt aktualisiert 2026-07-13 (Blöcke K-T1 und K-T2).
### Auslöser (Grün)
| Baustein | Kurzbeschreibung (Karte) | Ausgänge | Archetyp | Konfig-Felder (Panel) |
|---|---|---|---|---|
| Neuer Kontakt | Wenn ein Kontakt angelegt wird | 1 | T1 | Quelle (alle/manuell/Import/Formular), optional Tag-Filter |
| Kontakt geändert | Wenn sich Kontaktdaten ändern | 1 | T1 | **Schalter »Alle Felder beobachten«** + Feld-Auswahl als Tags (ausgegraut, solange der Schalter an ist) — geändert 07-13 |
| Neue Anfrage | Wenn eine Anfrage eingeht | 1 | T1 | Quelle (Website-Formular/E-Mail/manuell), optional Bereich |
| Lead qualifiziert | Wenn ein Lead qualifiziert wird | 1 | T1 | **Board**, Qualifizierungs-Stufe — »Pipeline« umbenannt 07-13 |
| Projekt gewonnen | Wenn ein Projekt gewonnen wird | 1 | T1 | Board, optional Mindestwert (**Zahlenfeld**, nicht Text) — geändert 07-13 |
| Status gewechselt | Wenn eine Karte die Spalte wechselt | 1 | T1 | Board `*`, von Spalte (optional), nach Spalte `*` — Pflichtfelder ergänzt 07-13 |
| Projekt angelegt | Wenn ein Projekt erstellt wird | 1 | T1 | Board, optional Quelle |
| **Frist oder Termin** | Vor oder nach einer Frist / einem Termin | 1 | T2 | Bezug `*` (Aufgaben-Fälligkeit / Projekt-Deadline / Zahlungsziel / **Termin**), Abstand `*` (Zahl) + Einheit `*` (Stunden/Tage/Wochen **vorher oder danach**) — **ersetzt »Deadline naht« 07-13**; deckt Terminerinnerung und Mahnwesen mit ab |
| E-Mail eingegangen | Wenn eine E-Mail ankommt | 1 | T3 | Postfach, optional Betreff-/Absender-Filter. **Badge »Ab v2« + Hinweisbox**: braucht das Postfach (Postfach-Sync = v2, → P23). In v1 einrichtbar, aber nicht auslösbar. |
| E-Mail unzustellbar | Wenn eine Kampagnen-Mail bounct | 1 | T3 | Kampagne (alle oder Auswahl), Art der Unzustellbarkeit (dauerhaft/vorübergehend). **Abhängigkeit**: braucht D-KAMP (Kampagnen) + D-P14 (Bounce-Tracking) — beide v1, aber noch nicht gebaut. |
| Formular abgeschickt | Wenn ein Formular eingeht | 1 | T3 | Formular `*` (aus D-FORM), Felder-Vorschau als Chips — Pflichtfeld ergänzt 07-16 |
| Termin gebucht | Wenn ein Termin gebucht wird | 1 | T2 | Terminart, optional Mitarbeiter |
| Termin storniert | Wenn ein Termin abgesagt wird | 1 | T2 | Terminart, Storno durch (Kunde/intern/beide) |
| Ereignis erstellt | Wenn ein Kalender-Eintrag entsteht | 1 | T2 | Kalender, Ereignisart |
| Zeitplan | Zu festen Zeiten, z. B. montags 8 Uhr | 1 | T2 | Wiederholung `*`; **Felder wechseln je nach Wiederholung**: täglich → nur Uhrzeit `*`; wöchentlich → Wochentage `*` + Uhrzeit `*`; monatlich → Tag im Monat `*` + Uhrzeit `*`. Die Monatsvariante ist als [[K-T2 Zeitplan monatlich]] gebaut. |
| Webhook empfangen | Wenn ein externes System ruft | 1 | T3 | Webhook-URL (generiert, kopierbar), Secret, Beispiel-Payload-Vorschau |
### Aktionen: Daten & CRM (Rot)
| Baustein | Kurzbeschreibung | Ausgänge | Archetyp | Konfig-Felder |
|---|---|---|---|---|
| **Datensatz ändern** | Datensatz aktualisieren | 1 | A1 | Welcher Datensatz (Kontakt/Projekt/Auftrag, aus Auslöser/suchen), Feld-Zuordnungen (Feld → neuer Wert, Platzhalter) — **umbenannt von »Kontakt ändern« 07-16** |
| Notiz anlegen | Notiz am Datensatz speichern | 1 | A1 | Ziel-Datensatz, Notiztext `*` (Platzhalter), optional sichtbar für — Pflichtfeld ergänzt 07-16 |
### Aktionen: Kommunikation (Blau)
| Baustein | Kurzbeschreibung | Ausgänge | Archetyp | Konfig-Felder |
|---|---|---|---|---|
| Benachrichtigung senden | **Intern**: Push oder in der App | 1 | A2 | Weg (Push/In-App/Beide), Empfänger `*` (Ich/Person/Team/Verantwortliche aus Auslöser), Titel, Nachricht `*` — **auf intern beschränkt 07-16** (E-Mail an Kunden hat eigenen Baustein) |
| **E-Mail senden** | **Extern**: E-Mail an einen Kontakt | 1 | A2 | Empfänger `*` (Kontakt), Absender `*` (Postfach-Adresse), Betreff `*`, Nachricht `*` (Platzhalter), optional Anhang — **neuer Baustein 07-16** |
### Aktionen: Aufgaben (Gelb)
| Baustein | Kurzbeschreibung | Ausgänge | Archetyp | Konfig-Felder |
|---|---|---|---|---|
| Aufgabe anlegen | Neue Aufgabe erstellen | 1 | A3 | Titel (Platzhalter), Verantwortlich (Pflicht), Fälligkeit, Priorität, Notiz — Muster existiert |
| Aufgabe zuweisen | Person oder Team zuordnen | 1 | A3 | Welche Aufgabe (aus vorherigem Schritt), neue Person/Team (Pflicht), optional Benachrichtigung an |
### Logik (Violett)
| Baustein | Kurzbeschreibung | Ausgänge | Archetyp | Konfig-Felder |
|---|---|---|---|---|
| Wenn-Dann | Verzweigt nach Bedingung | Ja / Nein | L1 | Bedingungszeilen (Feld · Operator · Wert) |
| Oder | Wenn mind. eine Bedingung zutrifft | Ja / Nein | L1 | Bedingungszeilen, Hinweis »eine reicht« |
| Und | Wenn alle Bedingungen zutreffen | Ja / Nein | L1 | Bedingungszeilen, Hinweis »alle nötig« |
| Switch | Mehrere Pfade verzweigen | 1 / 2 / 3 … | L1 | Feld wählen + je Pfad ein Wert (+ Pfad hinzufügen, Sonst-Pfad) |
| Filter | Datensätze filtern | 1 | L1 | Bedingungszeilen; Klartext »nur weiter, wenn …« |
| Warten | Pausiert, z. B. 3 Tage | 1 | L2 | Dauer (Zahl + Einheit) oder bis Datum/Uhrzeit aus Feld |
| Schleife | Für jedes Element wiederholen | Weiter / Fertig | L2 | Liste wählen (z. B. alle Aufgaben des Projekts), max. Durchläufe |
| Wert setzen | Variable setzen oder lesen | 1 | L2 | Variablenname, Wert (Platzhalter erlaubt) |
### Integration (Grau)
| Baustein | Kurzbeschreibung | Ausgänge | Archetyp | Konfig-Felder |
|---|---|---|---|---|
| HTTP-Anfrage | Externen Dienst aufrufen | 1 | I1 | URL (Pflicht), Methode, Kopfzeilen, Payload (Platzhalter), Antwort-Vorschau |
| An KWP übergeben | Projekt an KWP senden | 1 | — | **ab v2** — nur Registry-Eintrag, kein Konfig-UI (v1-Grenze, s. S05-Notiz) |
---
## Handoff-Hinweise
1. Die 32 gebauten Seiten sind Bestandteil des Development-Handoffs; bekannte Detailpunkte unten sind nicht blockierend.
2. ~~Picker gegen die 31 Bausteine abgleichen.~~ Erledigt am 2026-08-03: 31/31 Einträge, Kategorien, Namen und Du-Ansprache verifiziert.
3. Die zwei abweichenden Subframe-Seitennamen von Hand korrigieren: `K-T2 Deadline naht` → `K-T2 Frist oder Termin` und `K-A1 Kontakt aendern` → `K-A1 Datensatz aendern`.
4. KWP bleibt ein Registry-Eintrag ohne Konfigurationsdialog und zählt deshalb nicht zu den 32 Seiten.
## Umsetzungsstand Subframe (2026-07-12)
- **Entscheidung (David, 2026-07-12): Konfig als MODAL** (Dialog-Komponente), nicht rechtes Panel/Drawer — n8n-Muster: Klick auf Baustein öffnet Dialog.
- **32 Seiten gebaut** (31 Bausteine plus Monatsvariante; KWP ohne UI): Benennung »K-<Archetyp> <Name>« im Flow [WF-P12 Workflow Engine](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit).
- Muster/Blaupause: **K-T1 Neuer Kontakt** (Dialog.Content ohne Overrides = 560 px/16 px/24 px laut Layout-Regeln, Labels + Helptexte über Komponenten-Props, jede Feld-Erklärung als helpText, Erklärungs-Box mit Fragezeichen in Kategoriefarbe, Fuß rechts: Abbrechen/Übernehmen). Größere Panels (Kontakt ändern, Benachrichtigung, Aufgabe anlegen, Wenn-Dann, Switch, HTTP) mit `size="medium"` = 720 px.
- MCP-Readback aller 32 Seiten am 2026-08-03 abgeschlossen; am 2026-08-04 in den gemeinsamen Workflow-Engine-Handoff übernommen.
## Subframe-Links aller 32 Seiten (Stand 2026-08-03, per MCP verifiziert)
### Auslöser (17 Seiten)
| Baustein | Subframe |
|---|---|
| K-T1 Neuer Kontakt (Blaupause) | [Dialog](https://app.subframe.com/f023064a5ca0/design/b826c642-9b14-4c83-98e0-dba33470852e/edit) |
| K-T1 Kontakt geaendert | [Dialog](https://app.subframe.com/f023064a5ca0/design/48d85ffd-c90c-4da0-b37a-6b3d2711299d/edit) |
| K-T1 Neue Anfrage | [Dialog](https://app.subframe.com/f023064a5ca0/design/0e6798e1-5daf-4cd4-ac37-0d3c53316ffb/edit) |
| K-T1 Lead qualifiziert | [Dialog](https://app.subframe.com/f023064a5ca0/design/168740c8-c344-40db-9a86-9b8dbb0b86f7/edit) |
| K-T1 Projekt gewonnen | [Dialog](https://app.subframe.com/f023064a5ca0/design/7dbedd13-7bd9-4203-ac4b-367fe98a0c90/edit) |
| K-T1 Status gewechselt | [Dialog](https://app.subframe.com/f023064a5ca0/design/4531af4b-270d-4338-a7aa-9bf9f22acb2a/edit) |
| K-T1 Projekt angelegt | [Dialog](https://app.subframe.com/f023064a5ca0/design/6ddca087-0655-4390-b365-47b46796520a/edit) |
| [[K-T2 Frist oder Termin]] (Subframe-Name noch „Deadline naht“) | [Dialog](https://app.subframe.com/f023064a5ca0/design/4049387e-82e7-46d9-bcc8-1f0623212f4d/edit) |
| K-T2 Termin gebucht | [Dialog](https://app.subframe.com/f023064a5ca0/design/4f65190b-0088-4774-b0d4-47c2548b9e1f/edit) |
| K-T2 Termin storniert | [Dialog](https://app.subframe.com/f023064a5ca0/design/ecfcc5d9-fa76-401d-ba4f-cae76cbdff69/edit) |
| K-T2 Ereignis erstellt | [Dialog](https://app.subframe.com/f023064a5ca0/design/6dbde62e-a714-484a-a7c1-eeb45b281537/edit) |
| K-T2 Zeitplan | [Dialog](https://app.subframe.com/f023064a5ca0/design/69a04a7d-11e1-4507-97db-79556a4058a1/edit) |
| [[K-T2 Zeitplan monatlich]] | [Dialog](https://app.subframe.com/f023064a5ca0/design/742004f9-97d5-446a-862a-3db1886ade6c/edit) |
| K-T3 E-Mail eingegangen | [Dialog](https://app.subframe.com/f023064a5ca0/design/19182d3b-ae54-4327-b8a7-bc2f7a525e8e/edit) |
| K-T3 E-Mail unzustellbar | [Dialog](https://app.subframe.com/f023064a5ca0/design/b53d974b-f3d4-43f8-9118-879d165c475f/edit) |
| K-T3 Formular abgeschickt | [Dialog](https://app.subframe.com/f023064a5ca0/design/ece5c3ef-81e4-430b-af86-6317c9921963/edit) |
| K-T3 Webhook empfangen | [Dialog](https://app.subframe.com/f023064a5ca0/design/cd8330f6-1acb-4dd2-bd56-7f2f159d506b/edit) |
### Aktionen (6)
| Baustein | Subframe |
|---|---|
| [[K-A1 Datensatz aendern]] (Subframe-Name noch „Kontakt aendern“) | [Dialog](https://app.subframe.com/f023064a5ca0/design/69019ec4-d884-4d89-b699-d67a6ec99c7f/edit) |
| K-A1 Notiz anlegen | [Dialog](https://app.subframe.com/f023064a5ca0/design/a94188de-7a32-4e7d-a608-04cd47f2cbf2/edit) |
| K-A2 Benachrichtigung senden | [Dialog](https://app.subframe.com/f023064a5ca0/design/a0a46df7-4f24-4e36-98ab-c4772ecf2e63/edit) |
| [[K-A2 E-Mail senden]] | [Dialog](https://app.subframe.com/f023064a5ca0/design/a7f4debc-2e00-4f32-937a-bc85636a30ba/edit) |
| K-A3 Aufgabe anlegen | [Dialog](https://app.subframe.com/f023064a5ca0/design/9d9f2a55-0d46-4644-ac9f-c63721262fdb/edit) |
| K-A3 Aufgabe zuweisen | [Dialog](https://app.subframe.com/f023064a5ca0/design/94ccafb9-b3d2-4256-907c-f7a95632945a/edit) |
### Logik (8)
| Baustein | Subframe |
|---|---|
| K-L1 Wenn-Dann | [Dialog](https://app.subframe.com/f023064a5ca0/design/7e6bcf69-2938-4cd3-b060-2e0a9695499f/edit) |
| K-L1 Und | [Dialog](https://app.subframe.com/f023064a5ca0/design/95c4b661-8070-4fb0-90e5-9a60910a7754/edit) |
| K-L1 Oder | [Dialog](https://app.subframe.com/f023064a5ca0/design/6c360480-f4cf-4f3f-85ff-2a9bab994ed0/edit) |
| K-L1 Switch | [Dialog](https://app.subframe.com/f023064a5ca0/design/879e169d-839c-450b-adc6-c01a9d3cc2fd/edit) |
| K-L1 Filter | [Dialog](https://app.subframe.com/f023064a5ca0/design/d7adb2e6-e7b2-412a-9b3e-884e1968c7d8/edit) |
| K-L2 Warten | [Dialog](https://app.subframe.com/f023064a5ca0/design/3b8067ec-1905-4fb6-bafd-e3e414c216b2/edit) |
| K-L2 Schleife | [Dialog](https://app.subframe.com/f023064a5ca0/design/de5b5fa7-bf30-4150-a5b5-5f27d7f37a87/edit) |
| K-L2 Wert setzen | [Dialog](https://app.subframe.com/f023064a5ca0/design/0c2fae48-e2ab-4103-b111-15a3e120adb1/edit) |
### Integration (1)
| Baustein | Subframe |
|---|---|
| K-I1 HTTP-Anfrage | [Dialog](https://app.subframe.com/f023064a5ca0/design/b41d53ea-a101-41c5-8950-cca4fc57ed90/edit) |
## Validierung der Konfigurationsdialoge
Läuft seit 2026-07-13. Validiert von **Dejan** (mit ausdrücklichem Mandat von David, 2026-07-13). Vorgehen: blockweise gegen `D-FLOW.md`/`D-P12.md`, den Baustein-Katalog oben und die Layout-Standards. Befunde werden direkt in Subframe behoben; alles, was eine Produktentscheidung ist, wird hier festgehalten.
### Geltende Muster (aus der Validierung abgeleitet)
| Regel | Wie |
|---|---|
| **Ansprache** | **Durchgehend duzen.** Entschieden 2026-07-13. Der neue Baustein-Picker setzt dies um. |
| **Board, nicht Pipeline** | Der Begriff heißt überall `Board`. Entschieden 2026-07-13. |
| **Pflichtfeld-Muster** | Sternchen im Label (`Verantwortlich *`) **plus** das Wort `Pflichtfeld.` am Ende des helpText. Vorbild: K-A3 Aufgabe anlegen. |
| **Erklär-Box (Info-Kasten unten)** | Bleibt handgebaut. **Immer GRÜN** in allen Dialogen — entschieden David (abgesegnet) + Dejan (2026-07-16/17). Nicht kategorie-farbig. Symbol und Badge behalten dagegen ihre **Kategorie-Farbe** (Auslöser grün, Daten rot, Kommunikation blau, Aufgaben gelb, Logik violett, Integration grau). Grund: Der rote/violette Info-Kasten wirkte wie eine Warnung; ein einheitlich grüner Hilfetext ist freundlich und ruhig, während Symbol+Badge weiter die Kategorie zeigen. |
| **Ausgänge im Panel** | Bausteine mit mehreren Ausgängen zeigen sie unten im Dialog (Vorbild: K-L1 Wenn-Dann mit `Ja →` / `Nein →`). Damit ist die alte offene Frage »zeigt das Panel die Ausgänge?« beantwortet: **ja**. |
### Block K-T1 — Datensatz-Auslöser (7 Dialoge) — ✅ validiert und repariert 2026-07-13
Struktur, Farben, Abstände und Katalog-Treue waren durchgehend in Ordnung. Behoben wurden:
| Dialog | Befund | Behebung |
|---|---|---|
| Kontakt geändert | Zwei Felder für dieselbe Sache (Dropdown »Welche Felder beobachten« **und** Tag-Feld) | Dropdown entfernt. Neu: **Schalter »Alle Felder beobachten«** + Tag-Feld darunter. Aus = einzelne Felder wählbar, An = Tag-Feld ausgegraut. |
| Status gewechselt | `Board` und `Nach Spalte` faktisch Pflicht, aber nicht markiert | Beide auf Pflichtfeld-Muster umgestellt (`Board *`, `Nach Spalte *`). `Von Spalte` bleibt optional. |
| Lead qualifiziert | Nannte das Board »Pipeline« | Auf `Board` umgestellt. |
| Projekt angelegt | Siezte als einziger Dialog | Auf Duzen umgestellt. |
| Projekt gewonnen | Euro-Betrag als freies Textfeld; Label »Board« unsichtbar | Auf **Number Input** umgestellt; Label sichtbar geschaltet. |
| Neuer Kontakt (Blaupause) | Label »Quelle« unsichtbar (`showLabel` fehlte) | Label sichtbar geschaltet. |
**Offen aus diesem Block:**
- **»Kontakt geändert«**: Der ausgegraute Zustand (Schalter an → Tag-Feld gesperrt) ist bisher nur im helpText beschrieben, nicht als eigenes Frame gezeichnet. Entscheiden, ob das reicht.
- **Number Input ist auf 192 px Breite festgenagelt** (`max-w-[192px]` in der Komponente) und lässt sich nicht auf volle Feldbreite ziehen. Dadurch bricht der helpText darunter schmal um. → Befund am Baukasten, s. u.
### Block K-T2 — Zeit- und Termin-Auslöser (5 Dialoge) — ✅ validiert und repariert 2026-07-13
| Dialog | Befund | Behebung |
|---|---|---|
| **Deadline naht → »Frist oder Termin«** | Deckte nur »vorher« ab und kannte keinen Termin-Typ. Dadurch liefen die Picker-Einträge **»Termin in Kürze«** und **»Zahlungsziel überschritten«** ins Leere. | **Baustein erweitert statt zwei neue zu bauen** (entschieden Dejan 2026-07-13): Bezug bekommt zusätzlich `Termin`; die Zeitangabe bekommt `Stunden/Tage/Wochen danach` neben `vorher`. Deckt damit Terminerinnerung **und** Mahnwesen ab. Titel, Untertitel, Erklär-Box und Feldnamen (`Abstand` statt `Vorlauf`) nachgezogen; Bezug und Zeitangabe sind jetzt Pflichtfelder. |
| Termin gebucht | Beide Feld-Beschriftungen unsichtbar | Sichtbar geschaltet |
| Termin storniert | Beide Feld-Beschriftungen unsichtbar | Sichtbar geschaltet |
| Zeitplan | Uhrzeit als freies Textfeld (»morgens« wäre eingebbar) | **Vorläufig** Dropdown in 30-Minuten-Schritten, im helpText sichtbar als vorläufig markiert. Grund: dem Baukasten fehlt eine Uhrzeit-Komponente (s. u.). |
| Zeitplan | `Wochentage` immer sichtbar, obwohl nur bei »Wöchentlich« sinnvoll; Feld für den Tag im Monat fehlt ganz | **Entschieden (Dejan 2026-07-13): Felder wechseln je nach Wiederholung.** Täglich → nur Uhrzeit. Wöchentlich → Wochentage + Uhrzeit. Monatlich → Tag im Monat + Uhrzeit. **»Monatlich« ist als eigene Subframe-Seite `K-T2 Zeitplan monatlich` gezeichnet (2026-07-15).** »Täglich« ist trivial (ein Feld weniger) und wird nur beschrieben — folgt Davids Muster (bedeutsame Zustände = eigene Seite, triviale = nur dokumentiert). |
**Wichtig:** Die Subframe-Seite heißt weiterhin `K-T2 Deadline naht`, der Inhalt aber »Frist oder Termin«. **Die Seite muss in Subframe noch umbenannt werden** — per MCP nicht möglich, muss von Hand geschehen.
### Block K-T3 — Eingangs-Auslöser (4 Dialoge) — ✅ validiert und repariert 2026-07-16
Bester Block bisher — Struktur, Sichtbarkeit der Labels und Duzen durchgehend korrekt.
| Dialog | Befund | Behebung |
|---|---|---|
| Webhook empfangen | — | **Vorbildlich.** Beantwortet die offene Frage »wie viel Technik zeigen wir Handwerkern?«: zweites Badge »Profi-Baustein«, »Webhook-Adresse« statt »Endpoint«, »Sicherheitsschlüssel« mit Klartext, Kopier-Knöpfe, kein rohes JSON. Keine Änderung. |
| Formular abgeschickt | Formular-Feld faktisch Pflicht, aber nicht markiert | Auf Pflichtfeld-Muster umgestellt (`Formular *`). |
| E-Mail eingegangen | Braucht ein Postfach — das ist v2 | **Entschieden (Dejan 2026-07-16): drin lassen mit »Ab v2«-Kennzeichen.** Zweites Badge »Ab v2« + neutrale Hinweisbox oben (»braucht das Postfach, kommt später«). Dialog bleibt vollständig, wird aber ehrlich als noch-nicht-auslösbar markiert. |
| E-Mail unzustellbar | Braucht Kampagnen (D-KAMP) + Bounce-Tracking (D-P14), beide v1 aber ungebaut | **Entschieden (Dejan 2026-07-16): drin lassen, nur Abhängigkeit notieren** (keine v2-Kennzeichnung, da es v1 ist — nur eine Bau-Reihenfolge für den Entwickler). |
### Block K-A — Aktionen (5 → 6 Dialoge) — ✅ validiert und repariert 2026-07-16
| Dialog | Befund | Behebung |
|---|---|---|
| Kontakt ändern → **Datensatz ändern** | Name zu eng (kann auch Projekt/Auftrag) + Namens-Drift zum Picker (»Datensatz ändern«) | **Umbenannt in »Datensatz ändern«** (Entscheidung Dejan 07-16). Feld »Welcher Kontakt« → »Welcher Datensatz«, Untertitel angepasst. |
| Datensatz ändern | Rot mit **Gefahr-Optik** (destructive Icon + roter Fehler-Rahmen) | **Entschärft** (Entscheidung Dejan 07-16): Kategorie-Rot statt Gefahr-Rot — Icon und Erklär-Box auf `ui-red`-Tokens umgestellt, wie K-L1 Wenn-Dann es mit Violett vormacht. |
| Notiz anlegen | Gleiche Gefahr-Optik + Notiztext nicht als Pflicht markiert | Rot entschärft (wie oben) + `Notiztext *` als Pflichtfeld. |
| Benachrichtigung senden | Vermischte extern/intern; »E-Mail« als Kanal, obwohl Picker »E-Mail senden« separat führt; Nachricht nicht Pflicht | **Auf intern beschränkt** (Entscheidung Dejan 07-16: zwei getrennte Bausteine): Weg = Push/In-App, Empfänger nur intern (`*`), Nachricht (`*`). |
| **E-Mail senden** (neu) | Picker bot »E-Mail senden« an, es gab aber keinen Dialog | **Neuer Baustein gebaut** (Entscheidung Dejan 07-16): Empfänger `*` (Kontakt), Absender `*`, Betreff `*`, Nachricht `*`, optional Anhang. Optik = Benachrichtigung, blau. |
| Aufgabe anlegen / Aufgabe zuweisen | — | In Ordnung. »Aufgabe zuweisen« markiert sein Pflichtfeld (`Neue Verantwortung *`) bereits vorbildlich. |
**Wichtig für Subframe (von Hand):** Die Seite `K-A1 Kontakt aendern` sollte zu `K-A1 Datensatz aendern` umbenannt werden (Inhalt stimmt schon). Der Picker-Eintrag »E-Mail senden« ist inzwischen als eigener Kommunikations-Eintrag vorhanden und führt fachlich zum gebauten Dialog.
### Info-Kästen: alle Dialoge auf Grün (2026-07-17)
Entscheidung David (abgesegnet) + Dejan: Der Erklär-/Info-Kasten unten in **jedem** Dialog ist grün — nicht mehr kategorie-farbig. Symbol und Badge behalten die Kategorie-Farbe.
### Block K-L — Logik (8 Dialoge) — teil-validiert 2026-07-17
Info-Kästen gegrünt. Zwei klare Fehler direkt behoben:
- **Filter**: Symbol war markenfarbig (`variant="primary"`) statt violett → auf Violett korrigiert.
- Info-Kästen aller 8 Logik-Dialoge gegrünt.
**Noch offen — braucht Davids/Dejans Entscheidung (Struktur, nicht Farbe):**
| Befund | Details |
|---|---|
| **Bedingungen: nur Custom, aber freundlich** ✅ entschieden | **Entscheidung (Dejan 2026-07-17, nach Abwägung):** EIN Muster für alle Logik-Bedingungs-Bausteine — Feld + Vergleich + Wert, mit Klartext-Vergleichen (»ist größer als«), guten Feldnamen und Beispiel-Platzhaltern. **Kein Umschalter, kein »Einfach«-Modus, keine fertige-Bedingungs-Liste.** Grund: Fertige Bedingungen mit festem Wert (»Auftragswert über 10.000«) passen fast nie exakt (jeder Betrieb will andere Schwellen) und die Liste wäre nicht pflegbar (Felder sind pro Betrieb individuell). Der Custom-Builder ist ohnehin nur »Filter wie in Excel« und mit gutem Wording niederschwellig genug. **Der zuvor gebaute Umschalter + Einfach-Frame wurden wieder entfernt.** Umgesetzt: Wenn-Dann/Oder/Filter waren schon Custom; **Und wurde von der fertigen-Liste auf Custom umgebaut.** |
| **Symbol-Darstellung uneinheitlich** | Wenn-Dann/Und/Switch/Wert setzen: `IconWithBackground` mit Violett-Hintergrund. »Oder«: Symbol **handgebaut** als eigenes div. Glyph-Farbe mal neutral, mal violett. → auf ein Muster vereinheitlichen. |
| **Dialog-Breiten springen** | Wenn-Dann ist inzwischen `medium`; Filter steht noch auf `large`. Die übrigen Dialoge nutzen je nach Komplexität `medium` oder Standardbreite. |
| ~~**Warten**: »Dauer« ist Textfeld~~ ✅ behoben 2026-07-17 | »Dauer« auf **Number Input** umgestellt; widersprüchliches Icon-Attribut (`variant="primary"` + Violett-Override) auf sauberes Violett-Muster korrigiert. |
| **Dialog-Breite** (offen — David von Hand) | Nur **Filter** steht noch auf `large` → auf `medium` stellen. Wenn-Dann ist bereits korrigiert. |
Gut gelöst in K-L: Alle zeigen ihre **Ausgänge** klar an (Ja/Nein, Weg 1/2/3 + Sonst, Weiter/Fertig). Klartext durchgehend, Duzen durchgehend.
### Block K-I — Integration (1 Dialog: HTTP-Anfrage) — ✅ validiert 2026-07-17
Vorbildlich für einen technischen Baustein: zwei Badges (»Integration« + »Profi-Baustein«), Klartext-Feldnamen (»Adresse (URL)«, »Kopfzeilen«), Erklärung »GET holt Daten, POST sendet Daten«, URL als Pflichtfeld, Hinweis »im Zweifel Support fragen«. Info-Kasten gegrünt. Keine weitere Reparatur.
### Befunde am Baukasten (nicht selbst ändern — Sperrgebiet)
| Komponente | Befund | Auswirkung |
|---|---|---|
| **Uhrzeit-Komponente fehlt komplett** | Der `Date Picker` ist ein reiner Kalender ohne Zeit. Es gibt kein Time-Picker-Bauteil. | Betrifft **nicht nur P12**: Plantafel (D-PLAN), Terminbuchung (D-BOOK) und Kalender brauchen es ebenfalls. In P12 vorläufig mit einem Dropdown überbrückt. → **Befund an D-D0b (UI-Baukasten)** |
| `Number Input` | Fest auf `min-w-[192px]` **und** `max-w-[192px]` — also exakt 192 px, weder schmaler noch breiter | Schmale Zahlenfelder (z. B. `Abstand` = »3«) sind unmöglich; volle Feldbreite ebenso. Bricht den Formular-Rhythmus. |
| `IconWithBackground` | Nur `destructive` (Gefahr-Rot) als Rot; kein Kategorie-Rot/Gelb-Variant | Daten-Bausteine (rot) und Logik (violett) brauchen einen handgeschriebenen `ui-*`-Farb-Override im Screen. |
| `BadgeFeedback` | Kein `subtle-red` und kein `subtle-yellow` (nur `subtle-negative`/`subtle-warning` = Gefahr/Warnung). `subtle-blue`/`subtle-purple` existieren. | Daten- und Aufgaben-Badges nutzen Feedback-Farben statt echter Kategorie-Farben. Für volle Einheitlichkeit braucht der Baukasten `ui-red`/`ui-yellow`-Varianten. |
## Picker-Abgleich abgeschlossen (2026-08-03)
Der alte 12er-Entwurf „Picker Kachel-Filter“ wurde durch [[S01b Baustein-Picker]] ersetzt und nach erfolgreichem Readback aus Subframe entfernt.
- 31/31 fachliche Bausteine vorhanden: 16 Auslöser, 6 Aktionen, 8 Logik und 1 Integration.
- „Frist oder Termin“ ersetzt „Termin in Kürze“ und „Zahlungsziel überschritten“.
- „E-Mail senden“ und „Datensatz ändern“ sind als eigene Picker-Einträge vorhanden.
- „Zeitplan monatlich“ bleibt eine Zustandsvariante des Bausteins „Zeitplan“ und zählt nicht als 32. Picker-Eintrag.
- „An KWP übergeben“ bleibt ein v2-Registry-Eintrag ohne v1-Konfigurationsdialog.
- Du-Ansprache und die Kennzeichnungen „Ab v2“/„Profi“ sind umgesetzt.
Offen bleibt nur die bereits dokumentierte manuelle Umbenennung der Subframe-Seite `K-A1 Kontakt aendern`; der sichtbare Picker-Name ist korrekt.
## Nicht blockierende Development-Punkte
- Switch: Wie viele Pfade sind in v1 maximal erlaubt?
- Filter: Soll die einzige verbliebene `large`-Dialogbreite auf `medium` vereinheitlicht werden?
- Reicht beim Zustand »Kontakt geändert · alle Felder beobachten« die Beschreibung, oder braucht er einen eigenen gezeichneten Zustand?
@@ -0,0 +1,47 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
id: S06
screen: Zugangsdaten
typ: Liste / Verwaltung
umsetzung: Bauen
status: Fertig / Development-Handoff
route: "/automations/credentials"
subframe_name: "S06 Zugangsdaten"
subframe_page_id: "b183c6bf-9674-4e97-86d7-d7a8ef9ab17b"
subframe: "https://app.subframe.com/f023064a5ca0/design/b183c6bf-9674-4e97-86d7-d7a8ef9ab17b/edit"
source_checked: 2026-08-04
---
# S06 — Zugangsdaten
## Ziel und Rolle im Flow
Wiederverwendbare Zugangsdaten für Automationen zentral finden, neue Anbieter einrichten und bestehende Verbindungen verwalten. Der Einstieg liegt im Kopf von [[S01 Automation-Liste]].
## Finaler Live-Stand
Die aktuell ohne Versionssuffix benannte Subframe-Seite ist die frühere Gesamtliste und damit die finale Auswahl:
- Seitenkopf mit Rückweg zu „Automationen“ und „Zugangsdaten hinzufügen“.
- Filter Bar mit Status- und Kategoriefilter sowie Anbieteranzahl.
- Gemeinsame Tabelle mit „Anbieter / Konto“, „Kategorie“, „Verwendung“, „Status“ und „Aktion“.
- Acht Anbieter: vier verbunden und vier noch nicht eingerichtet.
- Verbundene Konten zeigen verwendende Automationen, „Verwalten“ sowie das Menü „Verbindung prüfen“, „Bearbeiten“ und „Trennen“.
- Nicht eingerichtete Anbieter besitzen die direkte Aktion „Einrichten“.
- Sicherheitshinweis, dass gespeicherte Zugangsdaten nie vollständig angezeigt werden.
## Beispielanbieter
Google Workspace, Microsoft 365, Slack und OpenAI / ChatGPT sind verbunden. WhatsApp Business, Stripe, SMTP / E-Mail und HubSpot sind noch nicht eingerichtet.
## Scope
Anlegen, OAuth/API-Schlüssel, Bearbeiten, Trennen und Fehlerbehebung werden in diesem Outline-Paket nicht als zusätzliche Screens ausgearbeitet. Die Liste definiert den Einstieg und die Informationsarchitektur; die Detailabläufe vervollständigt Development.
## Subframe
- [Finalen Screen öffnen](https://app.subframe.com/f023064a5ca0/design/b183c6bf-9674-4e97-86d7-d7a8ef9ab17b/edit)
- [Verwaltungs-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit)
@@ -0,0 +1,115 @@
{
"nodes":[
{"id":"1000000000000001","type":"group","x":-80,"y":-120,"width":3280,"height":640,"label":"Verwaltungs-Flow · 5 finale Seiten / referenzierter Editor-Kontext","color":"5"},
{"id":"1000000000000002","type":"group","x":-80,"y":600,"width":2340,"height":1150,"label":"Auslöser · 17 gebaute Subframe-Seiten","color":"4"},
{"id":"1000000000000003","type":"group","x":2380,"y":600,"width":1220,"height":740,"label":"Aktionen · 6 gebaute Subframe-Seiten","color":"1"},
{"id":"1000000000000004","type":"group","x":2380,"y":1390,"width":1220,"height":360,"label":"Integration · 1 gebaute Subframe-Seite","color":"5"},
{"id":"1000000000000005","type":"group","x":-80,"y":1810,"width":2340,"height":535,"label":"Logik · 8 gebaute Subframe-Seiten","color":"6"},
{"id":"1000000000000006","type":"group","x":2380,"y":1810,"width":1220,"height":535,"label":"Review-Hinweise","color":"3"},
{"id":"1000000000000007","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/WF-P12 Verwaltung.md","x":-80,"y":-450,"width":460,"height":260},
{"id":"1000000000000008","type":"text","text":"# Einstieg\n\nSidebar → Automationen","x":0,"y":20,"width":420,"height":170},
{"id":"1000000000000009","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S01 Automation-Liste.md","x":540,"y":20,"width":400,"height":170},
{"id":"100000000000000a","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/M03 Start-Auswahl.md","x":1060,"y":20,"width":400,"height":170},
{"id":"100000000000000b","type":"file","file":"02 Wireframes/P12 Flow-Editor/WF-P12 Flow-Editor/Screens/S01 Flow-Editor.md","x":1580,"y":20,"width":400,"height":170},
{"id":"100000000000000c","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/M04 Vorlagen-Katalog.md","x":2100,"y":20,"width":400,"height":170},
{"id":"100000000000000d","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S02 Lauf-Liste.md","x":540,"y":270,"width":400,"height":170},
{"id":"100000000000000e","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S03 Lauf-Detail.md","x":1060,"y":270,"width":400,"height":170},
{"id":"100000000000000f","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S05 Baustein-Konfig-Panels.md","x":2620,"y":20,"width":500,"height":170,"color":"5"},
{"id":"1000000000000010","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S05a Baustein-Konfig Vorplanung.md","x":2620,"y":270,"width":500,"height":170,"color":"5"},
{"id":"1000000000000011","type":"text","text":"# Zwei Subframe-Flows · final\n\nDer Verwaltungs-Flow enthält 5 finale Seiten: S01 Automation-Liste, S02 Lauf-Liste, S03 Lauf-Detail, M04 Vorlagen-Katalog und S06 Zugangsdaten.\n\nDer Workflow-Engine-Flow enthält 39 Seiten: 6 finale Editor-/Modal-Seiten, M03 V3 als Referenz und 32 Konfigurationsdialoge. Zusammen sind 44/44 aktuelle Seiten synchronisiert.","x":1580,"y":230,"width":920,"height":200},
{"id":"1000000000000012","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T1 Neuer Kontakt - Mit Beispiel.md","x":0,"y":680,"width":500,"height":170,"color":"4"},
{"id":"1000000000000013","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T1 Kontakt geaendert.md","x":560,"y":680,"width":500,"height":170,"color":"4"},
{"id":"1000000000000014","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T1 Neue Anfrage.md","x":1120,"y":680,"width":500,"height":170,"color":"4"},
{"id":"1000000000000015","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T1 Lead qualifiziert.md","x":1680,"y":680,"width":500,"height":170,"color":"4"},
{"id":"1000000000000016","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T1 Projekt gewonnen.md","x":0,"y":885,"width":500,"height":170,"color":"4"},
{"id":"1000000000000017","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T1 Status gewechselt.md","x":560,"y":885,"width":500,"height":170,"color":"4"},
{"id":"1000000000000018","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T1 Projekt angelegt.md","x":1120,"y":885,"width":500,"height":170,"color":"4"},
{"id":"1000000000000019","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T2 Frist oder Termin.md","x":1680,"y":885,"width":500,"height":170,"color":"4"},
{"id":"100000000000001a","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T2 Termin gebucht.md","x":0,"y":1090,"width":500,"height":170,"color":"4"},
{"id":"100000000000001b","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T2 Termin storniert.md","x":560,"y":1090,"width":500,"height":170,"color":"4"},
{"id":"100000000000001c","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T2 Ereignis erstellt.md","x":1120,"y":1090,"width":500,"height":170,"color":"4"},
{"id":"100000000000001d","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T2 Zeitplan.md","x":1680,"y":1090,"width":500,"height":170,"color":"4"},
{"id":"100000000000001e","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T2 Zeitplan monatlich.md","x":0,"y":1295,"width":500,"height":170,"color":"4"},
{"id":"100000000000001f","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T3 E-Mail eingegangen.md","x":560,"y":1295,"width":500,"height":170,"color":"4"},
{"id":"1000000000000020","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T3 E-Mail unzustellbar.md","x":1120,"y":1295,"width":500,"height":170,"color":"4"},
{"id":"1000000000000021","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T3 Formular abgeschickt.md","x":1680,"y":1295,"width":500,"height":170,"color":"4"},
{"id":"1000000000000022","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-T3 Webhook empfangen.md","x":0,"y":1500,"width":500,"height":170,"color":"4"},
{"id":"1000000000000023","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-A1 Datensatz aendern.md","x":2460,"y":680,"width":500,"height":170,"color":"1"},
{"id":"1000000000000024","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-A1 Notiz anlegen.md","x":3020,"y":680,"width":500,"height":170,"color":"1"},
{"id":"1000000000000025","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-A2 Benachrichtigung senden.md","x":2460,"y":885,"width":500,"height":170,"color":"1"},
{"id":"1000000000000026","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-A2 E-Mail senden.md","x":3020,"y":885,"width":500,"height":170,"color":"1"},
{"id":"1000000000000027","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-A3 Aufgabe anlegen.md","x":2460,"y":1090,"width":500,"height":170,"color":"1"},
{"id":"1000000000000028","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-A3 Aufgabe zuweisen.md","x":3020,"y":1090,"width":500,"height":170,"color":"1"},
{"id":"1000000000000029","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L1 Wenn-Dann.md","x":0,"y":1890,"width":500,"height":170,"color":"6"},
{"id":"100000000000002a","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L1 Und.md","x":560,"y":1890,"width":500,"height":170,"color":"6"},
{"id":"100000000000002b","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L1 Oder.md","x":1120,"y":1890,"width":500,"height":170,"color":"6"},
{"id":"100000000000002c","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L1 Switch.md","x":1680,"y":1890,"width":500,"height":170,"color":"6"},
{"id":"100000000000002d","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L1 Filter.md","x":0,"y":2095,"width":500,"height":170,"color":"6"},
{"id":"100000000000002e","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L2 Warten.md","x":560,"y":2095,"width":500,"height":170,"color":"6"},
{"id":"100000000000002f","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L2 Schleife.md","x":1120,"y":2095,"width":500,"height":170,"color":"6"},
{"id":"1000000000000030","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-L2 Wert setzen.md","x":1680,"y":2095,"width":500,"height":170,"color":"6"},
{"id":"1000000000000031","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/K-I1 HTTP-Anfrage.md","x":2460,"y":1470,"width":500,"height":170,"color":"5"},
{"id":"1000000000000032","type":"text","text":"# KWP\n\n»An KWP übergeben« bleibt ein Registry-Eintrag ohne v1-Konfigurationsdialog.","x":3020,"y":1470,"width":500,"height":170},
{"id":"1000000000000033","type":"text","text":"# Development-Handoff\n\nFinal: S01, S02, S03, M04 und S06. Die 32 Dialogseiten gehören vollständig zum Handoff.\n\nNicht blockierend für Development:\n- Live-Namen »Deadline naht« und »Kontakt aendern« weichen vom sichtbaren Produktnamen ab\n- Filter-Breite und Baukasten-Themen bleiben dokumentiert\n- technische Sonder- und Error-Fälle werden in der Umsetzung ergänzt","x":2460,"y":1890,"width":1060,"height":280},
{"id":"1000000000000034","type":"file","file":"02 Wireframes/P12 Verwaltung/WF-P12 Verwaltung/Screens/S06 Zugangsdaten.md","x":0,"y":270,"width":400,"height":170,"color":"5"}
],
"edges":[
{
"id":"2000000000000001",
"fromNode":"1000000000000008",
"fromSide":"right",
"toNode":"1000000000000009",
"toSide":"left",
"styleAttributes":{"path":"dotted"}
},
{"id":"2000000000000002","fromNode":"1000000000000009","fromSide":"right","toNode":"100000000000000a","toSide":"left","label":"Neue Automation · Modal"},
{"id":"2000000000000003","fromNode":"100000000000000a","fromSide":"right","toNode":"100000000000000b","toSide":"left","label":"Leer starten oder Beispielvorlage"},
{"id":"2000000000000004","fromNode":"1000000000000009","fromSide":"bottom","toNode":"100000000000000d","toSide":"top","label":"Läufe"},
{"id":"2000000000000005","fromNode":"100000000000000d","fromSide":"right","toNode":"100000000000000e","toSide":"left","label":"Lauf öffnen"},
{"id":"2000000000000006","fromNode":"1000000000000009","fromSide":"right","toNode":"100000000000000c","toSide":"left","label":"Vorlagen · Modal"},
{"id":"2000000000000007","fromNode":"100000000000000c","fromSide":"left","toNode":"100000000000000a","toSide":"right","label":"Vorlage verwenden"},
{"id":"2000000000000008","fromNode":"100000000000000b","fromSide":"right","toNode":"100000000000000f","toSide":"left","label":"Baustein konfigurieren"},
{"id":"2000000000000009","fromNode":"100000000000000f","fromSide":"bottom","toNode":"1000000000000010","toSide":"top","label":"32 Seiten"},
{
"id":"200000000000000a",
"fromNode":"1000000000000010",
"fromSide":"bottom",
"toNode":"1000000000000012",
"toSide":"top",
"label":"17 Auslöser",
"styleAttributes":{"path":"dotted"}
},
{
"id":"200000000000000b",
"fromNode":"1000000000000010",
"fromSide":"bottom",
"toNode":"1000000000000023",
"toSide":"top",
"label":"6 Aktionen",
"styleAttributes":{"path":"dotted"}
},
{
"id":"200000000000000c",
"fromNode":"1000000000000010",
"fromSide":"bottom",
"toNode":"1000000000000029",
"toSide":"top",
"label":"8 Logik",
"styleAttributes":{"path":"dotted"}
},
{
"id":"200000000000000d",
"fromNode":"1000000000000010",
"fromSide":"bottom",
"toNode":"1000000000000031",
"toSide":"top",
"label":"1 Integration",
"styleAttributes":{"path":"dotted"}
},
{"id":"200000000000000e","fromNode":"1000000000000009","fromSide":"bottom","toNode":"1000000000000034","toSide":"top","label":"Zugangsdaten"}
],
"metadata":{
"version":"1.0-1.0",
"frontmatter":{}
}
}
@@ -0,0 +1,69 @@
---
kind: wireframe-package
project: HiveGrid Screen Project
ticket: D-P12
package: WF-P12 Verwaltung
typ: Flow
status: Fertig / Development-Handoff
subframe: "https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit"
canvas: "WF-P12 Verwaltung.canvas"
source_checked: 2026-08-04
---
# WF-P12 Verwaltung
Subframe-Flow: [(MCP) WF-P12 Verwaltung](https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit)
Canvas: [Canvas](<WF-P12 Verwaltung.canvas>)
## Kurzfassung
Der Verwaltungs-Flow ist auf **fünf finale Subframe-Seiten** bereinigt: Automation-Liste, Lauf-Liste, Lauf-Detail, Vorlagen-Katalog als `M04` und Zugangsdaten. Die 32 typabhängigen Konfigurationsdialoge bleiben technisch im Workflow-Engine-Flow, werden aber weiterhin in diesem Obsidian-Paket und Canvas dokumentiert.
Zusammen enthalten beide Subframe-Flows 44 aktuelle Seiten: 39 Workflow Engine und 5 Verwaltung. Alle fünf Verwaltungsseiten tragen jetzt ihre finalen Namen ohne Versionssuffix.
## Finaler Bestand
- [[S01 Automation-Liste]] — Übersicht mit Kennzahlen, Auslöser, Status, Aktivität und Avatar.
- [[S02 Lauf-Liste]] — vollständige Ausführungen genau einer Automation.
- [[S03 Lauf-Detail]] — kompakte Accordions, Fehler im Schritt und Fehlerhilfe rechts.
- [[M04 Vorlagen-Katalog]] — Verwaltungsmodal mit vier Vorlagen, Filter Bar und Kartenmenüs.
- [[S06 Zugangsdaten]] — gemeinsame Liste für verbundene und noch nicht eingerichtete Anbieter.
- [[S05 Baustein-Konfig-Panels]] — Index der 32 Konfigurationsdialoge im Workflow-Engine-Flow.
- [[S05a Baustein-Konfig Vorplanung]] — Katalog, Entscheidungen und bekannte nicht blockierende Hinweise.
## Hauptflow
```text
Sidebar -> S01 Automation-Liste
S01 -> S02 Lauf-Liste -> S03 Lauf-Detail
S01 -> M03 Start-Auswahl -> Flow-Editor
S01 -> M04 Vorlagen-Katalog
S01 -> S06 Zugangsdaten
Flow-Editor -> S05 -> einer von 32 Konfigurationsdialogen
```
## Dialogbestand
| Kategorie | Seiten |
|---|---:|
| Auslöser einschließlich Monatsvariante | 17 |
| Aktionen | 6 |
| Logik | 8 |
| Integration | 1 |
| **Gesamt** | **32** |
Jeder Dialog besitzt eine eigene Markdown-Datei mit Subframe-Page-ID, Direktlink, sichtbaren Feldern, Aktionen und Komponenten. Die Dialogseiten liegen im [Workflow-Engine-Flow](https://app.subframe.com/f023064a5ca0/flow/22d511a9-1d8f-4554-89ad-86729b8d7738/edit).
## Finale Verwaltungsseiten
| ID | Screen | Subframe |
|---|---|---|
| S01 | Automation-Liste | [Öffnen](https://app.subframe.com/f023064a5ca0/design/333d4c20-5189-4b10-b3b1-165726c5abb8/edit) |
| S02 | Lauf-Liste | [Öffnen](https://app.subframe.com/f023064a5ca0/design/c5afe1a5-b6e1-4570-97f1-d3e21fc3807f/edit) |
| S03 | Lauf-Detail | [Öffnen](https://app.subframe.com/f023064a5ca0/design/118793cf-a1e1-43d4-9c54-8bf06de56a6a/edit) |
| M04 | Vorlagen-Katalog | [Öffnen](https://app.subframe.com/f023064a5ca0/design/04ceb95c-f8a0-4047-860c-8f1a1c12252c/edit) |
| S06 | Zugangsdaten | [Öffnen](https://app.subframe.com/f023064a5ca0/design/b183c6bf-9674-4e97-86d7-d7a8ef9ab17b/edit) |
## Handoff
Das Paket ist Teil des gemeinsamen fertigen Tickets `D-FLOW + D-P12 Workflow Engine`. Die vollständige UUID- und Linkliste aller 44 aktuellen Subframe-Seiten steht dort sowie im [[Screen Paket Tracker]].
@@ -0,0 +1,41 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: P15 Team-Chat
package: WF-P15 Team-Chat
id: M01
screen: Gruppe Aktion bestaetigen
typ: Modal
status: Bereit zur Validierung
source: Subframe
subframe_id: 036fbb92-7c48-4610-8735-890632be53f0
subframe: "https://app.subframe.com/f023064a5ca0/design/036fbb92-7c48-4610-8735-890632be53f0/edit"
synced: 2026-08-06
---
# M01 — Gruppenaktion bestätigen
> [!info] Single Source of Truth
> [Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/036fbb92-7c48-4610-8735-890632be53f0/edit)
![Subframe-Screenshot](https://egniatlvhajtqurt.public.blob.vercel-storage.com/prod/39410/screenshots/036fbb92-7c48-4610-8735-890632be53f0-1786024606884.png)
## Zweck und Zustand
Bestätigungsmodal für die gefährlichen Gruppenaktionen „Gruppe verlassen“ und „Gruppe archivieren/löschen“.
## Hauptaktionen
- Aktion auswählen
- Abbrechen
- Verlassen oder Löschen bestätigen
## Verbindungen
- Aufruf und Abbruch → [[S01e Gruppeneinstellungen]]
## Für die Validierung
- [ ] Sollte ein Modal wirklich zwei unterschiedliche gefährliche Aktionen gleichzeitig anbieten?
- [ ] Ist der Unterschied zwischen Archivieren und Löschen eindeutig genug?
- [ ] Sind Buttontext und gewählte Option immer konsistent?
@@ -0,0 +1,44 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: P15 Team-Chat
package: WF-P15 Team-Chat
id: S01a
screen: Neuer Chat
typ: Auswahlpanel
status: Bereit zur Validierung
source: Subframe
subframe_id: d3000532-c695-404c-a719-95eb0c6e04b6
subframe: "https://app.subframe.com/f023064a5ca0/design/d3000532-c695-404c-a719-95eb0c6e04b6/edit"
synced: 2026-08-06
---
# S01a — Neuer Chat
> [!info] Single Source of Truth
> [Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/d3000532-c695-404c-a719-95eb0c6e04b6/edit)
![Subframe-Screenshot](https://egniatlvhajtqurt.public.blob.vercel-storage.com/prod/39410/screenshots/d3000532-c695-404c-a719-95eb0c6e04b6-1786024557206.png)
## Zweck und Zustand
Einstieg in das Erstellen einer Unterhaltung. Das Panel trennt drei klare Wege: Gruppe, Projektunterhaltung und Direktnachricht.
## Hauptaktionen
- Nach Personen, Gruppen oder Projekten suchen
- Neue Gruppe anlegen
- Projektbezogene Unterhaltung starten
- Einzelnen Kontakt direkt anschreiben
## Verbindungen
- Direktnachricht → [[S01b Neuer Chat - Auswahl]]
- Neue Gruppe → [[S01c Neue Gruppe]]
- Projektunterhaltung → [[S01d Neue Projektunterhaltung]]
- Schließen → [[S01 Team Chat - Kein Chat ausgewaehlt]]
## Für die Validierung
- [ ] Verstehen Nutzer den Unterschied zwischen Gruppe und Projektunterhaltung sofort?
- [ ] Ist die Kontaktsuche trotz der drei Einstiegsmöglichkeiten eindeutig?
@@ -0,0 +1,41 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: P15 Team-Chat
package: WF-P15 Team-Chat
id: S01b
screen: Neuer Chat - Auswahl
typ: Auswahlpanel
status: Bereit zur Validierung
source: Subframe
subframe_id: ca942cef-fb00-4026-a709-a9d45db5b021
subframe: "https://app.subframe.com/f023064a5ca0/design/ca942cef-fb00-4026-a709-a9d45db5b021/edit"
synced: 2026-08-06
---
# S01b — Neuer Chat: Auswahl
> [!info] Single Source of Truth
> [Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/ca942cef-fb00-4026-a709-a9d45db5b021/edit)
![Subframe-Screenshot](https://egniatlvhajtqurt.public.blob.vercel-storage.com/prod/39410/screenshots/ca942cef-fb00-4026-a709-a9d45db5b021-1786024569128.png)
## Zweck und Zustand
Auswahl genau eines Kontakts für eine Direktnachricht. Der ausgewählte Kontakt wird unten bestätigt, bevor der Chat geöffnet wird.
## Hauptaktionen
- Kontakt suchen und auswählen
- Auswahl ändern
- Direktnachricht über „Chat öffnen“ starten
## Verbindungen
- Zurück → [[S01a Neuer Chat]]
- „Chat öffnen“ → [[S02e Team Chat - Private DM offen 2]]
## Für die Validierung
- [ ] Ist der Einzelauswahl-Modus klar genug?
- [ ] Ist die Auswahlbestätigung vor dem Öffnen hilfreich oder unnötig doppelt?
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: P15 Team-Chat
package: WF-P15 Team-Chat
id: S04
screen: Medien - Medienuebersicht
typ: Medienverwaltung
status: Bereit zur Validierung
source: Subframe
subframe_id: 4a3be00f-a23c-4f39-b4ad-e57e58a13617
subframe: "https://app.subframe.com/f023064a5ca0/design/4a3be00f-a23c-4f39-b4ad-e57e58a13617/edit"
synced: 2026-08-06
---
# S04 — Medien: Medienübersicht
> [!info] Single Source of Truth
> [Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/4a3be00f-a23c-4f39-b4ad-e57e58a13617/edit)
![Subframe-Screenshot](https://egniatlvhajtqurt.public.blob.vercel-storage.com/prod/39410/screenshots/4a3be00f-a23c-4f39-b4ad-e57e58a13617-1786024542225.png)
## Zweck und Zustand
Globale Medienübersicht über alle Chats. Inhalte sind nach Datum gruppiert und werden als visuelles Raster mit Absender und Chatkontext gezeigt.
## Hauptaktionen
- Zwischen Medien, Dokumenten und Links wechseln
- Suchen und filtern
- Medien auswählen
- Einzelnes Bild im Viewer öffnen
## Verbindungen
- Dokumente → [[S04a Medien - Dokumente]]
- Links → [[S04b Medien - Links]]
- Suche und Filter → [[S04c Medien - Suche _ Filter]]
- Auswahlmodus → [[S04d Medien - Auswahl]]
- Bild öffnen → [[S05 Medienviewer - Bild geoeffnet]]
## Für die Validierung
- [ ] Ist „aus allen Chats“ als globaler Kontext klar?
- [ ] Sind Absender, Chat und Zeitpunkt im Raster ausreichend erkennbar?
- [ ] Sind Suche, Auswahl und Einstellungen passend priorisiert?
@@ -0,0 +1,43 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: P15 Team-Chat
package: WF-P15 Team-Chat
id: S04a
screen: Medien - Dokumente
typ: Medienverwaltung
status: Bereit zur Validierung
source: Subframe
subframe_id: 095d4cdf-f30a-4c94-aab3-df2e760505cb
subframe: "https://app.subframe.com/f023064a5ca0/design/095d4cdf-f30a-4c94-aab3-df2e760505cb/edit"
synced: 2026-08-06
---
# S04a — Medien: Dokumente
> [!info] Single Source of Truth
> [Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/095d4cdf-f30a-4c94-aab3-df2e760505cb/edit)
![Subframe-Screenshot](https://egniatlvhajtqurt.public.blob.vercel-storage.com/prod/39410/screenshots/095d4cdf-f30a-4c94-aab3-df2e760505cb-1786024559156.png)
## Zweck und Zustand
Tabellarische Liste aller in Chats geteilten Dokumente mit Dateiinformation, Beschreibung, Absender und Datum.
## Hauptaktionen
- Dokument öffnen oder herunterladen
- Zwischen Medien und Links wechseln
- Suche, Sortierung oder Einstellungen erreichen
## Verbindungen
- Medien → [[S04 Medien - Medienuebersicht]]
- Links → [[S04b Medien - Links]]
- Suche und Filter → [[S04c Medien - Suche _ Filter]]
## Für die Validierung
- [ ] Sind Dateiname und Beschreibung gut scannbar?
- [ ] Reichen Absender und Datum als Herkunft oder fehlt der Chatkontext?
- [ ] Sind Öffnen und Herunterladen eindeutig unterscheidbar?
@@ -0,0 +1,43 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: P15 Team-Chat
package: WF-P15 Team-Chat
id: S04b
screen: Medien - Links
typ: Medienverwaltung
status: Bereit zur Validierung
source: Subframe
subframe_id: de93f3fa-a6d0-480e-b41f-b27b2e6d8b62
subframe: "https://app.subframe.com/f023064a5ca0/design/de93f3fa-a6d0-480e-b41f-b27b2e6d8b62/edit"
synced: 2026-08-06
---
# S04b — Medien: Links
> [!info] Single Source of Truth
> [Subframe öffnen](https://app.subframe.com/f023064a5ca0/design/de93f3fa-a6d0-480e-b41f-b27b2e6d8b62/edit)
![Subframe-Screenshot](https://egniatlvhajtqurt.public.blob.vercel-storage.com/prod/39410/screenshots/de93f3fa-a6d0-480e-b41f-b27b2e6d8b62-1786024578213.png)
## Zweck und Zustand
Liste aller in Chats geteilten Links mit Domain, Nachrichtenausschnitt, Absender und Zeitpunkt.
## Hauptaktionen
- Link öffnen
- Zur Ursprungsnachricht zurückfinden
- Zwischen Medien und Dokumenten wechseln
## Verbindungen
- Medien → [[S04 Medien - Medienuebersicht]]
- Dokumente → [[S04a Medien - Dokumente]]
- Suche und Filter → [[S04c Medien - Suche _ Filter]]
## Für die Validierung
- [ ] Ist die Kombination aus Domain und Nachrichtenausschnitt ausreichend eindeutig?
- [ ] Braucht jede Zeile eine explizite Aktion „Zur Nachricht“?
- [ ] Ist die Tabelle bei langen URLs stabil?
Loaded 100 of 6594 files, more files were not shown because too many files have changed in this diff. Show more