hyperhive/frontend/packages/shared/src/base.css
iris a1263a9ed6 frontend: move shared spinner CSS out of dashboard.css into shared/base.css
asyncBtn() (shared/src/forms.js) is used by both the dashboard and the
per-agent UI, but its .spinner class + @keyframes spin animation only
lived in dashboard.css. The agent UI's loading spinner rendered as a
static unstyled glyph instead of the animated amber spinner the
dashboard gets. Moved the rule to shared/base.css, which both
common.css (dashboard) and agent.css already @import.
2026-07-27 18:32:54 +02:00

26 lines
1.2 KiB
CSS

/* Base typography shared by the hive-c0re dashboard and the hive-ag3nt
web UI. The colour variables it references (`--bg`, `--fg`, …) live in
the standalone `theme.css` (Catppuccin Mocha), linked separately by
every page BEFORE this file so the `:root` vars resolve — see
`theme.css` + docs/web-ui/css-vars.md. Per-page stylesheets append on
top of this and must NOT redeclare the colour variables; `theme.css`
is the one source of truth. */
body {
background: var(--bg);
color: var(--fg);
font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", "Source Code Pro", monospace;
line-height: 1.6;
}
/* Loading spinner used by the shared `asyncBtn()` helper (forms.js) —
swapped into a button's content while its async action is in flight.
Lives here (not in a per-page stylesheet) because asyncBtn itself is
shared between the dashboard and the per-agent UI; keeping the CSS
with the JS component it styles avoids one consumer rendering an
unstyled, unanimated glyph. */
.spinner {
display: inline-block;
animation: spin 1s linear infinite;
color: var(--amber);
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }