.evals-view root had no sizing, so flexbox shrank it to min-content and the disabled-state text wrapped one word per line. Add width/height:100% + min-0 + overflow to the root, flex:1 body, and a centered full-width empty-state wrapper; the disabled state now also renders the shared ViewHeader (icon+title) like the enabled state. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
130 lines
2.9 KiB
CSS
130 lines
2.9 KiB
CSS
/*
|
|
FNXC:Navigation 2026-06-22-01:10:
|
|
The shared .view-header sits at the top of the Evals view; the two-column results/detail grid moves into .evals-view__body so the header keeps the standard --space-lg inset while the body retains its side/bottom padding.
|
|
*/
|
|
/*
|
|
FNXC:Evals 2026-06-23-04:15:
|
|
Root must fill the main-content pane (full width + height) like InsightsView/ResearchView; previously it was a bare flex column with no sizing, so the column collapsed to min-content (~70px) and the empty-state text wrapped one word per line. `height: 100%; min-width: 0; min-height: 0` makes it occupy the flex/grid host cell; `overflow: hidden` lets the scrollable body own its own scroll.
|
|
*/
|
|
.evals-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.evals-view__body {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
gap: var(--space-lg);
|
|
padding: 0 var(--space-lg) var(--space-lg);
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow: auto;
|
|
}
|
|
|
|
/*
|
|
FNXC:Evals 2026-06-23-04:15:
|
|
Disabled/empty state now centers in the full-width pane beneath the shared ViewHeader instead of rendering as a min-content `card` column. The body fills remaining height and centers its content both axes.
|
|
*/
|
|
.evals-view__empty {
|
|
flex: 1;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--space-md);
|
|
padding: var(--space-lg);
|
|
text-align: center;
|
|
}
|
|
|
|
.evals-list,
|
|
.evals-detail {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-md);
|
|
padding: var(--space-lg);
|
|
}
|
|
|
|
.evals-toolbar {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto;
|
|
gap: var(--space-sm);
|
|
align-items: center;
|
|
}
|
|
|
|
.evals-results,
|
|
.evals-categories,
|
|
.evals-links,
|
|
.evals-follow-ups {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.evals-result {
|
|
width: 100%;
|
|
text-align: left;
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-md);
|
|
background: var(--card);
|
|
color: var(--text);
|
|
padding: var(--space-md);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-xs);
|
|
}
|
|
|
|
.evals-result--active {
|
|
border-color: var(--todo);
|
|
box-shadow: var(--focus-ring);
|
|
}
|
|
|
|
.evals-result-title,
|
|
.evals-detail-title,
|
|
.evals-title {
|
|
font-weight: 600;
|
|
}
|
|
|
|
.evals-result-meta,
|
|
.evals-empty-copy {
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.evals-state {
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.evals-state--error {
|
|
color: var(--color-error);
|
|
}
|
|
|
|
.evals-external-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--space-xs);
|
|
color: var(--text);
|
|
}
|
|
|
|
.evals-rationale {
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.evals-view__body {
|
|
grid-template-columns: 1fr;
|
|
padding: 0 var(--space-md) var(--space-md);
|
|
}
|
|
|
|
.evals-toolbar {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|