diff --git a/site/src/pages/WorkspacePage/Workspace.tsx b/site/src/pages/WorkspacePage/Workspace.tsx index 8aa18a5277..9fa15df168 100644 --- a/site/src/pages/WorkspacePage/Workspace.tsx +++ b/site/src/pages/WorkspacePage/Workspace.tsx @@ -1,10 +1,10 @@ import { BlocksIcon, HistoryIcon } from "lucide-react"; import type { FC } from "react"; -import { useNavigate } from "react-router"; import type * as TypesGen from "#/api/typesGenerated"; import { Alert, AlertDescription, AlertTitle } from "#/components/Alert/Alert"; import { SidebarIconButton } from "#/components/FullPageLayout/Sidebar"; import { useSearchParamsKey } from "#/hooks/useSearchParamsKey"; +import { linkToTemplate, useLinks } from "#/modules/navigation"; import { ProvisionerStatusAlert } from "#/modules/provisioners/ProvisionerStatusAlert"; import { AgentRow } from "#/modules/resources/AgentRow"; import { WorkspaceTimings } from "#/modules/workspaces/WorkspaceTiming/WorkspaceTimings"; @@ -64,7 +64,12 @@ export const Workspace: FC = ({ handleRetry, handleDebug, }) => { - const navigate = useNavigate(); + const getLink = useLinks(); + const createWorkspaceLink = `${getLink( + linkToTemplate(workspace.organization_name, workspace.template_name), + )}/workspace`; + const templateName = + workspace.template_display_name || workspace.template_name; const transitionStats = template !== undefined @@ -166,7 +171,8 @@ export const Workspace: FC = ({
{workspace.latest_build.status === "deleted" && ( navigate("/templates")} + createWorkspaceLink={createWorkspaceLink} + templateName={templateName} /> )} diff --git a/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.stories.tsx b/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.stories.tsx index 428ff85f6a..d37eb193f8 100644 --- a/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.stories.tsx +++ b/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.stories.tsx @@ -4,6 +4,10 @@ import { WorkspaceDeletedBanner } from "./WorkspaceDeletedBanner"; const meta: Meta = { title: "pages/WorkspacePage/WorkspaceDeletedBanner", component: WorkspaceDeletedBanner, + args: { + createWorkspaceLink: "/templates/test-template/workspace", + templateName: "Test Template", + }, }; export default meta; diff --git a/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.tsx b/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.tsx index 189fa64e67..eca9c6eaae 100644 --- a/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.tsx +++ b/site/src/pages/WorkspacePage/WorkspaceDeletedBanner.tsx @@ -1,23 +1,28 @@ import type { FC } from "react"; +import { Link as RouterLink } from "react-router"; import { Alert } from "#/components/Alert/Alert"; import { Button } from "#/components/Button/Button"; interface WorkspaceDeletedBannerProps { - handleClick: () => void; + createWorkspaceLink: string; + templateName: string; } export const WorkspaceDeletedBanner: FC = ({ - handleClick, + createWorkspaceLink, + templateName, }) => { - const NewWorkspaceButton = ( - ); return ( - - This workspace has been deleted and cannot be edited. + + This workspace has been deleted. ); };