computer-scienceangular-roadmapbackend-roadmapblockchain-roadmapdba-roadmapdeveloper-roadmapdevops-roadmapfrontend-roadmapgo-roadmaphactoberfestjava-roadmapjavascript-roadmapnodejs-roadmappython-roadmapqa-roadmapreact-roadmaproadmapstudy-planvue-roadmapweb3-roadmap
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.9 KiB
68 lines
1.9 KiB
import { useEffect, useState } from 'react'; |
|
import { getUrlParams } from '../../lib/browser'; |
|
import { Spinner } from '../ReactIcons/Spinner'; |
|
import { VerifyUpgrade } from '../Billing/VerifyUpgrade'; |
|
|
|
export function ThankYouPage() { |
|
const [isLoading, setIsLoading] = useState(true); |
|
const [nextPage, setNextPage] = useState<string | null>(null); |
|
const [shouldVerifyUpgrade, setShouldVerifyUpgrade] = useState(false); |
|
|
|
useEffect(() => { |
|
const params = getUrlParams(); |
|
const next = params?.next; |
|
const shouldVerifyUpgrade = params?.s === '1'; |
|
if (!next) { |
|
return; |
|
} |
|
|
|
const decodedNextPage = decodeURIComponent(next); |
|
setNextPage(decodedNextPage); |
|
setIsLoading(false); |
|
setShouldVerifyUpgrade(shouldVerifyUpgrade); |
|
}, []); |
|
|
|
const pageType = nextPage?.startsWith('/courses/') |
|
? 'course' |
|
: nextPage?.startsWith('/ai') |
|
? 'ai-tutor' |
|
: 'other'; |
|
|
|
if (isLoading) { |
|
return ( |
|
<div className="flex min-h-[472px] flex-col items-center justify-center py-20"> |
|
<Spinner className="h-12 w-12" /> |
|
</div> |
|
); |
|
} |
|
|
|
return ( |
|
<> |
|
{shouldVerifyUpgrade && <VerifyUpgrade />} |
|
|
|
<div className="flex flex-col items-center justify-center py-28 pb-36"> |
|
<img |
|
src="/images/party.gif" |
|
alt="Thank you" |
|
className="aspect-square w-24" |
|
/> |
|
<h1 className="mt-4 text-3xl font-bold">Thank you!</h1> |
|
<p className="mt-1 text-gray-500">Your purchase has been successful</p> |
|
{nextPage && ( |
|
<div className="mt-4"> |
|
<a |
|
href={nextPage} |
|
className="rounded-md bg-black px-4 py-1.5 text-white hover:bg-gray-800" |
|
> |
|
{pageType === 'course' |
|
? 'Visit the Course' |
|
: pageType === 'ai-tutor' |
|
? 'Visit the AI Tutor' |
|
: 'Visit the Page'} |
|
</a> |
|
</div> |
|
)} |
|
</div> |
|
</> |
|
); |
|
}
|
|
|