|
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 | | -} |