Skip to content

Commit e5cdd46

Browse files
Remove fast-tier icons from model selection UI
- delete `shouldShowFastTierIcon` and its test - remove Zap icon badges from slash model commands and provider model picker - simplify related ChatView props and memo dependencies
1 parent 9bd520e commit e5cdd46

3 files changed

Lines changed: 2 additions & 41 deletions

File tree

apps/web/src/appSettings.test.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {
44
getAppModelOptions,
55
getSlashModelOptions,
66
normalizeCustomModelSlugs,
7-
shouldShowFastTierIcon,
87
resolveAppModelSelection,
98
} from "./appSettings";
109

@@ -83,11 +82,3 @@ describe("getSlashModelOptions", () => {
8382
expect(options.map((option) => option.slug)).toEqual(["openai/gpt-oss-120b"]);
8483
});
8584
});
86-
87-
describe("shouldShowFastTierIcon", () => {
88-
it("shows the fast-tier icon only for gpt-5.4 when fast mode is enabled", () => {
89-
expect(shouldShowFastTierIcon("gpt-5.4", true)).toBe(true);
90-
expect(shouldShowFastTierIcon("gpt-5.4", false)).toBe(false);
91-
expect(shouldShowFastTierIcon("gpt-5.3-codex", true)).toBe(false);
92-
});
93-
});

apps/web/src/appSettings.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { getDefaultModel, getModelOptions, normalizeModelSlug } from "@t3tools/s
66
const APP_SETTINGS_STORAGE_KEY = "t3code:app-settings:v1";
77
const MAX_CUSTOM_MODEL_COUNT = 32;
88
export const MAX_CUSTOM_MODEL_LENGTH = 256;
9-
const MODELS_WITH_FAST_SUPPORT = new Set(["gpt-5.4"]);
109
const BUILT_IN_MODEL_SLUGS_BY_PROVIDER: Record<ProviderKind, ReadonlySet<string>> = {
1110
codex: new Set(getModelOptions("codex").map((option) => option.slug)),
1211
};
@@ -33,18 +32,6 @@ export interface AppModelOption {
3332
isCustom: boolean;
3433
}
3534

36-
export function shouldShowFastTierIcon(
37-
model: string | null | undefined,
38-
fastModeEnabled: boolean,
39-
): boolean {
40-
const normalizedModel = normalizeModelSlug(model);
41-
return (
42-
fastModeEnabled &&
43-
normalizedModel !== null &&
44-
MODELS_WITH_FAST_SUPPORT.has(normalizedModel)
45-
);
46-
}
47-
4835
const DEFAULT_APP_SETTINGS = AppSettingsSchema.makeUnsafe({});
4936

5037
let listeners: Array<() => void> = [];

apps/web/src/components/ChatView.tsx

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ import {
145145
XIcon,
146146
CopyIcon,
147147
CheckIcon,
148-
ZapIcon,
149148
} from "lucide-react";
150149
import { Button } from "./ui/button";
151150
import { Input } from "./ui/input";
@@ -205,7 +204,6 @@ import { readNativeApi } from "~/nativeApi";
205204
import {
206205
getAppModelOptions,
207206
resolveAppModelSelection,
208-
shouldShowFastTierIcon,
209207
useAppSettings,
210208
} from "../appSettings";
211209
import {
@@ -408,7 +406,6 @@ type ComposerCommandItem =
408406
model: ModelSlug;
409407
label: string;
410408
description: string;
411-
showFastBadge: boolean;
412409
};
413410

414411
type SendPhase = "idle" | "preparing-worktree" | "sending-turn";
@@ -519,9 +516,6 @@ const ComposerCommandMenuItem = memo(function ComposerCommandMenuItem(props: {
519516
</Badge>
520517
) : null}
521518
<span className="flex min-w-0 items-center gap-1.5 truncate">
522-
{props.item.type === "model" && props.item.showFastBadge ? (
523-
<ZapIcon className="size-3.5 shrink-0 text-amber-500" />
524-
) : null}
525519
<span className="truncate">{props.item.label}</span>
526520
</span>
527521
<span className="truncate text-muted-foreground/70 text-xs">{props.item.description}</span>
@@ -1250,10 +1244,8 @@ export default function ChatView({ threadId }: ChatViewProps) {
12501244
model: slug,
12511245
label: name,
12521246
description: `${providerLabel} · ${slug}`,
1253-
showFastBadge:
1254-
provider === "codex" && shouldShowFastTierIcon(slug, selectedCodexFastModeEnabled),
12551247
}));
1256-
}, [composerTrigger, searchableModelOptions, selectedCodexFastModeEnabled, workspaceEntries]);
1248+
}, [composerTrigger, searchableModelOptions, workspaceEntries]);
12571249
const composerMenuOpen = Boolean(composerTrigger);
12581250
const activeComposerMenuItem = useMemo(
12591251
() =>
@@ -3694,7 +3686,6 @@ export default function ChatView({ threadId }: ChatViewProps) {
36943686
model={selectedModelForPickerWithCustomFallback}
36953687
lockedProvider={lockedProvider}
36963688
modelOptionsByProvider={modelOptionsByProvider}
3697-
fastModeEnabled={selectedCodexFastModeEnabled}
36983689
onProviderModelChange={onProviderModelSelect}
36993690
/>
37003691

@@ -5537,7 +5528,6 @@ const ProviderModelPicker = memo(function ProviderModelPicker(props: {
55375528
model: ModelSlug;
55385529
lockedProvider: ProviderKind | null;
55395530
modelOptionsByProvider: Record<ProviderKind, ReadonlyArray<{ slug: string; name: string }>>;
5540-
fastModeEnabled: boolean;
55415531
disabled?: boolean;
55425532
onProviderModelChange: (provider: ProviderKind, model: ModelSlug) => void;
55435533
}) {
@@ -5567,12 +5557,9 @@ const ProviderModelPicker = memo(function ProviderModelPicker(props: {
55675557
disabled={props.disabled}
55685558
/>
55695559
}
5570-
>
5560+
>
55715561
<span className="flex min-w-0 items-center gap-2">
55725562
<ProviderIcon aria-hidden="true" className="size-4 shrink-0 text-muted-foreground/70" />
5573-
{props.provider === "codex" && shouldShowFastTierIcon(props.model, props.fastModeEnabled) ? (
5574-
<ZapIcon className="size-3.5 shrink-0 text-amber-500" />
5575-
) : null}
55765563
<span className="truncate">{selectedModelLabel}</span>
55775564
<ChevronDownIcon aria-hidden="true" className="size-3 opacity-60" />
55785565
</span>
@@ -5615,10 +5602,6 @@ const ProviderModelPicker = memo(function ProviderModelPicker(props: {
56155602
value={modelOption.slug}
56165603
onClick={() => setIsMenuOpen(false)}
56175604
>
5618-
{option.value === "codex" &&
5619-
shouldShowFastTierIcon(modelOption.slug, props.fastModeEnabled) ? (
5620-
<ZapIcon className="size-3.5 shrink-0 text-amber-500" />
5621-
) : null}
56225605
{modelOption.name}
56235606
</MenuRadioItem>
56245607
))}

0 commit comments

Comments
 (0)