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:
1 parent
8abf11ad18
commit
8f6927fbb0
8 files changed
+862
-186
No files matched your search
@@ -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; }
|
||||
}
|
||||
Reference in new issue
Block a user