Files
OpenHands/__tests__/themes
27fe2469f2 UI polish: Neo theme, form system, sidebar, and conversation list (#733)
* feat(theme): add OpenHands-Neo theme with white primary buttons

Introduce a neutral-based palette variant that overrides brand tokens at runtime, stop inlining primary colors on AgentServerUIRoot, and tie loaders to --oh-color-primary.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): standardize form controls to 36px rounded-lg styling

Extract shared form-control class helpers and apply them across buttons, inputs, dropdowns, and settings fields; fix loading text contrast and backend retry button styling.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): indent switch helper text under labels

Align description copy with toggle labels using shared pl-14 offset across agent, verification, and schema boolean fields.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): unify toggle switch and polish settings navigation

Share an animated white-active toggle between settings and automations, align sidebar sub-nav rows to 36px, and match git settings helper copy to section subtitles.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): use font-medium for page and modal headings

Standardize Typography H1–H3, modal titles, and route section headers on medium weight instead of semibold or bold.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): unify connected status green with sidebar indicator

Route server and backend status dots through --oh-status-success so the conversation header and backend dropdown match the left nav.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): round toast corners to match button radius

Use --oh-radius on all react-hot-toast surfaces and wire shared TOAST_OPTIONS into the root Toaster.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): unify combobox carets and polish error toasts

Replace filled chevrons on dropdown triggers with a shared HeroUI-style caret, remove backend selector focus glow, and show CircleX on error toasts.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): remove hover delay on nav icons and dropdown carets

Snap sidebar, settings, extensions, and dropdown hover colors instantly by excluding color from form-control transitions and using transition-none on nav rows.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): unify settings list styling and secrets header layout

Extract shared list row/table classes for secrets and LLM profiles, use
h-10 rows, and move the add-secret action to the top-right header.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): polish settings lists, profile menu, and error indicators

Use h-12 list rows with subtler hover, align the LLM profile actions menu
with shared context-menu styling, and unify error banner/toast icons on
--oh-status-error.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): tighten conversation list row spacing to 2px

Remove stacked link padding so folder rows and conversation cards use
the same 2px vertical gap as grouped list sections.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): cap grouped conversation folders at five rows

Show five conversations per workspace/repo folder with a grey More/Less
toggle, keeping the active thread visible when it falls outside preview.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): polish conversation card metadata and launcher buttons

Align card footer text with titles, drop the workspace folder icon,
place branch beside repo name, match open launcher styling to secondary
buttons, and darken grouped folder More/Less link color.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): size collapsed sidebar nav rows to 36px height

Use a full-width 36px-tall hit target for collapsed rail icons instead
of a fixed 40×40 square so nav rows match expanded row height.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): prevent sidebar logo flicker when collapsing

Keep a single mounted logo in the header and briefly suppress the
collapsed hover expand overlay so collapse does not flash the logo away.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): refine LLM profile editor header layout

Hide the settings section title while adding or editing a profile,
show a labeled Back control, and place the Add/Edit title below it
using standard page heading styles.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): refine secrets add/edit form header layout

Hide the list page title while adding or editing a secret, and show a
Back control with Add/Edit a Secret headings using standard page styles.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): normalize button font weight to regular across the app

Align buttons and button-like controls with the updated theme by defaulting shared form/BrandButton styles to font-normal and removing medium/semibold overrides from individual call sites.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): align error toast styling with chat error banner

Top-align the error icon and use text-sm muted copy so toast notifications match the inline error message above the chat input.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): improve error toast icon alignment with message text

Render the icon inside ErrorToastContent so it lines up with the message, center on single-line toasts, and top-align when the text wraps.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): shrink sidebar collapse toggle to match filter button

Use a 28px hit target and 14px chevron so the collapse control matches the conversations filter icon button.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ui): polish conversation empty state, status menu, and logo

Hide the no-conversations message until the first fetch completes, align the server status dropdown with other context menus, and remove the sidebar logo hover tooltip.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: failing tests

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: hieptl <hieptl.developer@gmail.com>
2026-05-23 15:04:20 +07:00
..