Skip to content

Commit 369821e

Browse files
feat(site): generates unique workspace names by default (#11772)
1 parent 910f17f commit 369821e

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { type FC, useCallback, useState, useEffect } from "react";
1+
import { type FC, useCallback, useState, useEffect, useMemo } from "react";
22
import { Helmet } from "react-helmet-async";
33
import { useNavigate, useParams, useSearchParams } from "react-router-dom";
44
import { useMutation, useQuery, useQueryClient } from "react-query";
@@ -44,7 +44,15 @@ const CreateWorkspacePage: FC = () => {
4444
const defaultBuildParameters = getDefaultBuildParameters(searchParams);
4545
const mode = getWorkspaceMode(searchParams);
4646
const customVersionId = searchParams.get("version") ?? undefined;
47-
const defaultName = getDefaultName(mode, searchParams);
47+
48+
const defaultName = useMemo(() => {
49+
const paramsName = searchParams.get("name");
50+
if (mode === "duplicate" && paramsName) {
51+
return `${paramsName}-copy`;
52+
}
53+
54+
return paramsName ?? generateUniqueName();
55+
}, [mode, searchParams]);
4856

4957
const queryClient = useQueryClient();
5058
const autoCreateWorkspaceMutation = useMutation(
@@ -249,16 +257,3 @@ function getWorkspaceMode(params: URLSearchParams): CreateWorkspaceMode {
249257

250258
return "form";
251259
}
252-
253-
function getDefaultName(mode: CreateWorkspaceMode, params: URLSearchParams) {
254-
if (mode === "auto") {
255-
return generateUniqueName();
256-
}
257-
258-
const paramsName = params.get("name");
259-
if (mode === "duplicate" && paramsName) {
260-
return `${paramsName}-copy`;
261-
}
262-
263-
return paramsName ?? "";
264-
}

0 commit comments

Comments
 (0)