Skip to content

Commit e1e3d37

Browse files
committed
fix(site): update Combobox to use ExternalImage instead of Avatar
1 parent 8fea22d commit e1e3d37

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

site/src/components/Combobox/Combobox.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { Avatar } from "components/Avatar/Avatar";
21
import { Button } from "components/Button/Button";
32
import {
43
Command,
@@ -23,6 +22,7 @@ import { Check, ChevronDown, CornerDownLeft } from "lucide-react";
2322
import { Info } from "lucide-react";
2423
import { type FC, type KeyboardEventHandler, useState } from "react";
2524
import { cn } from "utils/cn";
25+
import { ExternalImage } from "../ExternalImage/ExternalImage";
2626

2727
interface ComboboxProps {
2828
value: string;
@@ -118,13 +118,16 @@ export const Combobox: FC<ComboboxProps> = ({
118118
onSelect(currentValue === value ? "" : currentValue);
119119
}}
120120
>
121-
{showIcons && (
122-
<Avatar
123-
size="sm"
124-
src={option.icon}
125-
fallback={option.value}
126-
/>
127-
)}
121+
{showIcons &&
122+
(option.icon ? (
123+
<ExternalImage
124+
className="w-4 h-4 object-contain"
125+
src={option.icon}
126+
alt={option.displayName}
127+
/>
128+
) : (
129+
<span className="w-4 h-4"> </span>
130+
))}
128131
{option.displayName}
129132
<div className="flex flex-row items-center ml-auto gap-1">
130133
{value === option.value && (

site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { Alert } from "components/Alert/Alert";
66
import { ErrorAlert } from "components/Alert/ErrorAlert";
77
import { Avatar } from "components/Avatar/Avatar";
88
import { Button } from "components/Button/Button";
9-
import { SelectFilter } from "components/Filter/SelectFilter";
109
import {
1110
FormFields,
1211
FormFooter,
@@ -42,10 +41,10 @@ import {
4241
useValidationSchemaForRichParameters,
4342
} from "utils/richParameters";
4443
import * as Yup from "yup";
44+
import { Combobox } from "../../components/Combobox/Combobox";
4545
import type { CreateWorkspaceMode } from "./CreateWorkspacePage";
4646
import { ExternalAuthButton } from "./ExternalAuthButton";
4747
import type { CreateWorkspacePermissions } from "./permissions";
48-
import {Combobox} from "../../components/Combobox/Combobox";
4948

5049
export const Language = {
5150
duplicationWarning:
@@ -384,7 +383,9 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
384383
<Stack direction="column" spacing={2}>
385384
<Stack direction="row" spacing={2}>
386385
<Combobox
387-
value={presetOptions[selectedPresetIndex]?.displayName || ""}
386+
value={
387+
presetOptions[selectedPresetIndex]?.displayName || ""
388+
}
388389
options={presetOptions}
389390
placeholder="Select a preset"
390391
onSelect={(value) => {
@@ -397,7 +398,10 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
397398
setSelectedPresetIndex(index);
398399
form.setFieldValue(
399400
"template_version_preset_id",
400-
presetOptions[index].value === "" ? undefined : presetOptions[index].value,
401+
// Empty string is equivalent to using None
402+
presetOptions[index].value === ""
403+
? undefined
404+
: presetOptions[index].value,
401405
);
402406
}}
403407
/>

0 commit comments

Comments
 (0)