From 5e7fd58943344ae01f538c630b0a0e9dc9948016 Mon Sep 17 00:00:00 2001 From: Ashish Viradiya Date: Tue, 29 Oct 2024 20:42:06 +0530 Subject: [PATCH] protect welcome if already have a plan --- pages/welcome.tsx | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/pages/welcome.tsx b/pages/welcome.tsx index f43da961d..e518aecce 100644 --- a/pages/welcome.tsx +++ b/pages/welcome.tsx @@ -1,7 +1,10 @@ import { useRouter } from "next/router"; +import { useEffect, useRef } from "react"; + import { AnimatePresence } from "framer-motion"; import { ArrowLeft as ArrowLeftIcon } from "lucide-react"; +import { toast } from "sonner"; import { Button } from "@/components/ui/button"; import Dataroom from "@/components/welcome/dataroom"; @@ -13,9 +16,12 @@ import NotionForm from "@/components/welcome/notion-form"; import Select from "@/components/welcome/select"; import Upload from "@/components/welcome/upload"; +import { usePlan } from "@/lib/swr/use-billing"; + export default function Welcome() { const router = useRouter(); - + const { plan, trial } = usePlan(); + const toastShownRef = useRef(false); const isDataroomUpload = router.query.type === "dataroom-upload"; const skipButtonText = isDataroomUpload @@ -26,6 +32,20 @@ export default function Welcome() { ? `/datarooms/${router.query.dataroomId}` : "/documents"; + if ( + router?.query?.type?.includes("dataroom") && + plan && + !plan.includes("free") + ) { + if (!toastShownRef.current) { + toast.info(`You already have a ${plan} ${trial && "trial "}plan`); + toastShownRef.current = true; + } + + router.replace("/documents"); + return <>; + } + return (
router.push(skipButtonPath)} + onClick={(e) => { + e.preventDefault(); + router.push(skipButtonPath); + }} className="absolute right-2 top-10 z-40 p-2 text-muted-foreground sm:right-10" > {skipButtonText}