Add referral link to your user page
This commit is contained in:
parent
64951e691e
commit
043b18da0e
|
@ -8,13 +8,14 @@ import {
|
||||||
PencilIcon,
|
PencilIcon,
|
||||||
ScaleIcon,
|
ScaleIcon,
|
||||||
} from '@heroicons/react/outline'
|
} from '@heroicons/react/outline'
|
||||||
|
import toast from 'react-hot-toast'
|
||||||
|
|
||||||
import { User } from 'web/lib/firebase/users'
|
import { User } from 'web/lib/firebase/users'
|
||||||
import { useUser } from 'web/hooks/use-user'
|
import { useUser } from 'web/hooks/use-user'
|
||||||
import { CreatorContractsList } from './contract/contracts-grid'
|
import { CreatorContractsList } from './contract/contracts-grid'
|
||||||
import { SEO } from './SEO'
|
import { SEO } from './SEO'
|
||||||
import { Page } from './page'
|
import { Page } from './page'
|
||||||
import { SiteLink } from './site-link'
|
import { linkClass, SiteLink } from './site-link'
|
||||||
import { Avatar } from './avatar'
|
import { Avatar } from './avatar'
|
||||||
import { Col } from './layout/col'
|
import { Col } from './layout/col'
|
||||||
import { Linkify } from './linkify'
|
import { Linkify } from './linkify'
|
||||||
|
@ -35,6 +36,9 @@ import {
|
||||||
hasCompletedStreakToday,
|
hasCompletedStreakToday,
|
||||||
} from 'web/components/profile/betting-streak-modal'
|
} from 'web/components/profile/betting-streak-modal'
|
||||||
import { LoansModal } from './profile/loans-modal'
|
import { LoansModal } from './profile/loans-modal'
|
||||||
|
import { copyToClipboard } from 'web/lib/util/copy'
|
||||||
|
import { track } from 'web/lib/service/analytics'
|
||||||
|
import { DOMAIN } from 'common/envs/constants'
|
||||||
|
|
||||||
export function UserPage(props: { user: User }) {
|
export function UserPage(props: { user: User }) {
|
||||||
const { user } = props
|
const { user } = props
|
||||||
|
@ -63,6 +67,7 @@ export function UserPage(props: { user: User }) {
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const profit = user.profitCached.allTime
|
const profit = user.profitCached.allTime
|
||||||
|
const referralUrl = `https://${DOMAIN}?referrer=${user?.username}`
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page key={user.id}>
|
<Page key={user.id}>
|
||||||
|
@ -184,6 +189,30 @@ export function UserPage(props: { user: User }) {
|
||||||
</Row>
|
</Row>
|
||||||
</SiteLink>
|
</SiteLink>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{isCurrentUser && (
|
||||||
|
<div
|
||||||
|
className={clsx(
|
||||||
|
linkClass,
|
||||||
|
'text-greyscale-4 cursor-pointer text-sm'
|
||||||
|
)}
|
||||||
|
onClick={(e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
copyToClipboard(referralUrl)
|
||||||
|
toast.success('Referral link copied!', {
|
||||||
|
icon: (
|
||||||
|
<LinkIcon className="mr-2 h-6 w-6" aria-hidden="true" />
|
||||||
|
),
|
||||||
|
})
|
||||||
|
track('copy referral link')
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Row className="items-center gap-1">
|
||||||
|
<LinkIcon className="h-4 w-4" />
|
||||||
|
Earn M$250 per referral
|
||||||
|
</Row>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</Row>
|
</Row>
|
||||||
)}
|
)}
|
||||||
<QueryUncontrolledTabs
|
<QueryUncontrolledTabs
|
||||||
|
|
|
@ -2,6 +2,8 @@ import { getDateDoc } from 'web/lib/firebase/posts'
|
||||||
import { ArrowLeftIcon, LinkIcon } from '@heroicons/react/outline'
|
import { ArrowLeftIcon, LinkIcon } from '@heroicons/react/outline'
|
||||||
import { Page } from 'web/components/page'
|
import { Page } from 'web/components/page'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
|
import toast from 'react-hot-toast'
|
||||||
|
import clsx from 'clsx'
|
||||||
|
|
||||||
import { DateDoc } from 'common/post'
|
import { DateDoc } from 'common/post'
|
||||||
import { Content } from 'web/components/editor'
|
import { Content } from 'web/components/editor'
|
||||||
|
@ -12,10 +14,8 @@ import { User } from 'web/lib/firebase/users'
|
||||||
import { DOMAIN } from 'common/envs/constants'
|
import { DOMAIN } from 'common/envs/constants'
|
||||||
import Custom404 from '../404'
|
import Custom404 from '../404'
|
||||||
import { ShareIcon } from '@heroicons/react/solid'
|
import { ShareIcon } from '@heroicons/react/solid'
|
||||||
import clsx from 'clsx'
|
|
||||||
import { Button } from 'web/components/button'
|
import { Button } from 'web/components/button'
|
||||||
import { track } from '@amplitude/analytics-browser'
|
import { track } from '@amplitude/analytics-browser'
|
||||||
import toast from 'react-hot-toast'
|
|
||||||
import { copyToClipboard } from 'web/lib/util/copy'
|
import { copyToClipboard } from 'web/lib/util/copy'
|
||||||
import { useUser } from 'web/hooks/use-user'
|
import { useUser } from 'web/hooks/use-user'
|
||||||
import { PostCommentsActivity, RichEditPost } from '../post/[...slugs]'
|
import { PostCommentsActivity, RichEditPost } from '../post/[...slugs]'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user