diff --git a/components/onboarding/index.tsx b/components/onboarding/index.tsx index b2792ba6f3d..6921c0cb9a6 100644 --- a/components/onboarding/index.tsx +++ b/components/onboarding/index.tsx @@ -17,6 +17,7 @@ import { GLOBAL_EWS_AUTH_TOKEN_KEY } from "constants/app"; import { walletIds } from "@thirdweb-dev/wallets"; import { OnboardingChoosePlan } from "./ChoosePlan"; import { OnboardingLinkWallet } from "./LinkWallet"; +import { useLocalStorage } from "hooks/useLocalStorage"; const skipBilling = (account: Account) => { return ( @@ -43,7 +44,7 @@ export const Onboarding: React.FC = () => { const trackEvent = useTrack(); const wallet = useWallet(); const ewsConfirmMutation = useConfirmEmbeddedWallet(); - const claimGrowth = false; + const [claimGrowth] = useLocalStorage("startup-program", false, true); const [state, setState] = useState(); const [account, setAccount] = useState(); diff --git a/components/settings/Account/Billing/index.tsx b/components/settings/Account/Billing/index.tsx index 195df2e7df2..8b20ca47183 100644 --- a/components/settings/Account/Billing/index.tsx +++ b/components/settings/Account/Billing/index.tsx @@ -19,13 +19,14 @@ import { BillingPricing } from "./Pricing"; import { OnboardingBilling } from "components/onboarding/Billing"; import { OnboardingModal } from "components/onboarding/Modal"; import { FiExternalLink } from "react-icons/fi"; +import { useLocalStorage } from "hooks/useLocalStorage"; interface BillingProps { account: Account; } export const Billing: React.FC = ({ account }) => { - const claimGrowth = false; + const [claimGrowth] = useLocalStorage("startup-program", false, true); const updatePlanMutation = useUpdateAccountPlan(); const { isOpen: isPaymentMethodOpen, diff --git a/pages/dashboard/settings/billing.tsx b/pages/dashboard/settings/billing.tsx index b49f8777a8c..d6bc1bf40d4 100644 --- a/pages/dashboard/settings/billing.tsx +++ b/pages/dashboard/settings/billing.tsx @@ -9,13 +9,14 @@ import { useRouter } from "next/router"; import { useLoggedInUser } from "@3rdweb-sdk/react/hooks/useLoggedInUser"; import { Billing } from "components/settings/Account/Billing"; import { BillingConnectWalletPrompt } from "components/settings/Account/Billing/ConnectWallet"; +import { useLocalStorage } from "hooks/useLocalStorage"; const SettingsBillingPage: ThirdwebNextPage = () => { const { isLoggedIn, isLoading } = useLoggedInUser(); const meQuery = useAccount(); const router = useRouter(); const { data: account } = meQuery; - const claimGrowth = false; + const [claimGrowth] = useLocalStorage("startup-program", false, true); useEffect(() => { let refetchInterval: ReturnType | undefined; diff --git a/pages/pricing.tsx b/pages/pricing.tsx index 0d600ca3810..88205957ee0 100644 --- a/pages/pricing.tsx +++ b/pages/pricing.tsx @@ -20,12 +20,30 @@ import { PricingSection } from "components/homepage/sections/PricingSection"; import { FAQ_GENERAL, FAQ_PRICING, PRICING_SECTIONS } from "utils/pricing"; import { IoIosInformationCircleOutline } from "react-icons/io"; import { FiExternalLink } from "react-icons/fi"; +import { useEffect } from "react"; +import { useRouter } from "next/router"; +import { useLocalStorage } from "hooks/useLocalStorage"; const TRACKING_CATEGORY = "pricing-page"; const Pricing: ThirdwebNextPage = () => { + const router = useRouter(); + const [claimGrowth, setClaimedGrowth] = useLocalStorage( + "startup-program", + false, + true, + ); + const { startupProgram: claimGrowthQuery } = router.query; + const isMobile = useBreakpointValue({ base: true, lg: false }) as boolean; + useEffect(() => { + if (claimGrowthQuery !== undefined) { + setClaimedGrowth(true); + router.replace("/pricing"); + } + }, [claimGrowthQuery, router, setClaimedGrowth]); + return ( { >