v0.0.7: documenten met versies bij leads/klanten en relaties (tabel documents, versies in files; oude bestanden worden bij het starten versie 1 van een eigen document); woning = document met versies, de viewer toont de nieuwste (oudere via keuzelijst), nieuwe versie uploaden met opmerking, PDF's per woningversie; kaart (kaart-app, /kaart/) onder de woning en bij een klantrelatie zodra het adres bekend is, met de kavel en getekende woningen uit een kaveltoets-lead; blokken zonder gegevens verborgen; knop Bewerken in Tectum (TECTUM_URL) en API /api/tectum/woningen (lijst, ontwerp, nieuwe versie met conflictcontrole) met sleutel TECTUM_CRM_KEY

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Machiel
2026-10-16 19:40:51 +02:00
co-authored by Claude Opus 5.5
parent db3e26d258
commit c69c3773dc
9 changed files with 653 additions and 169 deletions
+19
View File
@@ -248,6 +248,25 @@ dl.props dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.file .muted { padding: 0 0.5rem 0.35rem; font-size: 0.8rem; }
.viewer-frame { aspect-ratio: 16 / 10; min-height: 320px; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: var(--blue); }
.viewer-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.kaart-frame { height: 640px; max-height: 80vh; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: var(--blue); }
.kaart-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
/* documenten met versies (contact, relatie, portaal) */
.docs { margin-bottom: 1rem; }
.doc { border-top: 1px solid var(--line); }
.doc:first-child { border-top: 0; }
.doc > summary { list-style: none; display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0; font: inherit; }
.doc > summary::-webkit-details-marker { display: none; }
.doc[open] > summary { margin-bottom: 0.25rem; }
.doc .doc-icon { flex: 0 0 40px; height: 40px; border-radius: 10px; background: var(--blue); display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; color: var(--ink); }
.doc .doc-icon img { width: 100%; height: 100%; object-fit: cover; }
.doc .doc-main { min-width: 0; flex: 1; }
.doc .doc-title { display: block; color: var(--ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.doc .doc-main .muted { display: block; font-size: 0.8rem; }
.doc .versions { list-style: none; padding: 0 0 0 52px; margin: 0 0 0.5rem; font-size: 0.85rem; }
.doc .versions li { display: flex; flex-wrap: wrap; gap: 0 0.5rem; align-items: baseline; padding: 0.2rem 0; }
.doc .versions form { margin-left: auto; }
.doc .doc-forms { padding: 0 0 0.75rem 52px; }
.doc .doc-forms .actions { margin-top: 0.5rem; }
details summary { cursor: pointer; font-family: var(--font-heading); font-size: 1.3rem; font-weight: 500; }
details[open] summary { margin-bottom: 1rem; }
.mailbody { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 15px; line-height: 1.7; }