Skip to content

Commit ceb6391

Browse files
committed
fix: pre-fill override dialog model from current override instead of prompt default
1 parent dcdad1e commit ceb6391

File tree

1 file changed

+8
-4
lines changed
  • apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.prompts.$promptSlug

1 file changed

+8
-4
lines changed

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.prompts.$promptSlug/route.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,7 @@ export default function PromptDetailPage() {
733733
prompt={prompt}
734734
content={content}
735735
isEditingOverride={!!overrideVersion}
736+
currentOverrideModel={overrideVersion ? versions.find((v) => v.id === overrideVersion.id)?.model ?? null : null}
736737
onSave={(textContent, commitMessage, model) => {
737738
const intent = overrideVersion ? "updateOverride" : "saveVersion";
738739
fetcher.submit({ intent, textContent, commitMessage, model }, { method: "POST" });
@@ -751,6 +752,7 @@ function OverrideDialog({
751752
prompt,
752753
content,
753754
isEditingOverride,
755+
currentOverrideModel,
754756
onSave,
755757
}: {
756758
open: boolean;
@@ -763,20 +765,22 @@ function OverrideDialog({
763765
};
764766
content: string;
765767
isEditingOverride: boolean;
768+
currentOverrideModel?: string | null;
766769
onSave: (textContent: string, commitMessage: string, model: string) => void;
767770
}) {
771+
const effectiveModel = currentOverrideModel ?? prompt.defaultModel ?? "";
768772
const [editedContent, setEditedContent] = useState(content);
769773
const [commitMessage, setCommitMessage] = useState("");
770-
const [model, setModel] = useState(prompt.defaultModel ?? "");
774+
const [model, setModel] = useState(effectiveModel);
771775

772776
// Reset when dialog opens
773777
useEffect(() => {
774778
if (open) {
775779
setEditedContent(content);
776780
setCommitMessage("");
777-
setModel(prompt.defaultModel ?? "");
781+
setModel(currentOverrideModel ?? prompt.defaultModel ?? "");
778782
}
779-
}, [open, content, prompt.defaultModel]);
783+
}, [open, content, currentOverrideModel, prompt.defaultModel]);
780784

781785
const variableFields = prompt.variableSchema ? extractVariableFields(prompt.variableSchema) : [];
782786

@@ -796,7 +800,7 @@ function OverrideDialog({
796800
const undefinedVars = [...templateVars].filter((v) => !schemaVarNames.has(v));
797801
const unusedVars = variableFields.filter((f) => f.required && !templateVars.has(f.name));
798802

799-
const hasChanges = editedContent !== content || model !== (prompt.defaultModel ?? "");
803+
const hasChanges = editedContent !== content || model !== effectiveModel;
800804

801805
return (
802806
<Dialog open={open} onOpenChange={onOpenChange}>

0 commit comments

Comments
 (0)