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)}
-
+