- 18 Jun, 2026 5 commits
- 17 Jun, 2026 12 commits
-
-
CaIon committed
-
CaIon committed
-
CaIon committed
-
Merge pull request #5536 from QuantumNous/fix/data-table-component-cells
同語 committed -
CaIon committed
-
Merge pull request #5403 from feitianbubu/feat/persist-table-page-size
同語 committed -
CaIon committed
-
yyhhyyyyyy committed
-
skynono committed
-
Seefs committed
-
Seefs committed
-
CaIon committed
-
- 16 Jun, 2026 3 commits
-
-
yyhhyyyyyy committed
-
Seefs committed
-
- apply table-level truncation only to primitive text cells. - let tables expand to content width with horizontal scrolling to avoid column overlap. - update model badges to show full model names on one line.
QuentinHsu committed
-
- 15 Jun, 2026 14 commits
-
-
t0ng7u committed
-
Merge pull request #5517 from yyhhyyyyyy/fix/channel-test-dialog-status-refresh
同語 committed -
Add a newline at the end of the file.
同語 committed -
同語 committed
-
Merge pull request #5524 from RedwindA/fix/channelCheckbox
同語 committed -
RedwindA committed
-
TanStack row objects may keep a stable reference while their selection state changes, so reading row.getIsSelected() inside the React.memo comparator could miss updates. Capture isSelected as an explicit prop and compare it instead, ensuring rows re-render when selection toggles.
RedwindA committed -
yyhhyyyyyy committed
-
yyhhyyyyyy committed
-
yyhhyyyyyy committed
-
yyhhyyyyyy committed
-
Seefs committed
-
- enable model and group queries only while the API key drawer is open and remove the five-minute stale window so the form uses fresh backend options. - align the API key table group-ratio query key to avoid duplicate caches for the same group endpoint.
QuentinHsu committed -
* fix(ui): prevent table cell text overflow - add default truncation with hover details for text cells in shared and static data tables to prevent content from spilling into adjacent columns. - adjust API key group, model, and IP restriction columns to fix badge overlap and left alignment drift. - reuse a shared truncated cell component and add width constraints for composite badge cells. * fix(table): prevent badge content from overflowing columns - make table text and badge cells shrink within constrained columns so long values truncate instead of bleeding into adjacent cells. - add a shared BadgeCell wrapper to keep badge alignment consistent across API keys and other list pages. - update affected list views to use constrained wrappers for group, provider, pricing, OAuth, and API info values.
QuentinHsu committed
-
- 13 Jun, 2026 1 commit
-
-
CaIon committed
-
- 12 Jun, 2026 5 commits
-
-
Seefs committed
-
Seefs committed
-
Seefs committed
-
Calcium-Ion committed
-
* perf(table): use percentage-based column widths - compute each column's width as a percentage of total column size instead of a fixed pixel value, letting the colgroup scale fluidly with the table container. * perf(data-table): reduce unnecessary re-renders across table components - stabilize commitSearchValue in toolbar by reading table/searchKey via refs, eliminating recreation on every parent render - store onColumnFiltersChange in a ref so debounce effect is not reset when the caller passes a new function reference each render - wrap DataTableRow in React.memo with a custom comparator that ignores getColumnClassName reference churn - memoize selectedValues Set in DataTableFacetedFilter and wrap with React.memo to prevent rerenders on unrelated state changes - cache cell meta reads in CompactRow and FallbackRow to a single pass per row; memoize hasCompactMeta in MobileCardList - memoize hideable columns list in DataTableViewOptions and colSpan in DataTableView - remove tableClassName and colgroup from scroll-sync effect deps; cache toolbar button NodeList via useLayoutEffect to avoid per-keydown DOM queries * perf(data-table): replace scroll-sync split header with CSS sticky - remove JS scroll-sync effect and event listener between split header and body containers. - merge separate header/body tables into a single scrollable table element, reducing DOM complexity. - apply CSS sticky positioning to the header for a simpler, hardware-accelerated freeze effect. * fix(data-table): replace opacity muted colors with color-mix - switch from bg-muted/50 and bg-muted/30 to color-mix(in oklch) to produce opaque blended backgrounds that prevent scroll content from showing through pinned cells. - expose --table-header-bg CSS variable so pinned header cells inherit the exact same computed color as the thead background. - add group class to TableRow to enable group-hover selectors on pinned cell styles. * feat(data-table): support column pinning via meta.pinned - add pinned?: 'left' | 'right' to ColumnMeta so pinning is declared once in the column definition and applies to both header and body automatically - DataTableView derives pinnedColumns from meta.pinned at runtime, merged with any explicit pinnedColumns prop; explicit entries take precedence - add header and meta.pinned: 'right' to all actions columns across channels, users, api-keys, redemption-codes, models, deployments, and subscriptions tables * style(row-actions): align action buttons to leading edge of column * refactor(data-table): extract BadgeListCell and centralize badge alignment - add BadgeListCell component to data-table for badge lists with overflow tooltip, replacing duplicated renderLimitedItems helpers in channels, models, and pricing columns - move StatusBadge -ml-1.5 alignment into the component itself via a table-cell context selector, so callers no longer need manual offset wrappers - remove the table-cell-level -ml-1.5 selector from TableCell now that alignment is handled by StatusBadge directly * style(row-actions): offset action buttons to align with column header text * refactor(data-table): consolidate mobile meta into ColumnMeta declaration - move mobileTitle, mobileBadge, mobileHidden into the global ColumnMeta augmentation so the type is shared across the project - remove the local MobileColumnMeta interface and getCellMeta helper from mobile-card-list.tsx - direct col.columnDef.meta access is now type-safe without explicit casting * refactor(data-table): simplify column header and meta config - auto-render string `header` values via DataTableColumnHeader so sortable/non-sortable columns work without boilerplate function wrappers - promote mobile layout hints (mobileTitle, mobileBadge, mobileHidden) into the global ColumnMeta type, removing the local MobileColumnMeta cast in mobile-card-list - migrate all column files from `meta: { label }` to top-level `header: t('...')`, cutting ~180 lines of repetitive template code - ViewOptions and MobileCardList label resolution now reads string header first, then meta.label as fallback * feat(status-badge): add text and underline display types - introduce StatusBadgeType ('badge' | 'text' | 'underline') and StatusBadgeTypeContext so ancestors can override rendering without touching call sites - mobile card field rows now use the text type via context, showing badges as plain colored text instead of pills - ProviderBadge gains data-slot='provider-badge' to enable targeted CSS resets in compact layouts - replace the implicit [[data-slot=table-cell]>&]:-ml-1.5 rule with explicit -ml-1.5 at each column call site * refactor(data-table): simplify table filtering internals - derive toolbar search state from the active table filter to avoid render-time ref writes. - extract faceted filter selection updates into a pure helper for clearer single and multi-select behavior. - split pinned column resolution into focused helpers so explicit and meta pins merge predictably. Co-authored-by: t0ng7u <dev@aiass.cc>QuentinHsu committed
-