import { useCallback } from "react"; import { useRouter } from "next/router"; import Link from "next/link"; import Image from "next/image"; // mobx import { observer } from "mobx-react-lite"; import { useMobxStore } from "lib/mobx/store-provider"; // components import { SignInRoot, UserLoggedIn } from "components/accounts"; import { Loader } from "@plane/ui"; // types import { IUser } from "types/user"; import { Lightbulb } from "lucide-react"; // images import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text.png"; import latestFeatures from "public/onboarding/onboarding-pages.svg"; export const LoginView = observer(() => { // store const { user: { currentUser, fetchCurrentUser, loader }, } = useMobxStore(); // router const router = useRouter(); const { next_path } = router.query as { next_path: string }; const handleSignInRedirection = useCallback( async (user: IUser) => { const isOnboard = user?.is_onboarded || false; if (isOnboard) { if (next_path) router.push(next_path); else router.push("/login"); } else { if (next_path) router.push(`/onboarding?next_path=${next_path}`); else router.push("/onboarding"); } }, [router, next_path] ); const mutateUserInfo = useCallback(async () => { await fetchCurrentUser().then(async (user) => { await handleSignInRedirection(user); }); }, [fetchCurrentUser, handleSignInRedirection]); return ( <> {loader ? (
Pages gets a facelift! Write anything and use Galileo to help you start.{" "} Learn more