Skip to content

Commit af6a11c

Browse files
More UX Signoff enhancements (opendatahub-io#6268)
* Fixed dark mode for header in model comapre Signed-off-by: Agnieszka Gancarczyk <agagancarczyk@gmail.com> * Fixed the checkbox behaviour Signed-off-by: Agnieszka Gancarczyk <agagancarczyk@gmail.com> --------- Signed-off-by: Agnieszka Gancarczyk <agagancarczyk@gmail.com>
1 parent 6386abe commit af6a11c

2 files changed

Lines changed: 50 additions & 33 deletions

File tree

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import * as React from 'react';
22
import { Card, CardBody } from '@patternfly/react-core';
33
import { ResponseMetrics } from '~/app/types';
4+
import useDarkMode from '~/app/Chatbot/hooks/useDarkMode';
45
import ChatbotPaneHeader from './components/ChatbotPaneHeader';
56

67
interface ChatbotPaneProps {
@@ -33,38 +34,42 @@ const ChatbotPane: React.FC<ChatbotPaneProps> = ({
3334
children,
3435
metrics,
3536
isLoading,
36-
}) => (
37-
<Card
38-
isFullHeight
39-
isPlain
40-
style={{ boxShadow: 'none', display: 'flex', flexDirection: 'column', height: '100%' }}
41-
data-testid={`chatbot-pane-${configId}`}
42-
role="region"
43-
aria-label={displayLabel}
44-
>
45-
<ChatbotPaneHeader
46-
label={displayLabel}
47-
selectedModel={selectedModel}
48-
onModelChange={onModelChange}
49-
onSettingsClick={onSettingsClick}
50-
onCloseClick={onClose}
51-
metrics={metrics}
52-
isLoading={isLoading}
53-
hasDivider
54-
testIdPrefix={`chatbot-pane-${configId}`}
55-
/>
56-
<CardBody
57-
style={{
58-
padding: 0,
59-
overflow: 'hidden',
60-
flex: 1,
61-
display: 'flex',
62-
flexDirection: 'column',
63-
}}
37+
}) => {
38+
const isDarkMode = useDarkMode();
39+
return (
40+
<Card
41+
isFullHeight
42+
isPlain
43+
style={{ boxShadow: 'none', display: 'flex', flexDirection: 'column', height: '100%' }}
44+
data-testid={`chatbot-pane-${configId}`}
45+
role="region"
46+
aria-label={displayLabel}
6447
>
65-
{children}
66-
</CardBody>
67-
</Card>
68-
);
48+
<ChatbotPaneHeader
49+
label={displayLabel}
50+
selectedModel={selectedModel}
51+
onModelChange={onModelChange}
52+
onSettingsClick={onSettingsClick}
53+
onCloseClick={onClose}
54+
metrics={metrics}
55+
isLoading={isLoading}
56+
hasDivider
57+
testIdPrefix={`chatbot-pane-${configId}`}
58+
isDarkMode={isDarkMode}
59+
/>
60+
<CardBody
61+
style={{
62+
padding: 0,
63+
overflow: 'hidden',
64+
flex: 1,
65+
display: 'flex',
66+
flexDirection: 'column',
67+
}}
68+
>
69+
{children}
70+
</CardBody>
71+
</Card>
72+
);
73+
};
6974

7075
export default ChatbotPane;

packages/gen-ai/frontend/src/app/Chatbot/mcp/MCPServersPanel.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,23 @@ const MCPServersPanel: React.FC<MCPServersPanelProps> = ({
184184
}, [totalActiveTools, onActiveToolsCountChange]);
185185

186186
const handleConfigModalClose = React.useCallback(() => {
187+
if (configModal.selectedItem) {
188+
const serverToDeselect = transformedServers.find(
189+
(server) => server.id === configModal.selectedItem!.id,
190+
);
191+
if (serverToDeselect && isSelected(serverToDeselect)) {
192+
const tokenInfo = tokenManagement.getToken(serverToDeselect.connectionUrl);
193+
const isAuthenticated = tokenInfo?.authenticated || tokenInfo?.autoConnected || false;
194+
if (!isAuthenticated) {
195+
toggleSelection(serverToDeselect);
196+
}
197+
}
198+
}
187199
configModal.closeModal();
188200
fireFormTrackingEvent(MCP_AUTH_EVENT_NAME, {
189201
outcome: TrackingOutcome.cancel,
190202
});
191-
}, [configModal]);
203+
}, [configModal, transformedServers, isSelected, toggleSelection, tokenManagement]);
192204

193205
const handleToolsModalClose = React.useCallback(() => {
194206
toolsModal.closeModal();

0 commit comments

Comments
 (0)