import Head from 'next/head'
import { signIn, signOut, getSession, useSession } from 'next-auth/client'
import { GetServerSidePropsContext } from 'next'
export default function Home({
ssrSession,
isOwner,
isSponsor,
}: {
isOwner: boolean
isSponsor: boolean
ssrSession: any
}) {
const [session, loading] = useSession()
return (
<>
tldraw
{loading && 'Loading...'}
{JSON.stringify(session, null, 2)}
Is owner? {isOwner.toString()}
Is sponsor? {isSponsor.toString()}
{isSponsor ? (
Hey, thanks for sponsoring me!
) : (
This site is just for my github sponsors.{' '}
Sponsor here!
)}
>
)
}
export async function getServerSideProps(context: GetServerSidePropsContext) {
let isSponsor = false
const session = await getSession(context)
if (session?.user) {
const id = session.user.image.match(/u\/(.*)\?/)?.[1]
const sponsors = await fetch(
'https://sponsors.trnck.dev/sponsors/steveruizok'
).then((d) => d.json().then((d) => d.sponsors))
const sponsor = sponsors.find(
(sponsor: { avatar: string }) => sponsor.avatar === session.user.image
)
isSponsor = sponsor !== undefined
}
return {
props: {
isOwner: session.user.email === 'steveruizok@gmail.com',
isSponsor,
ssrSession: session,
},
}
}