- {current === STEP_PASSWORD && passwordRequired && (
-
- )}
- {current === STEP_DATABASE && (
-
void handleDatabaseContinue()}
- onBack={passwordRequired ? handleBackFromDatabase : undefined}
- />
- )}
- {current === STEP_ADMIN && (
- {
- setAdminCreds(creds);
- wizardSession.saveDraft({ adminUsername: creds.username });
- goToStep(STEP_MODEL);
- }}
- />
- )}
- {current === STEP_MODEL && (
+ {desktopFlow ? (
goToStep(STEP_ADMIN)}
- onSkip={() => {
- setProviderDraft(null);
- wizardSession.saveDraft({});
- goToStep(STEP_FINISH);
- }}
+ hideBack
+ skipLabel={t("wizard.model.skipToWorkspace")}
+ onBack={() => undefined}
+ onSkip={enterWorkspace}
onContinue={(draft) => {
- setProviderDraft(draft);
- goToStep(STEP_FINISH);
+ void handleDesktopContinue(draft);
}}
/>
- )}
- {current === STEP_FINISH && adminCreds && (
-
+ ) : (
+ <>
+ {current === STEP_PASSWORD && passwordRequired && (
+
+ )}
+ {current === STEP_DATABASE && (
+ void handleDatabaseContinue()}
+ onBack={passwordRequired ? handleBackFromDatabase : undefined}
+ />
+ )}
+ {current === STEP_ADMIN && (
+ {
+ setAdminCreds(creds);
+ wizardSession.saveDraft({ adminUsername: creds.username });
+ goToStep(STEP_MODEL);
+ }}
+ />
+ )}
+ {current === STEP_MODEL && (
+ goToStep(STEP_ADMIN)}
+ onSkip={() => {
+ setProviderDraft(null);
+ wizardSession.saveDraft({});
+ goToStep(STEP_FINISH);
+ }}
+ onContinue={(draft) => {
+ setProviderDraft(draft);
+ goToStep(STEP_FINISH);
+ }}
+ />
+ )}
+ {current === STEP_FINISH && adminCreds && (
+
+ )}
+ >
)}
diff --git a/dashboard/src/pages/Setup/steps/ModelStep.tsx b/dashboard/src/pages/Setup/steps/ModelStep.tsx
index 0fab1698..2e52d29f 100644
--- a/dashboard/src/pages/Setup/steps/ModelStep.tsx
+++ b/dashboard/src/pages/Setup/steps/ModelStep.tsx
@@ -97,6 +97,8 @@ interface Props {
onBack: () => void;
onSkip: () => void;
onContinue: (draft: ProviderDraft) => void;
+ hideBack?: boolean;
+ skipLabel?: string;
}
type SetupMode = "preset" | "custom";
@@ -146,7 +148,13 @@ const INPUT_TYPE_OPTIONS = [
{ value: "audio", label: "inputTypeAudio" as const },
];
-export default function ModelStep({ onBack, onSkip, onContinue }: Props) {
+export default function ModelStep({
+ onBack,
+ onSkip,
+ onContinue,
+ hideBack = false,
+ skipLabel,
+}: Props) {
const { t } = useTranslation();
const [presetForm] = Form.useForm