mirror of
https://github.com/supabase/supabase.git
synced 2026-10-17 23:29:08 +03:00
* duplicate page * whale init * table background * prepare * sync undocumented remote schema from master * revert remote schema sync * add lw12 tickets migration file * ticket init * set up lw12 ticket layout * finish ticket layout and customization form * lw12 ticket og * ticket styling * code highlight border * launch week migrations * local dev progress * keep local gh config * comment section * comment section * comment out username.tsx * remove lw/ticekts temp * update copy * fix migration view * redirect to try * use misc * lw12 og * share * share correct * env var * username page * update example env * push new db schema * trigger deploy * update ticket og * ticket themes * bypass browser * change env var name * fix * fix * process env * create client server side * lw announcements * promoToast * animated bg * update ticket og bg * minor details * secret ticket * social share text * social share textgst * flow text * update og * update og handler * Update index.ts * use functions.invoke and use generic supabase URL * Update index.ts * Update handler.tsx * Update package-lock.json * Update handler.tsx * add next api route * moved to vercel edge function * set revalidate * Update route.tsx * Delete lw-ticket-og.tsx * Update route.tsx * Update [username].tsx * Update [username].tsx * add more fetches * Update turbo.json * ticket themes updated * copy and layout updated * Update index.tsx * Update Ticket.tsx * Update TicketingFlow.tsx * update countdown * updated bg * small updates * moat * Update [username].tsx * Update 20240723155310_add_lw12_ticketing_schema.sql * optimistic ticket stuff og generation * Update index.tsx * updated layout * update themes in og * Update constants.ts * attr renamed * Update TicketingFlow.tsx * Update TicketActions.tsx * grammar * moar updates * Update TicketActions.tsx * Update TicketActions2.tsx * Update TicketActions.tsx * Update Hero.tsx * Update TicketingFlow.tsx * remove console logs --------- Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
import Image from 'next/image'
|
|
import { cn } from 'ui'
|
|
import useConfData from '~/components/LaunchWeek/hooks/use-conf-data'
|
|
|
|
export default function TicketProfile({ className }: { className?: string }) {
|
|
const { userData: user } = useConfData()
|
|
const { username, name, metadata, platinum, secret: hasSecretTicket } = user
|
|
const hasLightTicket = platinum
|
|
const profileImg = `https://github.com/${username}.png?size=60`
|
|
|
|
const hideAvatar = !!metadata?.hideAvatar
|
|
const HAS_ROLE = !!metadata?.role
|
|
const HAS_COMPANY = !!metadata?.company
|
|
const HAS_NO_META = !HAS_ROLE && !HAS_COMPANY
|
|
|
|
return (
|
|
<div className={cn('relative z-10 flex gap-4', className)}>
|
|
<div
|
|
className={cn(
|
|
'text-foreground-light flex flex-col gap-1 text-left text-xl md:max-w-[300px] mb-8',
|
|
hasLightTicket ? 'text-[#1c1c1c]' : 'text-white',
|
|
hasSecretTicket && '!text-white'
|
|
)}
|
|
>
|
|
{!hideAvatar && profileImg && (
|
|
<Image
|
|
src={profileImg}
|
|
alt={`${username} github image`}
|
|
width={60}
|
|
height={60}
|
|
className="min-w-14 w-14 h-14 rounded-full overflow-hidden border border-muted/40 mb-3"
|
|
/>
|
|
)}
|
|
<p className={cn('text-4xl leading-[105%]')}>{name || username || 'Your Name'}</p>
|
|
{HAS_NO_META && username && (
|
|
<p className={cn('text-foreground-lighter', hasSecretTicket && '!text-white')}>
|
|
@{username}
|
|
</p>
|
|
)}
|
|
<div className={cn('text-foreground-lighter', hasSecretTicket && '!text-white')}>
|
|
{HAS_ROLE && <span>{metadata?.role}</span>}
|
|
{HAS_COMPANY && (
|
|
<span>
|
|
{HAS_ROLE && <span> at </span>}
|
|
{metadata?.company}
|
|
</span>
|
|
)}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|