|
1 |
| -import { type FC, useCallback, useState, useEffect } from "react"; |
| 1 | +import { type FC, useCallback, useState, useEffect, useMemo } from "react"; |
2 | 2 | import { Helmet } from "react-helmet-async";
|
3 | 3 | import { useNavigate, useParams, useSearchParams } from "react-router-dom";
|
4 | 4 | import { useMutation, useQuery, useQueryClient } from "react-query";
|
@@ -44,7 +44,15 @@ const CreateWorkspacePage: FC = () => {
|
44 | 44 | const defaultBuildParameters = getDefaultBuildParameters(searchParams);
|
45 | 45 | const mode = getWorkspaceMode(searchParams);
|
46 | 46 | 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]); |
48 | 56 |
|
49 | 57 | const queryClient = useQueryClient();
|
50 | 58 | const autoCreateWorkspaceMutation = useMutation(
|
@@ -249,16 +257,3 @@ function getWorkspaceMode(params: URLSearchParams): CreateWorkspaceMode {
|
249 | 257 |
|
250 | 258 | return "form";
|
251 | 259 | }
|
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