| ... | @@ -30,6 +30,7 @@ import { | ... | @@ -30,6 +30,7 @@ import { |
| 30 | import { useComposerDraftStore, DraftId } from "../../composerDraftStore"; | 30 | import { useComposerDraftStore, DraftId } from "../../composerDraftStore"; |
| 31 | import { getProviderModelCapabilities } from "../../providerModels"; | 31 | import { getProviderModelCapabilities } from "../../providerModels"; |
| 32 | import { cn } from "~/lib/utils"; | 32 | import { cn } from "~/lib/utils"; |
| | 33 | import { Badge } from "../ui/badge"; |
| 33 | | 34 | |
| 34 | type ProviderOptions = ReadonlyArray<ProviderOptionSelection>; | 35 | type ProviderOptions = ReadonlyArray<ProviderOptionSelection>; |
| 35 | | 36 | |
| ... | @@ -46,6 +47,17 @@ type TraitsPersistence = | ... | @@ -46,6 +47,17 @@ type TraitsPersistence = |
| 46 | | 47 | |
| 47 | const ULTRATHINK_PROMPT_PREFIX = "Ultrathink:\n"; | 48 | const ULTRATHINK_PROMPT_PREFIX = "Ultrathink:\n"; |
| 48 | | 49 | |
| | 50 | function 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 | |
| 49 | function replaceDescriptorCurrentValue( | 61 | function replaceDescriptorCurrentValue( |
| 50 | descriptors: ReadonlyArray<ProviderOptionDescriptor>, | 62 | descriptors: ReadonlyArray<ProviderOptionDescriptor>, |
| 51 | descriptorId: string, | 63 | descriptorId: string, |
| ... | @@ -313,7 +325,12 @@ export const TraitsMenuContent = memo(function TraitsMenuContentImpl({ | ... | @@ -313,7 +325,12 @@ export const TraitsMenuContent = memo(function TraitsMenuContentImpl({ |
| 313 | disabled={ultrathinkInBodyText && descriptor.id === primarySelectDescriptor?.id} | 325 | disabled={ultrathinkInBodyText && descriptor.id === primarySelectDescriptor?.id} |
| 314 | > | 326 | > |
| 315 | {option.label} | 327 | {option.label} |
| 316 | {option.isDefault ? " (default)" : ""} | 328 | {option.isDefault ? ( |
| | 329 | <> |
| | 330 | {" "} |
| | 331 | <DefaultBadge /> |
| | 332 | </> |
| | 333 | ) : null} |
| 317 | </MenuRadioItem> | 334 | </MenuRadioItem> |
| 318 | ))} | 335 | ))} |
| 319 | </MenuRadioGroup> | 336 | </MenuRadioGroup> |