283 lines
9.5 KiB
HTML
283 lines
9.5 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Shot Toolbar Consistent Height Test</title>
|
||
<style>
|
||
body {
|
||
margin: 0;
|
||
padding: 20px;
|
||
font-family: Arial, sans-serif;
|
||
background: #f5f5f5;
|
||
}
|
||
|
||
.toolbar {
|
||
background: rgba(255, 255, 255, 0.95);
|
||
backdrop-filter: blur(8px);
|
||
border: 1px solid #e5e5e5;
|
||
border-radius: 8px;
|
||
padding: 1rem 1.5rem;
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
.toolbar-row {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 1rem;
|
||
}
|
||
|
||
.left-filters {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 0.5rem;
|
||
align-items: center;
|
||
}
|
||
|
||
.right-actions {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.5rem;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
/* All components have consistent height of 32px (h-8) */
|
||
.component {
|
||
height: 32px;
|
||
display: flex;
|
||
align-items: center;
|
||
border: 1px solid #e5e5e5;
|
||
border-radius: 6px;
|
||
background: white;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.view-toggle {
|
||
padding: 2px;
|
||
display: flex;
|
||
}
|
||
|
||
.view-btn {
|
||
height: 28px;
|
||
width: 28px;
|
||
border: none;
|
||
background: transparent;
|
||
border-radius: 4px;
|
||
cursor: pointer;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.view-btn.active {
|
||
background: #f1f5f9;
|
||
}
|
||
|
||
.filter-btn {
|
||
padding: 0 12px;
|
||
border-style: dashed;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.search-input {
|
||
width: 256px;
|
||
height: 32px;
|
||
padding: 0 12px 0 36px;
|
||
border: 1px solid #e5e5e5;
|
||
border-radius: 6px;
|
||
}
|
||
|
||
.search-container {
|
||
position: relative;
|
||
}
|
||
|
||
.search-icon {
|
||
position: absolute;
|
||
left: 12px;
|
||
top: 50%;
|
||
transform: translateY(-50%);
|
||
width: 16px;
|
||
height: 16px;
|
||
color: #6b7280;
|
||
}
|
||
|
||
/* Icon-only action buttons */
|
||
.action-btn {
|
||
height: 32px;
|
||
width: 32px;
|
||
padding: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.action-btn.outline {
|
||
border: 1px solid #e5e5e5;
|
||
background: white;
|
||
}
|
||
|
||
.action-btn.primary {
|
||
background: #3b82f6;
|
||
color: white;
|
||
border: 1px solid #3b82f6;
|
||
}
|
||
|
||
.badge {
|
||
background: #f1f5f9;
|
||
color: #475569;
|
||
padding: 2px 6px;
|
||
border-radius: 4px;
|
||
font-size: 12px;
|
||
margin-left: 8px;
|
||
}
|
||
|
||
.highlight {
|
||
background: #fef3c7;
|
||
padding: 1rem;
|
||
border-radius: 8px;
|
||
margin-bottom: 1rem;
|
||
border-left: 4px solid #f59e0b;
|
||
}
|
||
|
||
.icon {
|
||
width: 16px;
|
||
height: 16px;
|
||
display: inline-block;
|
||
}
|
||
|
||
/* Height indicator for visual verification */
|
||
.height-indicator {
|
||
position: relative;
|
||
}
|
||
|
||
.height-indicator::after {
|
||
content: '32px';
|
||
position: absolute;
|
||
top: -20px;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
font-size: 10px;
|
||
color: #ef4444;
|
||
background: white;
|
||
padding: 2px 4px;
|
||
border-radius: 2px;
|
||
border: 1px solid #ef4444;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="highlight">
|
||
<strong>✅ Shot Toolbar Consistent Height & Icon-Only Actions:</strong>
|
||
<ul>
|
||
<li>All components now have consistent height of 32px (h-8)</li>
|
||
<li>Action buttons display icons only (no text)</li>
|
||
<li>Search field also uses h-8 for consistency</li>
|
||
<li>Detail panel toggle button fixed to use h-8</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- Updated Toolbar with Consistent Heights -->
|
||
<div class="toolbar">
|
||
<div class="toolbar-row">
|
||
<!-- Left Side - Filters (all h-8) -->
|
||
<div class="left-filters">
|
||
<!-- View Toggle (h-8) -->
|
||
<div class="component view-toggle height-indicator">
|
||
<button class="view-btn">⊞</button>
|
||
<button class="view-btn">☰</button>
|
||
<button class="view-btn active">⊟</button>
|
||
</div>
|
||
|
||
<!-- Episode Filter (h-8) -->
|
||
<button class="component filter-btn height-indicator">
|
||
🎬 Episode
|
||
<span class="badge">1</span>
|
||
</button>
|
||
|
||
<!-- Task Status Filter (h-8) -->
|
||
<button class="component filter-btn height-indicator">
|
||
📊 Task Status
|
||
<span class="badge">2</span>
|
||
</button>
|
||
|
||
<!-- Column Visibility (h-8) -->
|
||
<button class="component filter-btn height-indicator">
|
||
⚙️ View
|
||
<span class="badge">3</span>
|
||
</button>
|
||
|
||
<!-- Detail Panel Toggle (h-8) -->
|
||
<button class="component filter-btn height-indicator">
|
||
📱 Hide Details
|
||
</button>
|
||
|
||
<!-- Clear Filters (h-8) -->
|
||
<button class="component filter-btn height-indicator">
|
||
Reset ✕
|
||
</button>
|
||
</div>
|
||
|
||
<!-- Right Side - Search and Actions (all h-8) -->
|
||
<div class="right-actions">
|
||
<!-- Search (h-8) -->
|
||
<div class="search-container height-indicator">
|
||
<span class="search-icon">🔍</span>
|
||
<input type="text" class="search-input" placeholder="Search shots..." />
|
||
</div>
|
||
|
||
<!-- Action Buttons (h-8, w-8, icon only) -->
|
||
<button class="action-btn outline height-indicator" title="Bulk Create">
|
||
<span class="icon">📚</span>
|
||
</button>
|
||
<button class="action-btn primary height-indicator" title="Create Shot">
|
||
<span class="icon">➕</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Before/After Comparison -->
|
||
<div class="highlight" style="background: #fee2e2; border-color: #ef4444;">
|
||
<strong>❌ Before (inconsistent heights and text in action buttons):</strong>
|
||
</div>
|
||
|
||
<div class="toolbar" style="opacity: 0.6;">
|
||
<div class="toolbar-row">
|
||
<div class="left-filters">
|
||
<div class="component view-toggle" style="height: 32px;">
|
||
<button class="view-btn">⊞</button>
|
||
<button class="view-btn">☰</button>
|
||
<button class="view-btn active">⊟</button>
|
||
</div>
|
||
<button class="component filter-btn" style="height: 32px;">🎬 Episode</button>
|
||
<button class="component filter-btn" style="height: 32px;">📊 Status</button>
|
||
<button class="component filter-btn" style="height: auto; padding: 8px 12px;">📱 Hide Details</button>
|
||
</div>
|
||
<div class="right-actions">
|
||
<div class="search-container">
|
||
<span class="search-icon">🔍</span>
|
||
<input type="text" class="search-input" style="height: auto;" placeholder="Search..." />
|
||
</div>
|
||
<button class="component" style="height: auto; padding: 6px 12px;">📚 Bulk Create</button>
|
||
<button class="component primary" style="height: auto; padding: 6px 12px;">➕ Create Shot</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Visual Height Comparison -->
|
||
<div class="highlight" style="background: #e0f2fe; border-color: #0284c7;">
|
||
<strong>📏 Height Consistency Verification:</strong>
|
||
<p>All components now align perfectly with the same 32px height, creating a clean and professional appearance.</p>
|
||
</div>
|
||
|
||
<!-- Component Height Reference -->
|
||
<div style="display: flex; gap: 1rem; align-items: center; margin: 1rem 0;">
|
||
<div style="height: 32px; width: 100px; background: #3b82f6; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: white; font-size: 12px;">32px Reference</div>
|
||
<div style="height: 28px; width: 100px; background: #ef4444; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: white; font-size: 12px;">28px (Wrong)</div>
|
||
<div style="height: 36px; width: 100px; background: #ef4444; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: white; font-size: 12px;">36px (Wrong)</div>
|
||
</div>
|
||
</body>
|
||
</html> |