Skip to content

Commit 50724f4

Browse files
committed
Test and check external apps
1 parent 8c7ede2 commit 50724f4

File tree

2 files changed

+46
-35
lines changed

2 files changed

+46
-35
lines changed

site/src/pages/TaskPage/TaskPage.stories.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,15 @@ export const Active: Story = {
131131
{
132132
...MockWorkspaceApp,
133133
id: "vscode",
134-
display_name: "VSCode",
134+
display_name: "VS Code Web",
135135
icon: "/icon/code.svg",
136136
},
137+
{
138+
...MockWorkspaceApp,
139+
id: "zed",
140+
display_name: "Zed",
141+
icon: "/icon/zed.svg",
142+
},
137143
],
138144
},
139145
],

site/src/pages/TaskPage/TaskPage.tsx

Lines changed: 39 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -315,10 +315,13 @@ const TaskApps: FC<TaskAppsProps> = ({ task }) => {
315315
return src;
316316
});
317317

318+
const emmbedApps = apps.filter((app) => !app.external);
319+
const externalApps = apps.filter((app) => app.external);
320+
318321
return (
319322
<main className="flex-1 flex flex-col">
320323
<div className="border-0 border-b border-border border-solid w-full p-1 flex gap-2">
321-
{apps
324+
{emmbedApps
322325
.filter((app) => !app.external)
323326
.map((app) => (
324327
<TaskAppButton
@@ -338,39 +341,41 @@ const TaskApps: FC<TaskAppsProps> = ({ task }) => {
338341
/>
339342
))}
340343

341-
<div className="ml-auto">
342-
<DropdownMenu>
343-
<DropdownMenuTrigger asChild>
344-
<Button size="sm" variant="subtle">
345-
Open in IDE
346-
<ChevronDownIcon />
347-
</Button>
348-
</DropdownMenuTrigger>
349-
<DropdownMenuContent>
350-
{apps
351-
.filter((app) => app.external)
352-
.map((app) => {
353-
const link = useAppLink(app, {
354-
agent,
355-
workspace: task.workspace,
356-
});
357-
358-
return (
359-
<DropdownMenuItem key={app.id} asChild>
360-
<RouterLink to={link.href}>
361-
{app.icon ? (
362-
<ExternalImage src={app.icon} />
363-
) : (
364-
<LayoutGridIcon />
365-
)}
366-
{link.label}
367-
</RouterLink>
368-
</DropdownMenuItem>
369-
);
370-
})}
371-
</DropdownMenuContent>
372-
</DropdownMenu>
373-
</div>
344+
{externalApps.length > 0 && (
345+
<div className="ml-auto">
346+
<DropdownMenu>
347+
<DropdownMenuTrigger asChild>
348+
<Button size="sm" variant="subtle">
349+
Open in IDE
350+
<ChevronDownIcon />
351+
</Button>
352+
</DropdownMenuTrigger>
353+
<DropdownMenuContent>
354+
{externalApps
355+
.filter((app) => app.external)
356+
.map((app) => {
357+
const link = useAppLink(app, {
358+
agent,
359+
workspace: task.workspace,
360+
});
361+
362+
return (
363+
<DropdownMenuItem key={app.id} asChild>
364+
<RouterLink to={link.href}>
365+
{app.icon ? (
366+
<ExternalImage src={app.icon} />
367+
) : (
368+
<LayoutGridIcon />
369+
)}
370+
{link.label}
371+
</RouterLink>
372+
</DropdownMenuItem>
373+
);
374+
})}
375+
</DropdownMenuContent>
376+
</DropdownMenu>
377+
</div>
378+
)}
374379
</div>
375380

376381
<div className="flex-1">

0 commit comments

Comments
 (0)