|
1 |
| -import{typeFC,useCallback,useState,useEffect}from"react"; |
| 1 | +import{typeFC,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 | constdefaultBuildParameters=getDefaultBuildParameters(searchParams);
|
45 | 45 | constmode=getWorkspaceMode(searchParams);
|
46 | 46 | constcustomVersionId=searchParams.get("version")??undefined;
|
47 |
| -constdefaultName=getDefaultName(mode,searchParams); |
| 47 | + |
| 48 | +constdefaultName=useMemo(()=>{ |
| 49 | +constparamsName=searchParams.get("name"); |
| 50 | +if(mode==="duplicate"&¶msName){ |
| 51 | +return`${paramsName}-copy`; |
| 52 | +} |
| 53 | + |
| 54 | +returnparamsName??generateUniqueName(); |
| 55 | +},[mode,searchParams]); |
48 | 56 |
|
49 | 57 | constqueryClient=useQueryClient();
|
50 | 58 | constautoCreateWorkspaceMutation=useMutation(
|
@@ -249,16 +257,3 @@ function getWorkspaceMode(params: URLSearchParams): CreateWorkspaceMode {
|
249 | 257 |
|
250 | 258 | return"form";
|
251 | 259 | }
|
252 |
| - |
253 |
| -functiongetDefaultName(mode:CreateWorkspaceMode,params:URLSearchParams){ |
254 |
| -if(mode==="auto"){ |
255 |
| -returngenerateUniqueName(); |
256 |
| -} |
257 |
| - |
258 |
| -constparamsName=params.get("name"); |
259 |
| -if(mode==="duplicate"&¶msName){ |
260 |
| -return`${paramsName}-copy`; |
261 |
| -} |
262 |
| - |
263 |
| -returnparamsName??""; |
264 |
| -} |