LocalAI/core/http/react-ui/src
Ettore Di Giacinto b336d9c626 feat(react-ui): polish Manage page with kebab menus and gallery rows
Bring the System / Manage page up to the visual standard of the Install
gallery so installed models and backends stop reading like a debug dump.

- Unified ResourceRow anatomy (icon, name+description, badges, status,
  expandable detail) shared across both tabs.
- Gallery enrichment cross-references installed names against the gallery
  list endpoints to surface icons, descriptions, license, tags, and links
  with a graceful "no description" fallback for custom imports.
- Header summary with four StatCards (Models / Backends / Running /
  Updates) — clickable to switch tab + pre-set filter.
- Backends meta + development entries hidden by default; "Show meta &
  development" paired toggle in the FilterBar with hidden-count hint.
- Kebab (three-dot) ActionMenu replaces the inline button cluster on
  every row; restrained until hover, keyboard-navigable, danger items
  separated by a divider.
- Backend "Version" cell now falls back to short digest, OCI tag, or
  ocifile basename when no semver is set, instead of showing "—" for
  every OCI install. Detail panel exposes full Source URI + Digest.
- Drop redundant column headers ("Actions", "On") — kebabs and toggles
  carry their own affordance; screen readers still get a label.
- Inline System / User / Meta / Dev badges next to the backend name so
  the dedicated Type column doesn't reserve space for "USER" repeated.
- Tightened the spacing between the System Resources card and the
  StatCards so they no longer crowd the RAM bar.

Extracted StatCard and GalleryLoader from Nodes.jsx and Models.jsx into
shared components so the visual language is one source of truth.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude Code:claude-opus-4-7 [Read] [Edit] [Write] [Bash]
2026-04-26 20:33:49 +00:00
..
components feat(react-ui): polish Manage page with kebab menus and gallery rows 2026-04-26 20:33:49 +00:00
context fix(ui): pass by staticApiKeyRequired to show login when only api key is configured (#9220) 2026-04-04 12:11:22 +02:00
contexts feat: add users and authentication support (#9061) 2026-03-19 21:40:51 +01:00
hooks feat(react-ui): polish Manage page with kebab menus and gallery rows 2026-04-26 20:33:49 +00:00
pages feat(react-ui): polish Manage page with kebab menus and gallery rows 2026-04-26 20:33:49 +00:00
utils feat(react-ui): editorial refresh with Nord palette and polished primitives (#9550) 2026-04-24 23:35:59 +02:00
App.css feat(react-ui): polish Manage page with kebab menus and gallery rows 2026-04-26 20:33:49 +00:00
App.jsx chore(ui): improve visibility of forms, color palette 2026-04-14 21:53:03 +00:00
index.css feat(react-ui): editorial refresh with Nord palette and polished primitives (#9550) 2026-04-24 23:35:59 +02:00
main.jsx feat: add users and authentication support (#9061) 2026-03-19 21:40:51 +01:00
router.jsx feat: add biometrics UI (#9524) 2026-04-24 08:50:34 +02:00
theme.css feat(react-ui): editorial refresh with Nord palette and polished primitives (#9550) 2026-04-24 23:35:59 +02:00