mirror of
https://github.com/supabase/supabase.git
synced 2026-10-11 12:25:05 +03:00
* lw11 ga ticketing * add @types/animejs * build new game word * og ticket layout * ticket og layout * lw11 ticketing flow * remove unused assets * clean up old LW code * smol cleanup * update lw11 og function * update lw11 og function * prepare * main layout * layout * update naming * fix lw11 canvas resize * lw announcement countdown banner * hp badge * update lw page * cleanup * update banners * update ticket shape * update share string * update launch time * avatar in ticket * update lw11-og handler * mask ticket glow * update game with input-otp * clean up game * update ticketing page title * update * update awards * special event * update constants * fix mobile inputs bug * update announcements * dots grid * remove 2024 * gst * fix ticket user page * less stacked layout * lw * update secret ticket * update sharing layout * max width to ticket container * update tweet text * clean up merge * npm i * update hero announcement * update footer * update types * fix types * Update apps/www/lib/constants.ts * Update apps/www/lib/constants.ts * Update apps/www/lib/constants.ts * Apply suggestions from code review * update og * og * special announcement * special announcement * fix favicon * url timestamp for cache * cache * favicon * remove file * fix title * game only when signed in * user ticket nme * day * switch to /special-announcent * update /special-announcement * update /special-announcement * skip build * redirect * fix theme in /special-announcement * fix mobile ticket form * image not draggable * cleanup * restore latest manifest * update secret ticket tweet * secret share * update text * fix secret share * typo * remove comment * update deprecated icon * restore input.stories --------- Co-authored-by: Ant Wilson <awalias@users.noreply.github.com>
95 lines
3.4 KiB
TypeScript
95 lines
3.4 KiB
TypeScript
import React from 'react'
|
|
import LabelBadge from './LabelBadge'
|
|
import LaunchWeekPrizeCard from './LaunchWeekPrizeCard'
|
|
import Image from 'next/image'
|
|
|
|
export default function LaunchWeekPrizeSection({
|
|
className,
|
|
ticket,
|
|
}: {
|
|
className?: string
|
|
ticket?: any
|
|
}) {
|
|
const Ticket = ticket
|
|
|
|
return (
|
|
<div id="lw8-prizes" className={['relative scroll-mt-[66px]', className].join(' ')}>
|
|
<div className="absolute z-0 w-full aspect-[1.75/1] top-0 items-center justify-center">
|
|
<Image
|
|
src="/images/launchweek/8/swag-bg.png"
|
|
alt="prizes background"
|
|
fill
|
|
sizes="100%"
|
|
className="object-cover object-top"
|
|
quality={100}
|
|
/>
|
|
</div>
|
|
<div className="!max-w-[100vw]">
|
|
<div className="w-full container mx-auto h-px bg-gradient-to-r from-transparent via-border-control to-transparent" />
|
|
<div className="text-center relative z-10 text-white">
|
|
<div className="max-w-[38rem] mx-auto flex flex-col items-center gap-4 px-4">
|
|
<div className="relative z-10 w-full h-[100px] md:h-[130px] rounded-sm flex mt-16 items-center justify-center">
|
|
<Image
|
|
src="/images/launchweek/8/swag-illustration.png"
|
|
alt="prizes"
|
|
fill
|
|
sizes="100%"
|
|
className="object-contain"
|
|
quality={100}
|
|
/>
|
|
</div>
|
|
<h2 className="text-4xl">Swag has been delivered</h2>
|
|
</div>
|
|
</div>
|
|
{ticket && <Ticket />}
|
|
<div className="pt-8 lg:pt-16 px-4">
|
|
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 max-w-7xl mx-auto h-auto text-white">
|
|
<LaunchWeekPrizeCard
|
|
className="col-span-full"
|
|
imageUrl="/images/launchweek/8/swag/deskmat-lg.jpg"
|
|
imageWrapperClassName="w-full aspect-[1.9/1] md:h-[300px]"
|
|
content={
|
|
<h3 className="w-full text-sm md:text-center flex md:justify-center items-center gap-4">
|
|
Supabase Desk Mat <LabelBadge text="10 mats" />
|
|
</h3>
|
|
}
|
|
animateFrom="down"
|
|
/>
|
|
<LaunchWeekPrizeCard
|
|
imageUrl="/images/launchweek/8/swag/shirt.jpg"
|
|
imageWrapperClassName="w-full aspect-[1.9/1]"
|
|
imgObjectPosition="right"
|
|
content={
|
|
<h3 className="text-sm flex items-center gap-4">
|
|
Supabase T-Shirt <LabelBadge text="20 t-shirts" />
|
|
</h3>
|
|
}
|
|
animateFrom="down"
|
|
/>
|
|
<LaunchWeekPrizeCard
|
|
imageUrl="/images/launchweek/8/swag/cap.jpg"
|
|
imageWrapperClassName="w-full aspect-[1.9/1]"
|
|
animateFrom="down"
|
|
content={
|
|
<h3 className="text-sm flex items-center gap-4">
|
|
Supabase Cap <LabelBadge text="25 caps" />
|
|
</h3>
|
|
}
|
|
/>
|
|
<LaunchWeekPrizeCard
|
|
imageUrl="/images/launchweek/8/swag/stickers.jpg"
|
|
imageWrapperClassName="w-full aspect-[1.9/1]"
|
|
animateFrom="down"
|
|
content={
|
|
<h3 className="text-sm flex items-center gap-4">
|
|
Supabase Sticker Pack <LabelBadge text="50 packs" />
|
|
</h3>
|
|
}
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|