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>
This commit is contained in:
davidandClaude Fable 5 committed 2026-07-08 23:17:54 +02:00
1 parent e48a5a46e8
commit ca078436df
28 files changed
+2424 -432

No files matched your search

@@ -1,28 +1,206 @@
{
"nodes":[
{"id":"md-paket","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.md","x":-80,"y":-440,"width":460,"height":280},
{"id":"group-main","type":"group","x":-80,"y":-100,"width":1720,"height":420,"label":"Hauptflow"},
{"id":"group-sync","type":"group","x":1800,"y":-100,"width":1120,"height":420,"label":"Sync-Verlauf (eigene Seiten)"},
{"id":"group-wizard","type":"group","x":-80,"y":460,"width":1720,"height":420,"label":"Einrichtungs-Assistent und Trennen"},
{"id":"group-notes","type":"group","x":1800,"y":460,"width":1120,"height":420,"label":"Regeln"},
{"id":"note-entry","type":"text","text":"# Einstieg\n\nSidebar → Integrationen (`/admin/integrations`).\n\nNur mit Recht `integrations.read`.","x":0,"y":0,"width":360,"height":200},
{"id":"s01","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S01 App-Katalog.md","x":560,"y":0,"width":420,"height":200},
{"id":"s02","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S02 App-Seite.md","x":1180,"y":0,"width":420,"height":200},
{"id":"s03","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S03 Sync-Verlauf.md","x":1840,"y":0,"width":420,"height":200},
{"id":"s04","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S04 Lauf-Detail.md","x":2460,"y":0,"width":420,"height":200},
{"id":"m01","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/M01 Assistent OAuth.md","x":40,"y":560,"width":420,"height":200},
{"id":"m02","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/M02 Assistent API-Schluessel.md","x":620,"y":560,"width":420,"height":200},
{"id":"m03","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/M03 Trennen-Bestaetigung.md","x":1200,"y":560,"width":420,"height":200},
{"id":"note-framework","type":"text","text":"# Wiederverwendung\n\nConnection-Card + Assistent + Verlauf sind das **Gerüst für alle App-Verbindungen**: E-Mail (P14), Telefonie (P15), Kalender/Signatur (P16) nutzen dieselben Bausteine in ihren Settings.","x":1840,"y":560,"width":520,"height":260},
{"id":"note-banner","type":"text","text":"# Zustände (nur Doku)\n\nAmpel: grün läuft · gelb hakt · rot kaputt · grau getrennt.\n\nGelb/Rot/Schema geändert → Klartext-Banner mit Lösungs-Knopf. Trennen = Status »getrennt«, kein Löschen.","x":2420,"y":560,"width":460,"height":260}
],
"edges":[
{"id":"e-entry","fromNode":"note-entry","fromSide":"right","toNode":"s01","toSide":"left","toEnd":"arrow","styleAttributes":{"path":"dotted","pathfindingMethod":"direct"}},
{"id":"e-app","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","toEnd":"arrow","label":"App öffnen","styleAttributes":{"pathfindingMethod":"direct"}},
{"id":"e-verlauf","fromNode":"s02","fromSide":"right","toNode":"s03","toSide":"left","toEnd":"arrow","label":"alle Läufe anzeigen","styleAttributes":{"pathfindingMethod":"direct"}},
{"id":"e-lauf","fromNode":"s03","fromSide":"right","toNode":"s04","toSide":"left","toEnd":"arrow","label":"Lauf öffnen","styleAttributes":{"pathfindingMethod":"direct"}},
{"id":"e-oauth","fromNode":"s02","fromSide":"bottom","toNode":"m01","toSide":"top","toEnd":"arrow","label":"Verbinden (OAuth)","styleAttributes":{"pathfindingMethod":"direct"}},
{"id":"e-key","fromNode":"s02","fromSide":"bottom","toNode":"m02","toSide":"top","toEnd":"arrow","label":"Verbinden (API-Schlüssel)","styleAttributes":{"pathfindingMethod":"direct"}},
{"id":"e-trennen","fromNode":"s02","fromSide":"bottom","toNode":"m03","toSide":"top","toEnd":"arrow","label":"Trennen","styleAttributes":{"pathfindingMethod":"direct"}}
]
}
"nodes": [
{
"id": "md-paket",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.md",
"x": -80,
"y": -440,
"width": 460,
"height": 280
},
{
"id": "group-main",
"type": "group",
"x": -80,
"y": -100,
"width": 1720,
"height": 420,
"label": "Hauptflow"
},
{
"id": "group-sync",
"type": "group",
"x": 1800,
"y": -100,
"width": 1120,
"height": 420,
"label": "Sync-Verlauf (eigene Seiten)"
},
{
"id": "group-wizard",
"type": "group",
"x": -80,
"y": 460,
"width": 1720,
"height": 420,
"label": "Einrichtungs-Assistent und Trennen"
},
{
"id": "group-notes",
"type": "group",
"x": 1800,
"y": 460,
"width": 1120,
"height": 420,
"label": "Regeln"
},
{
"id": "note-entry",
"type": "text",
"text": "# Einstieg\n\nSidebar → Integrationen (`/admin/integrations`).\n\nNur mit Recht `integrations.read`.",
"x": 0,
"y": 0,
"width": 360,
"height": 200
},
{
"id": "s01",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S01 App-Katalog.md",
"x": 560,
"y": 0,
"width": 420,
"height": 200
},
{
"id": "s02",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S02 App-Seite.md",
"x": 1180,
"y": 0,
"width": 420,
"height": 200
},
{
"id": "s03",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S03 Sync-Verlauf.md",
"x": 1840,
"y": 0,
"width": 420,
"height": 200
},
{
"id": "s04",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/S04 Lauf-Detail.md",
"x": 2460,
"y": 0,
"width": 420,
"height": 200
},
{
"id": "m01",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/M01 Assistent OAuth.md",
"x": 40,
"y": 560,
"width": 420,
"height": 200
},
{
"id": "m02",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/M02 Assistent API-Schluessel.md",
"x": 620,
"y": 560,
"width": 420,
"height": 200
},
{
"id": "m03",
"type": "file",
"file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/Screens/M03 Trennen-Bestaetigung.md",
"x": 1200,
"y": 560,
"width": 420,
"height": 200
},
{
"id": "note-framework",
"type": "text",
"text": "# Wiederverwendung\n\nConnection-Card + Assistent + Verlauf sind das **Gerüst für alle App-Verbindungen**: E-Mail (P14), Telefonie (P15), Kalender/Signatur (P16) nutzen dieselben Bausteine in ihren Settings.",
"x": 1840,
"y": 560,
"width": 520,
"height": 260
},
{
"id": "note-banner",
"type": "text",
"text": "# Zustände (nur Doku)\n\nAmpel: grün läuft · gelb hakt · rot kaputt · grau getrennt.\n\nGelb/Rot/Schema geändert → Klartext-Banner mit Lösungs-Knopf. Trennen = Status »getrennt«, kein Löschen.",
"x": 2420,
"y": 560,
"width": 460,
"height": 260
}
],
"edges": [
{
"id": "e-entry",
"fromNode": "note-entry",
"fromSide": "right",
"toNode": "s01",
"toSide": "left",
"toEnd": "arrow",
"styleAttributes": {
"path": "dotted"
}
},
{
"id": "e-app",
"fromNode": "s01",
"fromSide": "right",
"toNode": "s02",
"toSide": "left",
"toEnd": "arrow",
"label": "App öffnen"
},
{
"id": "e-verlauf",
"fromNode": "s02",
"fromSide": "right",
"toNode": "s03",
"toSide": "left",
"toEnd": "arrow",
"label": "alle Läufe anzeigen"
},
{
"id": "e-lauf",
"fromNode": "s03",
"fromSide": "right",
"toNode": "s04",
"toSide": "left",
"toEnd": "arrow",
"label": "Lauf öffnen"
},
{
"id": "e-oauth",
"fromNode": "s02",
"fromSide": "bottom",
"toNode": "m01",
"toSide": "top",
"toEnd": "arrow",
"label": "Verbinden (OAuth)"
},
{
"id": "e-key",
"fromNode": "s02",
"fromSide": "bottom",
"toNode": "m02",
"toSide": "top",
"toEnd": "arrow",
"label": "Verbinden (API-Schlüssel)"
},
{
"id": "e-trennen",
"fromNode": "s02",
"fromSide": "bottom",
"toNode": "m03",
"toSide": "top",
"toEnd": "arrow",
"label": "Trennen"
}
]
}