hermes-agent/apps/desktop/src/components/ui
Brooklyn Nicholson 1b01fa3acf feat(desktop): long-press a rail profile to pick its color
Hold (~450ms) a profile square — or right-click → Color… — to open a
shadcn Popover of swatches and override its rail color, with Auto to fall
back to the deterministic hue. The hold timer rides alongside the dnd
pointer listener (a real drag cancels it, the trailing click is
suppressed), so reorder/select/recolor stay distinct gestures.

Overrides persist in localStorage ($profileColors), resolved via
resolveProfileColor (override wins, else the name-hashed hue). Cosmetic
and gated on the multi-profile rail, so single-profile users are
unaffected. Adds a reusable ui/popover.tsx (radix-ui umbrella).
2026-06-04 20:12:37 -05:00
..
action-status.tsx feat(desktop): quick-create profile from rail + pin rail on empty sidebar 2026-06-04 16:55:16 -05:00
alert.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
badge.tsx style(desktop): migrate bespoke pills to shared Badge; tidy cron/titlebar 2026-06-03 23:52:51 -05:00
braille-spinner.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
button.tsx chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
checkbox.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
codicon.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
command.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
confirm-dialog.tsx feat(desktop): profile rail rename/delete + context-switch polish 2026-06-04 18:24:39 -05:00
context-menu.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
control.ts feat(desktop): dedicated Providers settings + polished Accounts/API-keys UX (#38551) 2026-06-04 03:03:42 -05:00
copy-button.tsx feat(desktop): per-session profile switching + cross-profile sessions 2026-06-04 16:35:34 -05:00
dialog.tsx feat(desktop): per-session profile switching + cross-profile sessions 2026-06-04 16:35:34 -05:00
disclosure-caret.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
dropdown-menu.tsx refactor(desktop): DRY/elegance pass over PR-touched files 2026-06-04 00:28:57 -05:00
error-state.tsx feat(desktop): composer/intro polish + shared ErrorState 2026-06-04 00:19:05 -05:00
fade-text.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
input.tsx chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
kbd.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
loader.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
pagination.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
popover.tsx feat(desktop): long-press a rail profile to pick its color 2026-06-04 20:12:37 -05:00
scroll-area.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
search-field.tsx feat(desktop): global Cmd+K palette + UI consistency overhaul 2026-06-03 23:45:45 -05:00
segmented-control.tsx feat(desktop): global Cmd+K palette + UI consistency overhaul 2026-06-03 23:45:45 -05:00
select.tsx feat(desktop): global Cmd+K palette + UI consistency overhaul 2026-06-03 23:45:45 -05:00
separator.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
sheet.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
sidebar.tsx chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
skeleton.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
switch.tsx refactor(desktop): DRY/elegance pass over PR-touched files 2026-06-04 00:28:57 -05:00
tabs.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
text-tab.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
textarea.tsx chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
tooltip.tsx feat(desktop): per-session profile switching + cross-profile sessions 2026-06-04 16:35:34 -05:00