Align UI with web_template TDS v1.2 standards
- Replace lt-chip priority badges with lt-badge lt-badge-p[1-4] across DashboardView, TemplatesView (matches web_template sticky table pattern) - Add lt-theme-btn theme toggle to header-right; wire lt.theme.toggle() - Replace ASCII art empty state with lt-empty-state component in dashboard - Standardize tab wrapper lt-tabs → lt-tab-bar in Dashboard and TicketView - Add missing lt-keys-help modal to layout_footer (fixes ? key doing nothing) - Add lt-cmd-overlay command palette container + lt.cmdPalette.init() nav - Add .lt-timeline-action CSS rule (used in TicketView, was undefined) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+13
-12
@@ -143,7 +143,7 @@ include __DIR__ . '/layout_header.php';
|
||||
<!-- ═══════════════════════════════════════════════════════════
|
||||
VIEW TABS (Table / Kanban) — dual-purpose: lt.tabs + dashboard.js set-view-mode
|
||||
═══════════════════════════════════════════════════════════ -->
|
||||
<div class="lt-tabs" role="tablist" aria-label="Ticket view mode">
|
||||
<div class="lt-tab-bar" role="tablist" aria-label="Ticket view mode">
|
||||
<button type="button" id="tableViewBtn"
|
||||
class="lt-tab active"
|
||||
role="tab" aria-selected="true" aria-controls="tab-table"
|
||||
@@ -158,7 +158,7 @@ include __DIR__ . '/layout_header.php';
|
||||
data-action="set-view-mode" data-mode="card">
|
||||
⊕ Kanban
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- /.lt-tab-bar -->
|
||||
|
||||
<!-- ═══════════════════════════════════════════════════════════
|
||||
LAYOUT WRAPPER: sidebar + main content
|
||||
@@ -387,14 +387,15 @@ include __DIR__ . '/layout_header.php';
|
||||
<tbody>
|
||||
<?php if (empty($tickets)): ?>
|
||||
<tr>
|
||||
<td colspan="<?= $colCount ?>" class="lt-empty" style="text-align:center;padding:2rem">
|
||||
<pre class="lt-text-muted lt-text-xs" style="display:inline-block;text-align:left">
|
||||
╔══════════════════════════════════╗
|
||||
║ ║
|
||||
║ NO TICKETS FOUND ║
|
||||
║ [ ] Empty queue — all clear ║
|
||||
║ ║
|
||||
╚══════════════════════════════════╝</pre>
|
||||
<td colspan="<?= $colCount ?>" class="lt-empty">
|
||||
<div class="lt-empty-state">
|
||||
<div class="lt-empty-state-icon">📭</div>
|
||||
<div class="lt-empty-state-title">No Tickets Found</div>
|
||||
<div class="lt-empty-state-body">No tickets match your current filters.</div>
|
||||
<?php if (!empty($activeFilters) || !empty($_GET['search'])): ?>
|
||||
<a href="?" class="lt-btn lt-btn-sm lt-btn-ghost">Clear Filters</a>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php else: ?>
|
||||
@@ -422,8 +423,8 @@ include __DIR__ . '/layout_header.php';
|
||||
class="ticket-link"><?= htmlspecialchars($row['ticket_id']) ?></a>
|
||||
</td>
|
||||
<td data-label="Priority">
|
||||
<?php $chipClass = match($pNum) { 1 => 'lt-chip-critical', 2 => 'lt-chip-warn', 3 => 'lt-chip-info', default => 'lt-chip-ok' }; ?>
|
||||
<span class="lt-chip <?= $chipClass ?>">P<?= $pNum ?></span>
|
||||
<?php $badgeClass = match($pNum) { 1 => 'lt-badge-p1', 2 => 'lt-badge-p2', 3 => 'lt-badge-p3', default => 'lt-badge-p4' }; ?>
|
||||
<span class="lt-badge <?= $badgeClass ?>">P<?= $pNum ?></span>
|
||||
</td>
|
||||
<td data-label="Title"><?= htmlspecialchars($row['title']) ?></td>
|
||||
<td data-label="Category" class="lt-text-muted lt-text-xs"><?= htmlspecialchars($row['category']) ?></td>
|
||||
|
||||
Reference in New Issue
Block a user