mirror of
https://github.com/coder/coder.git
synced 2026-09-22 05:05:20 +08:00
feat(site): generates unique workspace names by default (#11772)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { type FC, useCallback, useState, useEffect } from "react";
|
||||
import { type FC, useCallback, useState, useEffect, useMemo } from "react";
|
||||
import { Helmet } from "react-helmet-async";
|
||||
import { useNavigate, useParams, useSearchParams } from "react-router-dom";
|
||||
import { useMutation, useQuery, useQueryClient } from "react-query";
|
||||
@@ -44,7 +44,15 @@ const CreateWorkspacePage: FC = () => {
|
||||
const defaultBuildParameters = getDefaultBuildParameters(searchParams);
|
||||
const mode = getWorkspaceMode(searchParams);
|
||||
const customVersionId = searchParams.get("version") ?? undefined;
|
||||
const defaultName = getDefaultName(mode, searchParams);
|
||||
|
||||
const defaultName = useMemo(() => {
|
||||
const paramsName = searchParams.get("name");
|
||||
if (mode === "duplicate" && paramsName) {
|
||||
return `${paramsName}-copy`;
|
||||
}
|
||||
|
||||
return paramsName ?? generateUniqueName();
|
||||
}, [mode, searchParams]);
|
||||
|
||||
const queryClient = useQueryClient();
|
||||
const autoCreateWorkspaceMutation = useMutation(
|
||||
@@ -249,16 +257,3 @@ function getWorkspaceMode(params: URLSearchParams): CreateWorkspaceMode {
|
||||
|
||||
return "form";
|
||||
}
|
||||
|
||||
function getDefaultName(mode: CreateWorkspaceMode, params: URLSearchParams) {
|
||||
if (mode === "auto") {
|
||||
return generateUniqueName();
|
||||
}
|
||||
|
||||
const paramsName = params.get("name");
|
||||
if (mode === "duplicate" && paramsName) {
|
||||
return `${paramsName}-copy`;
|
||||
}
|
||||
|
||||
return paramsName ?? "";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user