Skip to content

Commit 23b3022

Browse files
refactor: extract duplicated reasoning label map and default effort to shared constants
Extract reasoningLabelByOption and defaultReasoningEffort from both CompactComposerControlsMenu and CodexTraitsPicker into file-level constants REASONING_LABEL_BY_OPTION and DEFAULT_CODEX_REASONING_EFFORT to eliminate duplication and reduce maintenance risk. Co-authored-by: Julius Marminge <juliusmarminge@users.noreply.github.com>
1 parent 8d267ec commit 23b3022

File tree

1 file changed

+14
-20
lines changed

1 file changed

+14
-20
lines changed

apps/web/src/components/ChatView.tsx

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5723,6 +5723,15 @@ const ProviderModelPicker = memo(function ProviderModelPicker(props: {
57235723
);
57245724
});
57255725

5726+
const REASONING_LABEL_BY_OPTION: Record<CodexReasoningEffort, string> = {
5727+
low: "Low",
5728+
medium: "Medium",
5729+
high: "High",
5730+
xhigh: "Extra High",
5731+
};
5732+
5733+
const DEFAULT_CODEX_REASONING_EFFORT = getDefaultReasoningEffort("codex");
5734+
57265735
const CompactComposerControlsMenu = memo(function CompactComposerControlsMenu(props: {
57275736
activePlan: boolean;
57285737
interactionMode: ProviderInteractionMode;
@@ -5738,14 +5747,6 @@ const CompactComposerControlsMenu = memo(function CompactComposerControlsMenu(pr
57385747
onTogglePlanSidebar: () => void;
57395748
onToggleRuntimeMode: () => void;
57405749
}) {
5741-
const defaultReasoningEffort = getDefaultReasoningEffort("codex");
5742-
const reasoningLabelByOption: Record<CodexReasoningEffort, string> = {
5743-
low: "Low",
5744-
medium: "Medium",
5745-
high: "High",
5746-
xhigh: "Extra High",
5747-
};
5748-
57495750
return (
57505751
<Menu>
57515752
<MenuTrigger
@@ -5776,8 +5777,8 @@ const CompactComposerControlsMenu = memo(function CompactComposerControlsMenu(pr
57765777
>
57775778
{props.reasoningOptions.map((effort) => (
57785779
<MenuRadioItem key={effort} value={effort}>
5779-
{reasoningLabelByOption[effort]}
5780-
{effort === defaultReasoningEffort ? " (default)" : ""}
5780+
{REASONING_LABEL_BY_OPTION[effort]}
5781+
{effort === DEFAULT_CODEX_REASONING_EFFORT ? " (default)" : ""}
57815782
</MenuRadioItem>
57825783
))}
57835784
</MenuRadioGroup>
@@ -5847,15 +5848,8 @@ const CodexTraitsPicker = memo(function CodexTraitsPicker(props: {
58475848
onFastModeChange: (enabled: boolean) => void;
58485849
}) {
58495850
const [isMenuOpen, setIsMenuOpen] = useState(false);
5850-
const defaultReasoningEffort = getDefaultReasoningEffort("codex");
5851-
const reasoningLabelByOption: Record<CodexReasoningEffort, string> = {
5852-
low: "Low",
5853-
medium: "Medium",
5854-
high: "High",
5855-
xhigh: "Extra High",
5856-
};
58575851
const triggerLabel = [
5858-
reasoningLabelByOption[props.effort],
5852+
REASONING_LABEL_BY_OPTION[props.effort],
58595853
...(props.fastModeEnabled ? ["Fast"] : []),
58605854
]
58615855
.filter(Boolean)
@@ -5894,8 +5888,8 @@ const CodexTraitsPicker = memo(function CodexTraitsPicker(props: {
58945888
>
58955889
{props.options.map((effort) => (
58965890
<MenuRadioItem key={effort} value={effort}>
5897-
{reasoningLabelByOption[effort]}
5898-
{effort === defaultReasoningEffort ? " (default)" : ""}
5891+
{REASONING_LABEL_BY_OPTION[effort]}
5892+
{effort === DEFAULT_CODEX_REASONING_EFFORT ? " (default)" : ""}
58995893
</MenuRadioItem>
59005894
))}
59015895
</MenuRadioGroup>

0 commit comments

Comments
 (0)