diff --git a/site/src/pages/WorkspacePage/WorkspacePage.tsx b/site/src/pages/WorkspacePage/WorkspacePage.tsx index cf9c9bb5b9..7670286a4f 100644 --- a/site/src/pages/WorkspacePage/WorkspacePage.tsx +++ b/site/src/pages/WorkspacePage/WorkspacePage.tsx @@ -1,5 +1,5 @@ -import { useActor } from "@xstate/react" -import React, { useContext, useEffect } from "react" +import { useMachine } from "@xstate/react" +import React, { useEffect } from "react" import { useParams } from "react-router-dom" import { ErrorSummary } from "../../components/ErrorSummary/ErrorSummary" import { FullScreenLoader } from "../../components/Loader/FullScreenLoader" @@ -8,14 +8,13 @@ import { Stack } from "../../components/Stack/Stack" import { Workspace } from "../../components/Workspace/Workspace" import { firstOrItem } from "../../util/array" import { getWorkspaceStatus } from "../../util/workspace" -import { XServiceContext } from "../../xServices/StateContext" +import { workspaceMachine } from "../../xServices/workspace/workspaceXService" export const WorkspacePage: React.FC = () => { const { workspace: workspaceQueryParam } = useParams() const workspaceId = firstOrItem(workspaceQueryParam, null) - const xServices = useContext(XServiceContext) - const [workspaceState, workspaceSend] = useActor(xServices.workspaceXService) + const [workspaceState, workspaceSend] = useMachine(workspaceMachine) const { workspace, resources, getWorkspaceError, getResourcesError, builds } = workspaceState.context const workspaceStatus = getWorkspaceStatus(workspace?.latest_build) diff --git a/site/src/xServices/StateContext.tsx b/site/src/xServices/StateContext.tsx index 7606b626c8..da7af13f13 100644 --- a/site/src/xServices/StateContext.tsx +++ b/site/src/xServices/StateContext.tsx @@ -6,13 +6,11 @@ import { authMachine } from "./auth/authXService" import { buildInfoMachine } from "./buildInfo/buildInfoXService" import { siteRolesMachine } from "./roles/siteRolesXService" import { usersMachine } from "./users/usersXService" -import { workspaceMachine } from "./workspace/workspaceXService" interface XServiceContextType { authXService: ActorRefFrom buildInfoXService: ActorRefFrom usersXService: ActorRefFrom - workspaceXService: ActorRefFrom siteRolesXService: ActorRefFrom } @@ -38,7 +36,6 @@ export const XServiceProvider: React.FC = ({ children }) => { authXService: useInterpret(authMachine), buildInfoXService: useInterpret(buildInfoMachine), usersXService: useInterpret(() => usersMachine.withConfig({ actions: { redirectToUsersPage } })), - workspaceXService: useInterpret(workspaceMachine), siteRolesXService: useInterpret(siteRolesMachine), }} >