mirror of
https://github.com/awizemann/scarf.git
synced 2026-05-08 02:14:37 +00:00
8a2d89654b
Add a typed design-system package (Packages/ScarfDesign) with rust-tone color tokens, type scale, spacing/radius tokens, ScarfPageHeader and component primitives (ScarfCard, ScarfBadge, ScarfTextField, ScarfSectionHeader, ScarfDivider, four button styles). Both Mac and iOS targets `import ScarfDesign`. Sidebar redesigned per design/static-site/ui-kit/Sidebar.jsx — glassy translucent background, 224 px width, app-icon header with server pill, custom tokenized rows with rust accent-tint when active, footer with live Hermes-running indicator (wired to ServerLiveStatusRegistry). 14 mockup-backed feature screens redesigned: Settings, Dashboard, Sessions, Memory, Chat (visual sweep), Activity, Cron, Insights, MCPServers, Health, Logs, Tools (full); Projects light-touch. Non-mockup features inherit rust through AccentColor.colorset repoint. Mac AppIcon.appiconset replaced with the rust set. AccentColor.colorset repointed to BrandRust hex (light + dark variants). Visual sweep: every multi-button page-header / action-bar cluster now wraps in .fixedSize(horizontal: true, vertical: false) so labels can't wrap letter-by-letter at narrow widths (regression seen on the MCP detail pane with 4 buttons). Follow-ups landed: - Sidebar Hermes-running probe wired to per-window ServerLiveStatusRegistry (no more placeholder green). - Sessions: today filter predicate (isDateInToday(startedAt)); pill count reflects real count. Starred stays a no-op pending an upstream pinned/starred field on HermesSession. - Dashboard: Recent activity column rendered alongside Recent sessions in a ViewThatFits 2-col grid. Populated from HermesDataService.fetchRecentToolCalls(limit:) flattened to ActivityEntry. ActivityEntry gains a public memberwise init. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
1.3 KiB
CSS
45 lines
1.3 KiB
CSS
/* Shared styling for design-system preview cards.
|
|
Each card is sized for ~700px wide and renders one focused concept. */
|
|
@import url('../colors_and_type.css');
|
|
|
|
* { box-sizing: border-box; }
|
|
html, body { margin: 0; padding: 0; }
|
|
body {
|
|
background: var(--bg);
|
|
color: var(--fg);
|
|
font-family: var(--font-sans);
|
|
font-size: var(--text-body);
|
|
line-height: var(--leading-normal);
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
|
|
.card-root {
|
|
padding: 20px 24px;
|
|
min-height: 110px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
|
|
.col { display: flex; flex-direction: column; gap: 8px; }
|
|
.label { font-size: 11px; color: var(--fg-muted); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
|
|
.mono { font-family: var(--font-mono); font-size: 11px; color: var(--fg-muted); }
|
|
|
|
/* swatches */
|
|
.swatch {
|
|
width: 92px;
|
|
height: 64px;
|
|
border-radius: 8px;
|
|
border: 1px solid var(--border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-end;
|
|
padding: 6px 8px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.swatch .name { font-size: 10px; font-weight: 600; }
|
|
.swatch .hex { font-family: var(--font-mono); font-size: 10px; opacity: 0.85; }
|
|
.swatch.dark-text { color: var(--gray-900); }
|
|
.swatch.light-text { color: #fff; }
|