diff --git a/client/src/components/Chat/Input/Files/AttachFileMenu.tsx b/client/src/components/Chat/Input/Files/AttachFileMenu.tsx index a3e5a8d304..a2cac2c0a0 100644 --- a/client/src/components/Chat/Input/Files/AttachFileMenu.tsx +++ b/client/src/components/Chat/Input/Files/AttachFileMenu.tsx @@ -224,6 +224,7 @@ const AttachFileMenu = ({ aria-label="Attach File Options" className={cn( 'flex size-9 items-center justify-center rounded-full p-1 transition-colors hover:bg-surface-hover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-opacity-50', + isPopoverActive && 'bg-surface-hover', )} >
diff --git a/client/src/components/Chat/Input/MCPSelect.tsx b/client/src/components/Chat/Input/MCPSelect.tsx index 9482581802..ca0671c0a5 100644 --- a/client/src/components/Chat/Input/MCPSelect.tsx +++ b/client/src/components/Chat/Input/MCPSelect.tsx @@ -3,6 +3,7 @@ import { MultiSelect, MCPIcon } from '@librechat/client'; import MCPServerStatusIcon from '~/components/MCP/MCPServerStatusIcon'; import MCPConfigDialog from '~/components/MCP/MCPConfigDialog'; import { useBadgeRowContext } from '~/Providers'; +import { cn } from '~/utils'; function MCPSelectContent() { const { conversationId, mcpServerManager } = useBadgeRowContext(); @@ -88,7 +89,10 @@ function MCPSelectContent() { className="badge-icon min-w-fit" selectIcon={} selectItemsClassName="border border-blue-600/50 bg-blue-500/10 hover:bg-blue-700/10" - selectClassName="group relative inline-flex items-center justify-center md:justify-start gap-1.5 rounded-full border border-border-medium text-sm font-medium transition-all md:w-full size-9 p-2 md:p-3 bg-transparent shadow-sm hover:bg-surface-hover hover:shadow-md active:shadow-inner" + selectClassName={cn( + 'group relative inline-flex items-center justify-center md:justify-start gap-1.5 rounded-full border border-border-medium text-sm font-medium transition-all', + 'md:w-full size-9 p-2 md:p-3 bg-transparent shadow-sm hover:bg-surface-hover hover:shadow-md active:shadow-inner', + )} /> {configDialogProps && ( diff --git a/client/src/components/Chat/Input/ToolsDropdown.tsx b/client/src/components/Chat/Input/ToolsDropdown.tsx index 720c0bb92e..828c4036b9 100644 --- a/client/src/components/Chat/Input/ToolsDropdown.tsx +++ b/client/src/components/Chat/Input/ToolsDropdown.tsx @@ -307,10 +307,11 @@ const ToolsDropdown = ({ disabled }: ToolsDropdownProps) => { aria-label="Tools Options" className={cn( 'flex size-9 items-center justify-center rounded-full p-1 transition-colors hover:bg-surface-hover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-opacity-50', + isPopoverActive && 'bg-surface-hover', )} >
- +
} diff --git a/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx b/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx index 995527a1ea..b8201a8b67 100644 --- a/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx +++ b/client/src/components/Nav/SettingsTabs/Data/SharedLinks.tsx @@ -122,17 +122,6 @@ export default function SharedLinks() { [setQueryParams, data?.pages], ); - const handleError = useCallback( - (error: Error) => { - console.error('DataTable error:', error); - showToast({ - message: localize('com_ui_share_error'), - severity: NotificationSeverity.ERROR, - }); - }, - [showToast, localize], - ); - useEffect(() => { if (!data?.pages) return; @@ -252,7 +241,7 @@ export default function SharedLinks() { }, meta: { className: 'w-32 sm:w-40', - // desktopOnly: true, // WIP + desktopOnly: true, }, enableSorting: true, }, @@ -350,7 +339,6 @@ export default function SharedLinks() { isFetchingNextPage={isFetchingNextPage} sorting={sorting} onSortingChange={handleSortingChange} - onError={handleError} /> diff --git a/client/src/components/OAuth/OAuthSuccess.tsx b/client/src/components/OAuth/OAuthSuccess.tsx index fd8051a6f5..10c9dc071e 100644 --- a/client/src/components/OAuth/OAuthSuccess.tsx +++ b/client/src/components/OAuth/OAuthSuccess.tsx @@ -25,7 +25,7 @@ export default function OAuthSuccess() { return (
-
+

{localize('com_ui_oauth_success_title') || 'Authentication Successful'}

diff --git a/packages/client/src/components/MultiSelect.tsx b/packages/client/src/components/MultiSelect.tsx index a793e1c550..132870c01a 100644 --- a/packages/client/src/components/MultiSelect.tsx +++ b/packages/client/src/components/MultiSelect.tsx @@ -1,4 +1,4 @@ -import React, { useRef } from 'react'; +import React, { useRef, useState } from 'react'; import { Select, SelectArrow, @@ -61,6 +61,7 @@ export default function MultiSelect({ renderItemContent, }: MultiSelectProps) { const selectRef = useRef(null); + const [isPopoverOpen, setIsPopoverOpen] = useState(false); const handleValueChange = (values: T[]) => { setSelectedValues(values); @@ -71,7 +72,12 @@ export default function MultiSelect({ return (
- + {label && ( {label} @@ -92,7 +98,12 @@ export default function MultiSelect({ {renderSelectedValues(selectedValues, placeholder)} - +