mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-01 12:02:05 +00:00
Finding 2 of the desktop UI-consistency pass. Several surfaces intentionally make an entire row/cell the click target while hosting nested layout inside a raw <button> (each re-justifying the pattern in a local comment). Introduce a zero-style RowButton primitive (components/ui/row-button.tsx) that bakes in the shared semantics — type="button" + a stable data-slot — without imposing any styling, then migrate every genuine row-button onto it: - app/overlays/panel.tsx - app/artifacts/index.tsx - app/chat/sidebar/chrome.tsx (SidebarRowBody, SidebarRowLink) - app/settings/providers-settings.tsx - components/desktop-onboarding-overlay.tsx (PROVIDER_ROW_CLASS rows) Fully behavior-preserving: RowButton adds no classes, so each row keeps its exact layout/look (verified by a unit test asserting className passthrough). Left as-is (not row-buttons; converting would risk visual regressions): the compact bespoke buttons in shell/statusbar-controls.tsx (STATUSBAR_ACTION_CLASS, also a nested DropdownMenuTrigger asChild) and pet-generate/reference-chip.tsx. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||