litellm/ui/litellm-dashboard/src/components/shared
ryan-crabbe-berri eda81fff59 feat(ui): shared URL-state layer for tables and tabs
Add useUrlTableState (search, sort, page, page size and filter_<column>
in the query string via one nuqs useQueryStates call, with keyPrefix and
urlKeys for routes that host two tables or need legacy key names) and
useUrlTab (validated ?tab= param with a role-aware fallback). Migrate
the Virtual Keys table onto useUrlTableState with a byte-identical URL
contract and bind the Playground tab strip to ?tab=.

DataTable gains controlled columnVisibility/onColumnVisibilityChange
plus usePersistedColumnVisibility (localStorage per table id), and an
isError prop that keeps the server page clamp from rewriting a
deep-linked ?page= after a failed fetch. Virtual Keys uses both.

The expired-session redirect in handleError now keeps the query string
and hash so the return URL captured on re-login restores the filtered
view instead of the bare list.

Delete useTabRouting and tabRoutes, the pathname tab router left over
from the reverted path-per-tab attempt (#34327, reverted in #34629);
tab persistence has to be a query param on the static export.
2026-09-16 15:51:45 -07:00
..
charts test(ui): query the screen instead of the render result 2026-09-01 00:26:49 -07:00
DataTable feat(ui): shared URL-state layer for tables and tabs 2026-09-16 15:51:45 -07:00
form refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
table_cells feat(ui): link the User ID and Team ID cells on the Memory page (#40752) 2026-09-11 17:48:44 -07:00
AdminOnlyNotice.tsx refactor(ui): map hardcoded Tailwind palette classes onto semantic tokens (#37576) 2026-08-19 22:11:44 -07:00
advanced_date_picker.test.tsx refactor(ui): map hardcoded Tailwind palette classes onto semantic tokens (#37576) 2026-08-19 22:11:44 -07:00
advanced_date_picker.tsx refactor(ui): replace hand-picked z-index values with one named scale and lint it 2026-08-25 17:02:35 -07:00
Alert.test.tsx refactor(ui): map hardcoded Tailwind palette classes onto semantic tokens (#37576) 2026-08-19 22:11:44 -07:00
Alert.tsx refactor(ui): install the shadcn alert primitive 2026-08-25 21:24:07 -07:00
BadgeLink.test.tsx feat(ui): link organization teams to their team detail pages (#35120) 2026-07-29 17:20:59 -07:00
BadgeLink.tsx feat(ui): link key info header to its user, creator, team, and organization (#37187) 2026-08-17 10:17:28 -07:00
chart_loader.test.tsx Add unit tests for 5 untested UI components 2026-03-11 15:46:14 -07:00
chart_loader.tsx fix(ui): give status colours a readable foreground and drop the muted 70% step (#37649) 2026-08-20 10:58:32 -07:00
CopyButton.test.tsx refactor(ui): extract a shared CopyButton and fix the sidebar copy confirmation (#32945) 2026-07-11 15:47:03 -07:00
CopyButton.tsx refactor(ui): extract a shared CopyButton and fix the sidebar copy confirmation (#32945) 2026-07-11 15:47:03 -07:00
CreatedKeyDisplay.test.tsx fix(ui): theme the created-key box so it follows dark mode (#37985) 2026-08-24 10:12:16 -07:00
CreatedKeyDisplay.tsx fix(ui): theme the created-key box so it follows dark mode (#37985) 2026-08-24 10:12:16 -07:00
date_picker_types.ts refactor(ui): declare DateRangePickerValue locally instead of importing it from tremor 2026-08-14 11:01:43 -07:00
EntityLink.test.tsx feat(ui): link the User, Team and Created By cells on the Virtual Keys page 2026-09-10 15:55:03 -07:00
EntityLink.tsx feat(ui): link the User, Team and Created By cells on the Virtual Keys page 2026-09-10 15:55:03 -07:00
errorUtils.tsx added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
InheritedBudgetHint.test.tsx fix(ui): stop pairing key spend with the team budget when a key has no budget (#37196) 2026-08-17 13:03:05 -07:00
InheritedBudgetHint.tsx refactor(ui): codemod the antd Tooltips outside form files onto the shadcn atom (#37402) 2026-08-19 02:14:37 +00:00
Meter.test.tsx refactor(ui): move the dashboard onto class-variance-authority (#38125) 2026-08-24 14:10:31 -07:00
Meter.tsx refactor(ui): move the dashboard onto class-variance-authority (#38125) 2026-08-24 14:10:31 -07:00
MultiSelect.test.tsx refactor(ui): migrate the MCP servers pages off antd (#37522) 2026-08-20 00:50:02 +00:00
MultiSelect.tsx refactor(ui): migrate the MCP servers pages off antd (#37522) 2026-08-20 00:50:02 +00:00
numerical_input.tsx refactor(ui): move the model info edit form off antd Form (#37392) 2026-08-18 17:40:49 -07:00
PageHeader.test.tsx feat(ui): standardize the Teams page header 2026-08-14 00:01:16 -07:00
PageHeader.tsx feat(ui): standardize the Teams page header 2026-08-14 00:01:16 -07:00
PaginatedMultiSelect.test.tsx fix(ui): reason-gate the remaining server-searched comboboxes 2026-08-27 14:22:10 -07:00
PaginatedMultiSelect.tsx fix(ui): reason-gate the remaining server-searched comboboxes 2026-08-27 14:22:10 -07:00
PaginatedSearchSelect.integration.test.tsx fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
PaginatedSearchSelect.tsx fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
PaginationStatusAlerts.test.tsx fix(ui): gate the usage export on range coverage, not on a fetch being in flight 2026-09-15 16:21:37 -07:00
PaginationStatusAlerts.tsx fix(ui): gate the usage export on range coverage, not on a fetch being in flight 2026-09-15 16:21:37 -07:00
PasswordInput.tsx refactor(ui): migrate the login, onboarding and search tool forms to react-hook-form and shadcn (#37334) 2026-08-18 13:12:27 -07:00
SavingsTiles.tsx feat(spend): report prompt caching savings as total and gateway-attributed (#38134) 2026-08-28 00:19:06 -07:00
SearchSelect.integration.test.tsx fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
SearchSelect.tsx fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
Sidebar.test.tsx refactor(ui): move the dashboard onto class-variance-authority (#38125) 2026-08-24 14:10:31 -07:00
Sidebar.tsx refactor(ui): move the dashboard onto class-variance-authority (#38125) 2026-08-24 14:10:31 -07:00
SummaryCard.tsx feat(spend): report prompt caching savings as total and gateway-attributed (#38134) 2026-08-28 00:19:06 -07:00
ToolbarSeparator.test.tsx fix(ui): center vertical toolbar dividers 2026-07-25 18:41:06 -07:00
ToolbarSeparator.tsx fix(ui): center vertical toolbar dividers 2026-07-25 18:41:06 -07:00
usePaginatedCombobox.ts fix(ui): let the paginated search select keep what the user types (#38475) 2026-08-27 13:32:20 -07:00