Files
dguiducci 0ed94225b2
Nightly Build / build (push) Successful in 7m17s
web: unify page headers into one shared page-header bar
Every full-page view now renders the same sticky top bar (back button,
title, right-side actions) from the new web/css/page-header.css,
replacing a dozen per-page duplicates (.page-panel-header,
.project-page-header, .task-page-header, .llm-page-header, .um-header,
.apr-header, .llmr-header, .pv-header, .sa-header, .config-page-header,
.agents-page-header). Pages that padded the whole container (config,
agents, system-agents, llm-requests, models-hub) move that padding into
a body wrapper so the bar sits flush and stays pinned on scroll.
Back buttons are standardized to the icon-only .page-header-back.
2026-07-29 12:36:24 +01:00

113 lines
2.2 KiB
CSS

/* ── Project list page ─────────────────────────────────────────────────────── */
.project-page {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
width: 100%;
}
/* ── Grid ── */
.project-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 16px;
padding: 20px;
align-content: start;
overflow-y: auto;
flex: 1;
}
/* ── Card ── */
.project-card {
display: flex;
flex-direction: column;
gap: 8px;
background: var(--bs-body-bg);
border: 1px solid var(--bs-border-color);
border-radius: 10px;
padding: 16px;
cursor: pointer;
transition: border-color 0.15s, box-shadow 0.15s;
}
.project-card:hover {
border-color: var(--bs-primary-border-subtle, #9ec5fe);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.project-card-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 8px;
}
.project-card-title {
font-weight: 600;
font-size: 0.95rem;
line-height: 1.3;
flex: 1;
min-width: 0;
}
.project-card-actions {
display: flex;
gap: 4px;
flex-shrink: 0;
}
.project-card-icon-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border: none;
border-radius: 6px;
background: transparent;
color: var(--bs-secondary-color);
opacity: 0.6;
cursor: pointer;
transition: opacity 0.12s, background 0.12s;
}
.project-card-icon-btn:hover {
opacity: 1;
background: var(--bs-secondary-bg);
}
.project-card-icon-btn--danger:hover {
color: var(--bs-danger, #dc3545);
background: rgba(220, 53, 69, 0.08);
}
.project-card-path {
font-size: 0.78rem;
color: var(--bs-secondary-color);
font-family: var(--bs-font-monospace, monospace);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.project-card-desc {
font-size: 0.82rem;
color: var(--bs-secondary-color);
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.project-card-meta {
font-size: 0.72rem;
color: var(--bs-secondary-color);
margin-top: auto;
padding-top: 4px;
}