mirror of
https://github.com/awizemann/scarf.git
synced 2026-05-10 10:36:35 +00:00
feat(design): adopt ScarfDesign system across Mac UI
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>
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Scarf Design System — static site
|
||||
|
||||
A self-contained, offline-friendly site that browses every artifact in the
|
||||
Scarf design system. Open `index.html` directly in any browser — no server,
|
||||
no build step.
|
||||
|
||||
## What's here
|
||||
|
||||
```
|
||||
static-site/
|
||||
├── index.html ← landing page, links into everything
|
||||
├── colors_and_type.css ← shared design tokens (referenced everywhere)
|
||||
│
|
||||
├── ui-kit/ ← interactive macOS UI kit
|
||||
│ ├── index.html ← click-thru of every screen in the app
|
||||
│ └── *.jsx ← React components (Sidebar, Chat, Dashboard…)
|
||||
│
|
||||
├── tokens/ ← design-system cards
|
||||
│ ├── _preview.css ← shared card styling
|
||||
│ ├── colors-*.html ← brand / neutrals / semantic / tool-kinds
|
||||
│ ├── type-*.html ← display / body / mono
|
||||
│ ├── spacing-*.html ← scale / radii / shadows
|
||||
│ ├── components-*.html ← buttons / forms / sidebar / cards / chat / composer / tool-call
|
||||
│ ├── iconography.html
|
||||
│ └── brand-mark.html
|
||||
│
|
||||
└── assets/ ← icons, brand artwork
|
||||
```
|
||||
|
||||
## How to use it
|
||||
|
||||
- **Browse offline**: double-click `index.html`. Everything renders locally;
|
||||
the only network dependency is Google Fonts (Inter + JetBrains Mono).
|
||||
- **Host as a site**: drop the whole folder onto any static host (Netlify,
|
||||
GitHub Pages, S3, your own nginx). Nothing needs building.
|
||||
- **Embed in a doc**: link individual cards directly, e.g.
|
||||
`static-site/tokens/colors-brand.html`.
|
||||
- **Show the macOS app**: `static-site/ui-kit/index.html` runs the full
|
||||
React-based interactive kit (single self-contained file — works from
|
||||
`file://`, no server needed). The traffic-light corner makes it look like
|
||||
the real app. Source components live alongside as `*.jsx` for editing —
|
||||
re-bundle into `index.html` when you change them.
|
||||
|
||||
## Notes
|
||||
|
||||
- The kit's `index.html` is a self-contained bundle — React, Babel, Lucide
|
||||
and every component are inlined, so it works from `file://` with no
|
||||
network. The original split-file source is preserved as
|
||||
`ui-kit/index.source.html` next to the `.jsx` files for editing.
|
||||
- The font import in `colors_and_type.css` (`fonts.googleapis.com`) is the
|
||||
only other network call. Replace with locally-served WOFF2 if you need
|
||||
airgapped use.
|
||||
Reference in New Issue
Block a user