mirror of
https://github.com/supabase/supabase.git
synced 2026-10-18 15:49:09 +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>
62 lines
2.1 KiB
TypeScript
62 lines
2.1 KiB
TypeScript
import React, { useState } from 'react'
|
|
// import TicketHeader from '../Ticket/TicketHeader'
|
|
// import TicketNumber from '../Ticket/TicketNumber'
|
|
import { UserData } from '~/components/LaunchWeek/hooks/use-conf-data'
|
|
import Image from 'next/image'
|
|
|
|
interface Props {
|
|
user: UserData
|
|
}
|
|
|
|
export function TicketBrick({ user }: Props) {
|
|
const [isLoading, setLoading] = useState(true)
|
|
|
|
const golden = user.shared_on_linkedin && user.shared_on_twitter
|
|
|
|
// reg_bg_57.png
|
|
const baseImagePath = `https://obuldanrptloktxcffvn.supabase.co/storage/v1/object/public/images/lw7/tickets_bg/`
|
|
|
|
const randomNumber = Math.floor(Math.random() * 200) + 1
|
|
const goldRandomNumber = Math.floor(Math.random() * 56) + 1
|
|
|
|
return (
|
|
<>
|
|
<div
|
|
key={user.name}
|
|
className="relative w-[450px] h-[230px] border border-red-100 rounded-2xl overflow-hidden"
|
|
>
|
|
<Image
|
|
src={
|
|
golden
|
|
? `${baseImagePath}/reg_bg_${randomNumber}.png`
|
|
: `${baseImagePath}/gold/gold_bg_${goldRandomNumber}.png`
|
|
}
|
|
layout="fill"
|
|
objectFit="cover"
|
|
className={[
|
|
'duration-700 ease-in-out',
|
|
isLoading ? 'grayscale blur-2xl scale-110' : 'grayscale-0 blur-0 scale-100',
|
|
].join(' ')}
|
|
onLoadingComplete={() => setLoading(false)}
|
|
alt=""
|
|
/>
|
|
<div className="z-20 relative">
|
|
{/* <TicketHeader size="small" /> */}
|
|
<div className="rounded-full grid gap-4 mx-auto justify-center mt-8">
|
|
<img
|
|
src={`https://github.com/${user.username}.png`}
|
|
alt={user.username}
|
|
className="w-20 h-20 rounded-full mx-auto"
|
|
/>
|
|
<div className="text-center">
|
|
<h3 className="gradient-text-100 text-xl">{user.name ? user.name : user.username}</h3>
|
|
{user.name && <p className="gradient-text-100 text-sm">@{user.username}</p>}
|
|
</div>
|
|
</div>
|
|
{/* <TicketNumber number={user.ticketNumber} size="small" /> */}
|
|
</div>
|
|
</div>
|
|
</>
|
|
)
|
|
}
|