Summary
Move the log mode indicator (Local/Azure) from a separate row into the log pane header as a persistent, right-aligned badge to reduce vertical space while maintaining clear visibility of which logs are being displayed.
Motivation
Currently, each log pane consumes two rows for headers:
- Service name, icons, and actions
- Full-width mode bar showing "Viewing Azure Logs • Live from Azure resources"
This wastes valuable vertical space that could display more logs. Moving the mode indicator into the header as a compact badge will:
- ✅ Reclaim ~30px vertical space per log pane
- ✅ Maintain persistent visibility of log source (never hidden)
- ✅ Enable faster visual scanning across multiple panes
- ✅ Reduce visual clutter without sacrificing clarity
Current vs Proposed
Current: Two-row header
\
┌─────────────────────────────────────────────────────────┐
│ ⌄ service-name:3000 ⚫ ✓ [Actions] │
├─────────────────────────────────────────────────────────┤
│ ☁ Viewing Azure Logs • Live from Azure resources │
├─────────────────────────────────────────────────────────┤
│ [Logs...] │
\\
Proposed: Single-row header with mode badge
\
┌─────────────────────────────────────────────────────────┐
│ ⌄ service-name:3000 ⚫ ✓ [☁ Azure] [Actions] │
├─────────────────────────────────────────────────────────┤
│ [Logs...] │
\\
Design Details
Mode Badge Component
Local Mode:
- Icon: Monitor (💻)
- Text: "Local"
- Colors: Gray with subtle background
- Tooltip: "Viewing local development logs"
Azure Mode:
- Icon: Cloud (☁️)
- Text: "Azure"
- Colors: Azure blue theme
- Tooltip: "Viewing Azure resource logs"
Switching State:
- Icon: Spinner (animated)
- Text: "Switching..."
- Visual feedback during mode transitions
Header Positioning
Badge placement (left to right):
- Collapse chevron
- Service name + port
- Process status icon
- Health status icon
- → Log mode badge ← NEW
- Action buttons (ServiceActions, Settings, ExternalLink, etc.)
Implementation Tasks
1. Create LogModeBadge Component
2. Update LogsPaneHeader
3. Remove LogsPaneModeBar
4. Testing
Files to Modify
- \cli/dashboard/src/components/LogsPaneHeader.tsx\ - Add badge component
- \cli/dashboard/src/components/LogsPane.tsx\ - Remove mode bar usage
- \cli/dashboard/src/components/LogsPaneAzureControls.tsx\ - Mark as deprecated
Success Criteria
- ✅ Mode badge always visible in header (never hidden)
- ✅ ~30px vertical space reclaimed per log pane
- ✅ Switching state shows clear visual feedback
- ✅ WCAG AA color contrast maintained
- ✅ No usability regressions
- ✅ All existing tests pass
Documentation
📋 Full Spec: docs/specs/log-mode-header-indicator/spec.md
Type: UI Enhancement
Priority: P2
Effort: Small (~4-6 hours)
Component: Dashboard Logs
Summary
Move the log mode indicator (Local/Azure) from a separate row into the log pane header as a persistent, right-aligned badge to reduce vertical space while maintaining clear visibility of which logs are being displayed.
Motivation
Currently, each log pane consumes two rows for headers:
This wastes valuable vertical space that could display more logs. Moving the mode indicator into the header as a compact badge will:
Current vs Proposed
Current: Two-row header
\
┌─────────────────────────────────────────────────────────┐
│ ⌄ service-name:3000 ⚫ ✓ [Actions] │
├─────────────────────────────────────────────────────────┤
│ ☁ Viewing Azure Logs • Live from Azure resources │
├─────────────────────────────────────────────────────────┤
│ [Logs...] │
\\
Proposed: Single-row header with mode badge
\
┌─────────────────────────────────────────────────────────┐
│ ⌄ service-name:3000 ⚫ ✓ [☁ Azure] [Actions] │
├─────────────────────────────────────────────────────────┤
│ [Logs...] │
\\
Design Details
Mode Badge Component
Local Mode:
Azure Mode:
Switching State:
Header Positioning
Badge placement (left to right):
Implementation Tasks
1. Create LogModeBadge Component
2. Update LogsPaneHeader
3. Remove LogsPaneModeBar
4. Testing
Files to Modify
Success Criteria
Documentation
📋 Full Spec: docs/specs/log-mode-header-indicator/spec.md
Type: UI Enhancement
Priority: P2
Effort: Small (~4-6 hours)
Component: Dashboard Logs