refactor: unify create session forms - show clone mode everywhere and display fixed fields as read-only

This commit is contained in:
Fusion
2026-05-23 19:53:12 +02:00
parent 2e9ca52cdb
commit 01adc9a00f
4 changed files with 36 additions and 5 deletions
@@ -12,7 +12,10 @@ interface CreateSessionFormProps {
toolTypes: ToolType[];
fixedProjectId?: string;
fixedRepoId?: string;
projectName?: string;
repoName?: string;
showCloneMode?: boolean;
showFixedFields?: boolean;
onProjectChange?: (projectId: string) => void;
onSuccess?: (instance: ToolInstance) => void;
onCancel?: () => void;
@@ -26,7 +29,10 @@ export const CreateSessionForm = ({
toolTypes,
fixedProjectId,
fixedRepoId,
showCloneMode = false,
projectName,
repoName,
showCloneMode = true,
showFixedFields = true,
onProjectChange,
onSuccess,
onCancel,
@@ -132,7 +138,17 @@ export const CreateSessionForm = ({
<form onSubmit={handleSubmit} className="stack create-session-form">
<div className="form-row">
{!fixedProjectId && (
{fixedProjectId && showFixedFields ? (
<label className="form-field">
Project
<input
type="text"
value={projectName || projects.find((p) => p.id === fixedProjectId)?.name || ""}
disabled
readOnly
/>
</label>
) : (
<label className="form-field">
Project
<select
@@ -155,7 +171,17 @@ export const CreateSessionForm = ({
</label>
)}
{!fixedRepoId && (
{fixedRepoId && showFixedFields ? (
<label className="form-field">
Repository
<input
type="text"
value={repoName || repositories.find((r) => r.id === fixedRepoId)?.name || ""}
disabled
readOnly
/>
</label>
) : (
<label className="form-field">
Repository
<select