* fix: add server-side sorting to user list, prevent client-side sort on paged data The user management table applied client-side sorting to the current page slice while pagination was handled server-side, causing ID-asc views to show pages out of order (e.g. 23-42, 3-22, 1-2). Backend: add sort_by/sort_order query params to GetAllUsers and SearchUsers with a column whitelist for safe ORDER BY generation. Frontend: pass sorting state to the API and reset to page 1 on sort change. Generic useDataTable hook now disables client-side sorted row model and sort UI for tables with manual pagination but no server-side sort handler. * fix: add id tie-breaker to non-unique sort columns, remove side effect from state updater Append secondary ORDER BY id DESC when sorting by non-unique columns (quota, created_at, etc.) to prevent row duplication/skipping across OFFSET pages. Move onPaginationChange out of setSorting updater to avoid side effects inside a pure function (React Strict Mode double-invocation safety).
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| ai-elements | Loading commit data... | |
| data-table | Loading commit data... | |
| layout | Loading commit data... | |
| ui | Loading commit data... | |
| animate-in-view.tsx | Loading commit data... | |
| auto-skeleton.tsx | Loading commit data... | |
| coming-soon.tsx | Loading commit data... | |
| command-menu.tsx | Loading commit data... | |
| config-drawer.tsx | Loading commit data... | |
| confirm-dialog.tsx | Loading commit data... | |
| copy-button.tsx | Loading commit data... | |
| date-picker.tsx | Loading commit data... | |
| datetime-picker.tsx | Loading commit data... | |
| dialog.tsx | Loading commit data... | |
| drawer-layout.ts | Loading commit data... | |
| empty-state.tsx | Loading commit data... | |
| error-state.tsx | Loading commit data... | |
| group-badge.tsx | Loading commit data... | |
| html-content.tsx | Loading commit data... | |
| json-code-editor.tsx | Loading commit data... | |
| json-editor.tsx | Loading commit data... | |
| language-switcher.tsx | Loading commit data... | |
| learn-more.tsx | Loading commit data... | |
| loading-state.tsx | Loading commit data... | |
| long-text.tsx | Loading commit data... | |
| masked-value-display.tsx | Loading commit data... | |
| model-group-selector-layout.ts | Loading commit data... | |
| model-group-selector.tsx | Loading commit data... | |
| multi-select.tsx | Loading commit data... | |
| navigation-progress.tsx | Loading commit data... | |
| notification-popover.tsx | Loading commit data... | |
| page-transition.tsx | Loading commit data... | |
| password-input.tsx | Loading commit data... | |
| profile-dropdown.tsx | Loading commit data... | |
| provider-badge.tsx | Loading commit data... | |
| react-icon-by-name.tsx | Loading commit data... | |
| rich-content.tsx | Loading commit data... | |
| risk-acknowledgement-dialog.tsx | Loading commit data... | |
| search.tsx | Loading commit data... | |
| sign-out-dialog.tsx | Loading commit data... | |
| skip-to-main.tsx | Loading commit data... | |
| status-badge.tsx | Loading commit data... | |
| table-id.tsx | Loading commit data... | |
| tag-input.tsx | Loading commit data... | |
| theme-quick-switcher.tsx | Loading commit data... | |
| theme-switch.tsx | Loading commit data... | |
| truncated-text.tsx | Loading commit data... | |
| turnstile.tsx | Loading commit data... |