UI-Anpassungen
Dieser Commit ist enthalten in:
committet von
Server Deploy
Ursprung
7d67557be4
Commit
ef153789cc
@ -173,13 +173,67 @@
|
||||
<div class="header-center">
|
||||
<!-- View Tabs -->
|
||||
<nav class="view-tabs">
|
||||
<button class="view-tab active" data-view="board">Board</button>
|
||||
<button class="view-tab" data-view="list">Liste</button>
|
||||
<button class="view-tab" data-view="calendar">Kalender</button>
|
||||
<button class="view-tab" data-view="proposals">Genehmigung</button>
|
||||
<button class="view-tab" data-view="coding">Coding</button>
|
||||
<button class="view-tab" data-view="knowledge">Wissen</button>
|
||||
<button class="view-tab" data-view="contacts">Kontakte</button>
|
||||
<button class="view-tab active" data-view="board">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<rect x="3" y="3" width="7" height="7" rx="1"/>
|
||||
<rect x="14" y="3" width="7" height="7" rx="1"/>
|
||||
<rect x="3" y="14" width="7" height="7" rx="1"/>
|
||||
<rect x="14" y="14" width="7" height="7" rx="1"/>
|
||||
</svg>
|
||||
Board
|
||||
</button>
|
||||
<button class="view-tab" data-view="list">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<line x1="8" y1="6" x2="21" y2="6"/>
|
||||
<line x1="8" y1="12" x2="21" y2="12"/>
|
||||
<line x1="8" y1="18" x2="21" y2="18"/>
|
||||
<circle cx="3.5" cy="6" r="1" fill="currentColor"/>
|
||||
<circle cx="3.5" cy="12" r="1" fill="currentColor"/>
|
||||
<circle cx="3.5" cy="18" r="1" fill="currentColor"/>
|
||||
</svg>
|
||||
Liste
|
||||
</button>
|
||||
<button class="view-tab" data-view="calendar">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<rect x="3" y="4" width="18" height="18" rx="2"/>
|
||||
<line x1="16" y1="2" x2="16" y2="6"/>
|
||||
<line x1="8" y1="2" x2="8" y2="6"/>
|
||||
<line x1="3" y1="10" x2="21" y2="10"/>
|
||||
<circle cx="12" cy="16" r="1" fill="currentColor"/>
|
||||
</svg>
|
||||
Kalender
|
||||
</button>
|
||||
<button class="view-tab" data-view="proposals">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M9 11l3 3L22 4"/>
|
||||
<path d="M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"/>
|
||||
</svg>
|
||||
Genehmigung
|
||||
</button>
|
||||
<button class="view-tab" data-view="coding">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<polyline points="16 18 22 12 16 6"/>
|
||||
<polyline points="8 6 2 12 8 18"/>
|
||||
<line x1="12" y1="20" x2="12" y2="4" transform="rotate(-15 12 12)"/>
|
||||
</svg>
|
||||
Coding
|
||||
</button>
|
||||
<button class="view-tab" data-view="knowledge">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/>
|
||||
<path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>
|
||||
</svg>
|
||||
Wissen
|
||||
</button>
|
||||
<button class="view-tab" data-view="contacts">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/>
|
||||
<circle cx="9" cy="7" r="4"/>
|
||||
<path d="M23 21v-2a4 4 0 0 0-3-3.87"/>
|
||||
<path d="M16 3.13a4 4 0 0 1 0 7.75"/>
|
||||
</svg>
|
||||
Kontakte
|
||||
</button>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@ -579,42 +633,103 @@
|
||||
|
||||
<!-- Contacts View -->
|
||||
<div id="view-contacts" class="view view-contacts hidden">
|
||||
<div class="contacts-header">
|
||||
<h2>Kontakte</h2>
|
||||
<button id="btn-new-contact" class="btn btn-primary">
|
||||
<i class="fas fa-plus"></i>
|
||||
Neuer Kontakt
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="contacts-controls">
|
||||
<div class="contacts-filters">
|
||||
<select id="contacts-tag-filter">
|
||||
<option value="">Alle Tags</option>
|
||||
</select>
|
||||
<select id="contacts-sort">
|
||||
<option value="created_at-desc">Neueste zuerst</option>
|
||||
<option value="created_at-asc">Älteste zuerst</option>
|
||||
<option value="name-asc">Name (A-Z)</option>
|
||||
<option value="name-desc">Name (Z-A)</option>
|
||||
<option value="company-asc">Firma (A-Z)</option>
|
||||
<option value="company-desc">Firma (Z-A)</option>
|
||||
</select>
|
||||
<div class="view-wrapper">
|
||||
<div class="contacts-header">
|
||||
<h2>Kontakte</h2>
|
||||
<div class="header-actions">
|
||||
<div class="contacts-stats">
|
||||
<span id="contacts-count">0 Kontakte</span>
|
||||
</div>
|
||||
<button id="btn-export-contacts" class="btn btn-secondary btn-export">
|
||||
<svg viewBox="0 0 24 24" width="16" height="16">
|
||||
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
Exportieren
|
||||
</button>
|
||||
<button id="btn-new-contact" class="btn btn-primary">
|
||||
<svg viewBox="0 0 24 24" width="18" height="18">
|
||||
<path d="M12 5v14M5 12h14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round"/>
|
||||
</svg>
|
||||
Neuer Kontakt
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="contacts-grid" class="contacts-grid">
|
||||
<!-- Contact cards will be rendered here -->
|
||||
</div>
|
||||
<div class="contacts-controls">
|
||||
<div class="contacts-controls-top">
|
||||
<div class="bulk-actions hidden" id="bulk-actions">
|
||||
<span class="bulk-actions-info"><span id="selected-count">0</span> ausgewählt</span>
|
||||
<button id="btn-bulk-delete" class="btn btn-danger btn-sm">
|
||||
<svg viewBox="0 0 24 24" width="16" height="16">
|
||||
<path d="M3 6h18M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2m3 0v12a2 2 0 01-2 2H7a2 2 0 01-2-2V6h14M10 11v6M14 11v6" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
Löschen
|
||||
</button>
|
||||
<button id="btn-deselect-all" class="btn btn-secondary btn-sm">Abwählen</button>
|
||||
</div>
|
||||
<div class="contacts-filters">
|
||||
<div class="filter-group">
|
||||
<label for="contacts-tag-filter" class="sr-only">Tags filtern</label>
|
||||
<select id="contacts-tag-filter" class="filter-select">
|
||||
<option value="">Alle Tags</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="contacts-empty" class="contacts-empty hidden">
|
||||
<i class="fas fa-address-book"></i>
|
||||
<h3>Keine Kontakte vorhanden</h3>
|
||||
<p>Erstellen Sie Ihren ersten Kontakt.</p>
|
||||
<button class="btn btn-primary" onclick="document.getElementById('btn-new-contact').click()">
|
||||
<i class="fas fa-plus"></i>
|
||||
Ersten Kontakt erstellen
|
||||
</button>
|
||||
<div class="contacts-table-container">
|
||||
<table class="contacts-table" id="contacts-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="checkbox-cell">
|
||||
<input type="checkbox" class="table-checkbox" id="select-all-contacts">
|
||||
</th>
|
||||
<th class="sortable" data-sort="name">Name</th>
|
||||
<th class="sortable" data-sort="company">Firma</th>
|
||||
<th class="sortable hide-mobile" data-sort="position">Position</th>
|
||||
<th class="sortable" data-sort="email">E-Mail</th>
|
||||
<th class="hide-mobile">Telefon</th>
|
||||
<th>Tags</th>
|
||||
<th>Aktionen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="contacts-tbody">
|
||||
<!-- Table rows will be rendered here -->
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="pagination hidden" id="contacts-pagination">
|
||||
<button class="pagination-btn" id="btn-prev-page" disabled>
|
||||
<svg viewBox="0 0 24 24" width="16" height="16">
|
||||
<path d="M15 18l-6-6 6-6" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
<span class="pagination-info">
|
||||
Seite <span id="current-page">1</span> von <span id="total-pages">1</span>
|
||||
</span>
|
||||
<button class="pagination-btn" id="btn-next-page" disabled>
|
||||
<svg viewBox="0 0 24 24" width="16" height="16">
|
||||
<path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="contacts-empty" class="contacts-empty hidden">
|
||||
<div class="empty-icon">
|
||||
<svg viewBox="0 0 24 24" width="64" height="64" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3>Keine Kontakte vorhanden</h3>
|
||||
<p>Erstellen Sie Ihren ersten Kontakt.</p>
|
||||
<button class="btn btn-primary" onclick="document.getElementById('btn-new-contact').click()">
|
||||
<svg viewBox="0 0 24 24" width="18" height="18">
|
||||
<path d="M12 5v14M5 12h14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round"/>
|
||||
</svg>
|
||||
Ersten Kontakt erstellen
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1915,23 +2030,19 @@
|
||||
<input type="hidden" id="reminder-color" value="#F59E0B">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="reminder-advance">Erinnerung</label>
|
||||
<label for="reminder-advance">Vorab-Erinnerung</label>
|
||||
<div class="advance-options">
|
||||
<label class="checklist-item">
|
||||
<input type="checkbox" name="advance-days" value="1" checked>
|
||||
<span class="checklist-checkbox"></span>
|
||||
<span class="checklist-text">1 Tag vorher</span>
|
||||
</label>
|
||||
<label class="checklist-item">
|
||||
<input type="checkbox" name="advance-days" value="2">
|
||||
<span class="checklist-checkbox"></span>
|
||||
<span class="checklist-text">2 Tage vorher</span>
|
||||
</label>
|
||||
<label class="checklist-item">
|
||||
<input type="checkbox" name="advance-days" value="3">
|
||||
<span class="checklist-checkbox"></span>
|
||||
<span class="checklist-text">3 Tage vorher</span>
|
||||
</label>
|
||||
<div class="reminder-advance-control">
|
||||
<div class="reminder-advance-inputs">
|
||||
<input type="number" id="reminder-advance-number" min="1" max="9" value="1" class="form-control reminder-number-input">
|
||||
<select id="reminder-advance-unit" class="form-control reminder-unit-select">
|
||||
<option value="day">Tag(e)</option>
|
||||
<option value="week">Woche(n)</option>
|
||||
<option value="month">Monat(e)</option>
|
||||
</select>
|
||||
<span class="reminder-advance-suffix">vorher</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren