Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 186 additions & 0 deletions css/components.css
Original file line number Diff line number Diff line change
Expand Up @@ -1188,6 +1188,67 @@ select {
color: var(--text-muted);
}

.empty-state.enhanced {
padding: var(--space-xxl) var(--space-xl);
background: var(--bg-secondary);
border: 1px solid var(--border-default);
border-radius: var(--radius-xl);
max-width: 500px;
margin: var(--space-xl) auto;
}

.empty-state-icon-wrapper {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, rgba(88, 166, 255, 0.1) 0%, rgba(163, 113, 247, 0.1) 100%);
border-radius: var(--radius-xl);
margin-bottom: var(--space-lg);
}

.empty-state-icon-wrapper .material-icons {
font-size: 40px;
color: var(--accent-primary);
}

.empty-state.enhanced h3 {
font-size: var(--text-xl);
font-weight: 600;
color: var(--text-primary);
margin: 0 0 var(--space-sm) 0;
}

.empty-state.enhanced p {
font-size: var(--text-sm);
color: var(--text-secondary);
max-width: 400px;
margin: 0 0 var(--space-lg) 0;
line-height: 1.6;
}

.empty-state-actions {
display: flex;
gap: var(--space-sm);
margin-bottom: var(--space-lg);
}

.empty-state-hint {
display: flex;
align-items: center;
gap: var(--space-xs);
font-size: var(--text-xs);
color: var(--text-muted);
padding: var(--space-sm) var(--space-md);
background: var(--bg-tertiary);
border-radius: var(--radius-md);
}

.empty-state-hint .material-icons {
font-size: 14px;
}

.empty-state-icon {
font-size: 48px;
margin-bottom: var(--space-md);
Expand Down Expand Up @@ -5860,6 +5921,131 @@ select {
--health-color: #6b7280;
}

/* Getting Started Banner */
.getting-started-banner {
background: linear-gradient(135deg, rgba(88, 166, 255, 0.1) 0%, rgba(163, 113, 247, 0.1) 100%);
border: 1px solid rgba(88, 166, 255, 0.3);
border-radius: var(--radius-xl);
padding: var(--space-xl);
margin-bottom: var(--space-lg);
animation: fadeIn 0.5s ease;
}

.getting-started-content {
display: flex;
align-items: center;
gap: var(--space-lg);
margin-bottom: var(--space-lg);
}

.getting-started-icon {
width: 64px;
height: 64px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
border-radius: var(--radius-lg);
flex-shrink: 0;
}

.getting-started-icon .material-icons {
font-size: 32px;
color: white;
}

.getting-started-text {
flex: 1;
}

.getting-started-text h2 {
font-size: var(--text-xl);
font-weight: 700;
margin: 0 0 var(--space-xs) 0;
color: var(--text-primary);
}

.getting-started-text p {
font-size: var(--text-sm);
color: var(--text-secondary);
margin: 0;
}

.getting-started-actions {
display: flex;
gap: var(--space-sm);
flex-shrink: 0;
}

.btn-lg {
padding: var(--space-md) var(--space-xl);
font-size: var(--text-base);
}

.getting-started-steps {
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-md);
padding: var(--space-md);
background: var(--bg-secondary);
border-radius: var(--radius-lg);
}

.getting-started-steps .step {
display: flex;
align-items: center;
gap: var(--space-sm);
}

.getting-started-steps .step-number {
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
background: var(--accent-primary);
color: white;
border-radius: var(--radius-full);
font-weight: 600;
font-size: var(--text-sm);
flex-shrink: 0;
}

.getting-started-steps .step-text {
font-size: var(--text-sm);
color: var(--text-secondary);
white-space: nowrap;
}

.getting-started-steps .step-arrow {
color: var(--text-muted);
}

.getting-started-steps .step-arrow .material-icons {
font-size: 20px;
}

@media (max-width: 1024px) {
.getting-started-content {
flex-direction: column;
text-align: center;
}

.getting-started-actions {
flex-direction: column;
width: 100%;
}

.getting-started-steps {
flex-wrap: wrap;
}

.getting-started-steps .step-arrow {
display: none;
}
}

/* Metrics Grid - 4-column balanced design */
.dashboard-metrics {
display: grid;
Expand Down
88 changes: 88 additions & 0 deletions css/layout.css
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,94 @@ body {
font-size: 20px;
}

.nav-label {
display: inline;
}

@media (max-width: 1200px) {
.nav-label {
display: none;
}
.nav-tab {
padding: var(--space-sm);
}
}

.nav-dropdown {
position: relative;
}

.nav-dropdown-toggle {
cursor: pointer;
}

.nav-dropdown-arrow {
font-size: 16px !important;
transition: transform var(--transition-fast);
}

.nav-dropdown:hover .nav-dropdown-arrow,
.nav-dropdown.open .nav-dropdown-arrow {
transform: rotate(180deg);
}

.nav-dropdown-menu {
position: absolute;
top: 100%;
right: 0;
min-width: 200px;
background: var(--bg-secondary);
border: 1px solid var(--border-default);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-lg);
padding: var(--space-xs);
opacity: 0;
visibility: hidden;
transform: translateY(-8px);
transition: all var(--transition-fast);
z-index: var(--z-dropdown);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.nav-dropdown-item {
display: flex;
align-items: center;
gap: var(--space-sm);
width: 100%;
padding: var(--space-sm) var(--space-md);
font-size: var(--text-sm);
color: var(--text-secondary);
border-radius: var(--radius-md);
transition: all var(--transition-fast);
text-align: left;
}

.nav-dropdown-item:hover {
background: var(--bg-hover);
color: var(--text-primary);
}

.nav-dropdown-item .material-icons {
font-size: 18px;
}

.nav-dropdown-item.active {
color: var(--accent-primary);
background: var(--bg-tertiary);
}

.nav-dropdown-divider {
height: 1px;
background: var(--border-default);
margin: var(--space-xs) 0;
}

.header-right {
display: flex;
align-items: center;
Expand Down
71 changes: 41 additions & 30 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -61,49 +61,60 @@
<div class="nav-tabs">
<button class="nav-tab active" data-view="dashboard" data-tooltip="System overview - health, metrics, and quick actions.">
<span class="material-icons">dashboard</span>
Overview
<span class="nav-label">Overview</span>
</button>
<button class="nav-tab" data-view="convoys" data-tooltip="Groups of related work items. Track progress across multiple tasks.">
<span class="material-icons">local_shipping</span>
Convoys
<span class="nav-label">Convoys</span>
</button>
<button class="nav-tab" data-view="work" data-tooltip="Individual tasks (beads) and their completion status.">
<span class="material-icons">task_alt</span>
Work
<span class="nav-label">Work</span>
</button>
<button class="nav-tab" data-view="agents" data-tooltip="Worker agents: Mayor, Witness, Refinery, and Polecats.">
<span class="material-icons">groups</span>
Agents
<span class="nav-label">Agents</span>
</button>
<button class="nav-tab" data-view="rigs" data-tooltip="Git projects with their agents and GitHub integration.">
<span class="material-icons">folder_special</span>
Rigs
</button>
<button class="nav-tab" data-view="crews" data-tooltip="Teams of polecats for coordinated work.">
<span class="material-icons">groups</span>
Crews
</button>
<button class="nav-tab" data-view="prs" data-tooltip="GitHub Pull Requests across all connected repositories.">
<span class="material-icons">merge_type</span>
PRs
</button>
<button class="nav-tab" data-view="formulas" data-tooltip="Workflow templates for repeatable tasks.">
<span class="material-icons">science</span>
Formulas
</button>
<button class="nav-tab" data-view="issues" data-tooltip="GitHub Issues across connected repositories.">
<span class="material-icons">bug_report</span>
Issues
</button>
<button class="nav-tab" data-view="mail" data-tooltip="Messages between agents and the human overseer.">
<span class="material-icons">mail</span>
Mail
<span class="badge hidden" id="mail-badge">0</span>
</button>
<button class="nav-tab" data-view="health" data-tooltip="System health check - verify Gas Town configuration.">
<span class="material-icons">health_and_safety</span>
Health
<span class="nav-label">Rigs</span>
</button>
<div class="nav-dropdown">
<button class="nav-tab nav-dropdown-toggle" data-tooltip="More options">
<span class="material-icons">more_horiz</span>
<span class="nav-label">More</span>
<span class="material-icons nav-dropdown-arrow">expand_more</span>
</button>
<div class="nav-dropdown-menu">
<button class="nav-dropdown-item" data-view="crews" data-tooltip="Teams of polecats for coordinated work.">
<span class="material-icons">groups</span>
Crews
</button>
<button class="nav-dropdown-item" data-view="formulas" data-tooltip="Workflow templates for repeatable tasks.">
<span class="material-icons">science</span>
Formulas
</button>
<div class="nav-dropdown-divider"></div>
<button class="nav-dropdown-item" data-view="prs" data-tooltip="GitHub Pull Requests across all connected repositories.">
<span class="material-icons">merge_type</span>
Pull Requests
</button>
<button class="nav-dropdown-item" data-view="issues" data-tooltip="GitHub Issues across connected repositories.">
<span class="material-icons">bug_report</span>
Issues
</button>
<div class="nav-dropdown-divider"></div>
<button class="nav-dropdown-item" data-view="mail" data-tooltip="Messages between agents and the human overseer.">
<span class="material-icons">mail</span>
Mail
<span class="badge hidden" id="mail-badge">0</span>
</button>
<button class="nav-dropdown-item" data-view="health" data-tooltip="System health check - verify Gas Town configuration.">
<span class="material-icons">health_and_safety</span>
Health
</button>
</div>
</div>
</div>
</div>
<div class="header-right">
Expand Down
Loading
Loading