From a3de2245b1b1380d38a19447003771235d2b515d Mon Sep 17 00:00:00 2001 From: Marco Beretta <81851188+berry-13@users.noreply.github.com> Date: Wed, 24 Sep 2025 00:35:29 +0200 Subject: [PATCH] refactor: update SharedLinks and ArchivedChats to use desktopOnly instead of hideOnMobile; remove unused DataTableColumnHeader component --- .../Nav/SettingsTabs/Data/SharedLinks.tsx | 4 +- .../SettingsTabs/General/ArchivedChats.tsx | 14 +---- .../components/DataTable/DataTable.types.ts | 2 + .../src/components/DataTableColumnHeader.tsx | 60 ------------------- packages/client/src/components/index.ts | 3 +- 5 files changed, 9 insertions(+), 74 deletions(-) delete mode 100644 packages/client/src/components/DataTableColumnHeader.tsx diff --git a/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx b/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx index 665dae33e8..da6cd10843 100644 --- a/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx +++ b/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx @@ -44,7 +44,7 @@ const defaultSort: SortingState = [ type TableColumn = ColumnDef & { meta?: { className?: string; - hideOnMobile?: boolean; + desktopOnly?: boolean; }; }; @@ -253,7 +253,7 @@ export default function SharedLinks() { }, meta: { className: 'w-32 sm:w-40', - hideOnMobile: true, + desktopOnly: true, }, enableSorting: true, }, diff --git a/client/src/components/Nav/SettingsTabs/General/ArchivedChats.tsx b/client/src/components/Nav/SettingsTabs/General/ArchivedChats.tsx index 26970dc1c5..527251dd6a 100644 --- a/client/src/components/Nav/SettingsTabs/General/ArchivedChats.tsx +++ b/client/src/components/Nav/SettingsTabs/General/ArchivedChats.tsx @@ -1,6 +1,6 @@ import { useState, useCallback, useMemo, useEffect } from 'react'; import { TrashIcon, ArchiveRestore } from 'lucide-react'; -import type { ColumnDef, SortingState } from '@tanstack/react-table'; +import type { SortingState } from '@tanstack/react-table'; import { Button, OGDialog, @@ -15,6 +15,7 @@ import { useToastContext, useMediaQuery, DataTable, + type TableColumn, } from '@librechat/client'; import type { ConversationListParams, TConversation } from 'librechat-data-provider'; import { @@ -44,15 +45,6 @@ const defaultSort: SortingState = [ }, ]; -type TableColumn = ColumnDef & { - meta?: { - size?: string | number; - mobileSize?: string | number; - minWidth?: string | number; - priority?: number; - }; -}; - export default function ArchivedChatsTable() { const localize = useLocalize(); const isSmallScreen = useMediaQuery('(max-width: 768px)'); @@ -298,7 +290,7 @@ export default function ArchivedChatsTable() { }, meta: { className: 'w-32 sm:w-40', - hideOnMobile: true, + desktopOnly: true, }, enableSorting: true, }, diff --git a/packages/client/src/components/DataTable/DataTable.types.ts b/packages/client/src/components/DataTable/DataTable.types.ts index 996113ede8..262bf0a9cc 100644 --- a/packages/client/src/components/DataTable/DataTable.types.ts +++ b/packages/client/src/components/DataTable/DataTable.types.ts @@ -8,6 +8,8 @@ export type TableColumn = ColumnDef & { mobileSize?: string | number; minWidth?: string | number; priority?: number; + className?: string; + desktopOnly?: boolean; }; }; diff --git a/packages/client/src/components/DataTableColumnHeader.tsx b/packages/client/src/components/DataTableColumnHeader.tsx deleted file mode 100644 index 606f10b121..0000000000 --- a/packages/client/src/components/DataTableColumnHeader.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { Column } from '@tanstack/react-table'; -import { ArrowDownIcon, ArrowUpIcon, CaretSortIcon, EyeNoneIcon } from '@radix-ui/react-icons'; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuSeparator, - DropdownMenuTrigger, -} from './DropdownMenu'; -import { Button } from './Button'; -import { cn } from '~/utils'; - -interface DataTableColumnHeaderProps extends React.HTMLAttributes { - column: Column; - title: string; -} - -export function DataTableColumnHeader({ - column, - title, - className = '', -}: DataTableColumnHeaderProps) { - if (!column.getCanSort()) { - return
{title}
; - } - - return ( -
- - - - - - column.toggleSorting(false)}> - - Asc - - column.toggleSorting(true)}> - - Desc - - - column.toggleVisibility(false)}> - - Hide - - - -
- ); -} diff --git a/packages/client/src/components/index.ts b/packages/client/src/components/index.ts index 2caaa03c2a..4457fe1e4c 100644 --- a/packages/client/src/components/index.ts +++ b/packages/client/src/components/index.ts @@ -4,7 +4,8 @@ export * from './AlertDialog'; export * from './Breadcrumb'; export * from './Button'; export * from './Checkbox'; -export * from './DataTableColumnHeader'; +export * from './DataTable/DataTable.types'; + export * from './Dialog'; export * from './DropdownMenu'; export * from './HoverCard';