feat: Rechnungen, Dokumente und Preview im Ticket buendeln

- InvoiceNinja-Rechnungen pro Kunde/Ticket anzeigen, verknuepfen und aus
  Ticket heraus erstellen (integrationsApi, useInvoices, InvoicePanel)
- Paperless-ngx: Ticket-Uploads automatisch synchronisieren und Kunden-/
  Ticket-Dokumente durchsuchen/anzeigen (DocumentsPanel, FileUploadModal)
- Projekt-/Preview-Karte mit Status, Provisioning und letztem Commit
- Einheitliches Ticket-Detail mit Tabs (Details/Arbeitsblaetter/Rechnungen/
  Dokumente/Projekt) + zugehoerige Styles

Aufruf des Integrations-Backends same-origin per Appwrite-JWT.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Webklar DeployandCursor committed 2026-06-17 09:13:35 +00:00
1 parent 8abf11ad18
commit 8f6927fbb0
8 files changed
+862 -186

No files matched your search

+34
View File
@@ -789,8 +789,42 @@ textarea.form-control {
margin-top: 32px;
}
/* Ticket-Detail Tabs */
.ticket-tabs {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin-bottom: 16px;
border-bottom: 1px solid rgba(16, 185, 129, 0.2);
padding-bottom: 8px;
}
.ticket-tab {
background: rgba(45, 55, 72, 0.5);
color: #cbd5e0;
border: 1px solid rgba(16, 185, 129, 0.15);
border-radius: 8px 8px 0 0;
padding: 10px 18px;
font-weight: 600;
font-size: 14px;
cursor: pointer;
transition: all 0.15s ease;
}
.ticket-tab:hover {
background: rgba(16, 185, 129, 0.12);
color: var(--dark-text);
}
.ticket-tab-active {
background: linear-gradient(135deg, #10b981 0%, #059669 100%);
color: #fff;
border-color: transparent;
}
.ticket-tab-content {
min-height: 120px;
}
/* Responsive */
@media (max-width: 768px) {
.col-6 { width: 100%; }
.navbar-nav { display: none; }
.ticket-tab { padding: 8px 12px; font-size: 13px; }
}