47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
/**
|
|
* Copyright (c) 2023-present Plane Software, Inc. and contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
* See the LICENSE file for details.
|
|
*/
|
|
|
|
import { observer } from "mobx-react";
|
|
import useSWR from "swr";
|
|
import { LogoSpinner } from "@/components/common/logo-spinner";
|
|
import { OnboardingRoot } from "@/components/onboarding";
|
|
import { USER_WORKSPACES_LIST } from "@/constants/fetch-keys";
|
|
import { EPageTypes } from "@/helpers/authentication.helper";
|
|
import { useWorkspace } from "@/hooks/store/use-workspace";
|
|
import { useUser } from "@/hooks/store/user";
|
|
import { AuthenticationWrapper } from "@/lib/wrappers/authentication-wrapper";
|
|
|
|
function OnboardingPage() {
|
|
const { data: user } = useUser();
|
|
const { fetchWorkspaces } = useWorkspace();
|
|
|
|
useSWR(USER_WORKSPACES_LIST, () => {
|
|
if (user?.id) {
|
|
fetchWorkspaces();
|
|
}
|
|
});
|
|
|
|
return (
|
|
<AuthenticationWrapper pageType={EPageTypes.ONBOARDING}>
|
|
<div className="relative flex size-full overflow-hidden rounded-lg bg-canvas transition-all duration-300 ease-in-out">
|
|
<div className="size-full flex-grow overflow-hidden p-2 transition-all duration-300 ease-in-out">
|
|
<div className="shadow-md relative flex h-full w-full flex-col overflow-hidden rounded-lg border border-subtle bg-surface-1">
|
|
{user ? (
|
|
<OnboardingRoot />
|
|
) : (
|
|
<div className="grid h-full w-full place-items-center">
|
|
<LogoSpinner />
|
|
</div>
|
|
)}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</AuthenticationWrapper>
|
|
);
|
|
}
|
|
|
|
export default observer(OnboardingPage);
|