Skip to content

Commit 28b3db3

Browse files
author
colinmcneil
committed
Add chatGPT placeholder
1 parent dd9801b commit 28b3db3

File tree

4 files changed

+59
-51
lines changed

4 files changed

+59
-51
lines changed

src/extension/ui/src/chatgpt.svg

Lines changed: 1 addition & 0 deletions
Loading

src/extension/ui/src/components/SecretList.tsx

Lines changed: 0 additions & 32 deletions
This file was deleted.

src/extension/ui/src/components/tabs/YourClients.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { v1 } from "@docker/extension-api-client-types";
99
import ClaudeIcon from '../../claude-ai-icon.svg'
1010
import GordonIcon from '../../gordon-icon.png'
1111
import CursorIcon from '../../cursor.svg'
12+
import ChatGPTIcon from '../../chatgpt.svg'
1213

1314
type MCPClientSettingsProps = {
1415
mcpClientStates: { [name: string]: MCPClientState };
@@ -124,6 +125,30 @@ const MCPClientSettings = ({ mcpClientStates, onUpdate, setButtonsLoading, butto
124125
</Tooltip>
125126
</Stack>
126127
))}
128+
<Stack direction="row" spacing={1} sx={{ marginTop: 2 }}>
129+
<Accordion disabled sx={{ width: '100%', marginRight: 1 }}>
130+
<AccordionSummary sx={{ width: '100%' }}>
131+
<Stack direction="row" alignItems="center" spacing={1}>
132+
<img src={ChatGPTIcon} alt="ChatGPT Desktop" style={{ width: '2em', height: '2em' }} />
133+
<Typography variant="h4">ChatGPT Desktop</Typography>
134+
{<Chip label='Coming Soon' color='info' />}
135+
</Stack>
136+
</AccordionSummary>
137+
</Accordion>
138+
<Tooltip sx={{ alignSelf: 'baseline' }} title={<Stack direction="column" spacing={1}>
139+
<Typography>OpenAI has announced that MCP support is coming to ChatGPT Desktop. Please check back soon for updates.</Typography>
140+
</Stack>}>
141+
<Stack direction="row" alignItems="space-between" spacing={1} sx={{ marginLeft: 'auto' }}>
142+
<Button
143+
sx={connectionButtonSX}
144+
disabled color="warning" variant="outlined" size="small">
145+
<Stack direction="row" alignItems="center" spacing={1}>
146+
<Typography>Coming Soon</Typography>
147+
</Stack>
148+
</Button>
149+
</Stack>
150+
</Tooltip>
151+
</Stack>
127152
</Stack>
128153
<Divider />
129154
<Alert severity="info">

src/extension/ui/src/components/tabs/YourEnvironment.tsx

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { Alert, List, ListItem, ListItemText, Stack, Typography } from '@mui/material';
2+
import { Alert, Box, Card, CardContent, CardHeader, Grid2, List, ListItem, ListItemText, Stack, Typography } from '@mui/material';
33
import Secrets from '../../Secrets';
44
import { DD_BUILD_WITH_SECRET_SUPPORT, getUnsupportedSecretMessage } from '../../Constants';
55

@@ -18,25 +18,39 @@ const YourEnvironment: React.FC<YourEnvironmentProps> = ({ secrets, ddVersion, c
1818

1919
return (
2020
<Stack direction="column" spacing={2}>
21-
<List subheader={
22-
<Stack direction="column" spacing={2} alignItems="center">
23-
<Alert title="Docker Secret Management" severity="info" sx={{ fontSize: '1.2rem', maxWidth: 600 }}>
24-
Docker Secret Management is a new feature in Docker Desktop that allows you to securely inject secrets into your containers.
25-
</Alert>
26-
<Typography variant="h2">
27-
The following secrets are available to use in your prompts:
28-
</Typography>
29-
</Stack>
30-
}>
31-
{secrets.map((secret) => (
32-
<ListItem key={secret.name}>
33-
<ListItemText primary={<Typography variant="h6">{secret.name}</Typography>} />
34-
</ListItem>
21+
22+
<Stack direction="column" spacing={2}>
23+
24+
<Typography variant="h3">
25+
The following secrets are available to use in your prompts:
26+
</Typography>
27+
<Alert title="Docker Secret Management" severity="info" sx={{ width: '90vw', maxWidth: 1000, p: 1 }}>
28+
Docker Secret Management is a new feature in Docker Desktop that allows you to securely inject secrets into your containers. Only the tools which need to access the secrets will be able to access them.
29+
</Alert>
30+
</Stack>
31+
<Grid2 container spacing={1}>
32+
{secrets.sort((a, b) => a.name.localeCompare(b.name)).map((secret) => (
33+
<Grid2 key={secret.name} size={{ xs: 12, sm: 6, md: 4, lg: 3 }}>
34+
<Card raised sx={{ py: 0, px: 2 }}>
35+
<pre>{secret.name}</pre>
36+
</Card>
37+
</Grid2>
38+
))}
39+
</Grid2>
40+
<Typography variant="h3">The following configurations are available to use in your prompts:</Typography>
41+
<Grid2 container spacing={1}>
42+
{Object.keys(config).sort().map((key) => (
43+
<Grid2 key={key} size={{ xs: 12, sm: 6, md: 4, lg: 3 }}>
44+
<Card raised sx={{ py: 1, px: 2 }}>
45+
<Typography variant="h6">{key}</Typography>
46+
<Box sx={{ overflow: 'auto', maxHeight: 200, backgroundColor: 'background.secondary', borderRadius: 2, p: 1, mt: 1 }}>
47+
<pre style={{ margin: 0 }}>{JSON.stringify(config[key], null, 2)}</pre>
48+
</Box>
49+
</Card>
50+
</Grid2>
3551
))}
36-
</List>
37-
<Typography variant="h2">The following configurations are available to use in your prompts:</Typography>
38-
<pre>{JSON.stringify(config, null, 2)}</pre>
39-
</Stack>
52+
</Grid2>
53+
</Stack >
4054
);
4155
};
4256

0 commit comments

Comments
 (0)