authorgravatar for 69873514+sandersonstabo@users.noreply.github.comss <69873514+sandersonstabo@users.noreply.github.com> 2026-07-18 13:21:50+02:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-07-18 13:21:50+02:00
logc0e161af069ec501a44d72c4e59d38d3cf85706d
treee0c65827148af579fb98e64c063b69f9b4027996
parentd0b9f8d40d7f269a4c77b7c0302b5889a31ba66a
signature Signed by PGP key B5690EEEBB952194

[fix/feat:ui] Show default option badge (#3232)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

1 files changed, 18 insertions(+), 1 deletions(-)

apps/web/src/components/chat/TraitsPicker.tsx+18-1
......@@ -30,6 +30,7 @@ import {
3030import { useComposerDraftStore, DraftId } from "../../composerDraftStore";
3131import { getProviderModelCapabilities } from "../../providerModels";
3232import { cn } from "~/lib/utils";
33import { Badge } from "../ui/badge";
3334
3435type ProviderOptions = ReadonlyArray<ProviderOptionSelection>;
3536
......@@ -46,6 +47,17 @@ type TraitsPersistence =
4647
4748const ULTRATHINK_PROMPT_PREFIX = "Ultrathink:\n";
4849
50function DefaultBadge() {
51 return (
52 <Badge
53 variant="outline"
54 className="inline-flex h-4 w-fit min-w-0 items-center justify-center gap-0 border-border/70 bg-muted/60 px-1.5 py-0 font-semibold text-[10px] text-muted-foreground leading-none sm:h-4"
55 >
56 Default
57 </Badge>
58 );
59}
60
4961function replaceDescriptorCurrentValue(
5062 descriptors: ReadonlyArray<ProviderOptionDescriptor>,
5163 descriptorId: string,
......@@ -313,7 +325,12 @@ export const TraitsMenuContent = memo(function TraitsMenuContentImpl({
313325 disabled={ultrathinkInBodyText && descriptor.id === primarySelectDescriptor?.id}
314326 >
315327 {option.label}
316 {option.isDefault ? " (default)" : ""}
328 {option.isDefault ? (
329 <>
330 {" "}
331 <DefaultBadge />
332 </>
333 ) : null}
317334 </MenuRadioItem>
318335 ))}
319336 </MenuRadioGroup>