Merge branch 'thor/lw7-tickets-referrals' of github.com:supabase/supabase into thor/lw7-tickets-referrals

This commit is contained in:
Terry Sutton committed 2023-03-06 09:07:33 -03:30
commit 292e90f5ea
25 files changed
+845 -136

No files matched your search

@@ -0,0 +1,41 @@
import { motion, useScroll, useTransform } from 'framer-motion'
import Image from 'next/image'
export default function LW7BgGraphic() {
const { scrollYProgress } = useScroll()
const graphicsScale = useTransform(
scrollYProgress,
// Map scrollYProgress from these values:
[0, 0.5],
// Into these scale values:
[1, 1.8]
)
const graphicsY = useTransform(
scrollYProgress,
// Map scrollYProgress from these values:
[0, 0.5],
// Into these values:
[0, 120]
)
return (
<div className="relative h-[640px] overflow-hidden before:content[' '] before:absolute before:bottom-0 before:h-[400px] before:z-20 before:w-full before:bg-gradient-to-t before:from-[#1C1C1C] before:via-[#1C1C1C40] before:to-transparent">
<motion.div
className="absolute bottom-0 w-full h-full"
style={{
scale: graphicsScale,
y: graphicsY,
willChange: 'transform',
}}
>
<Image
src="/images/launchweek/seven/lw-7-bg.png"
loading="eager"
layout="fill"
objectFit="cover"
/>
</motion.div>
</div>
)
}
@@ -7,7 +7,7 @@ interface Props {
export default function LabelBadge({ text, gradientText = true }: Props) {
return (
<span className="bg-[#32313F] rounded-full px-4 py-2 text-xs">
<span className="bg-[#32313F] rounded px-1 py-[2px] text-xs">
<span className={!gradientText ? '' : 'gradient-text-purple-500'}>{text}</span>
</span>
)
@@ -1,16 +1,20 @@
import classNames from 'classnames'
import styleUtils from '~/components/LaunchWeek/Ticket/utils.module.css'
import Image from 'next/image'
import { motion } from 'framer-motion'
export function LaunchWeekLogoHeader() {
return (
<div className="flex flex-col gap-3 items-center justify-center xl:justify-start">
<div
<motion.div
className={classNames(
styleUtils.appear,
styleUtils['appear-first'],
'flex flex-col justify-center gap-3'
)}
initial={{ y: -20, opacity: 0 }}
animate={{ y: 0, opacity: 1 }}
transition={{ ease: 'circOut', delay: 0.2, duration: 0.8 }}
>
<h1 className="flex gap-[24px] justify-center font-normal uppercase text-[32px] items-center">
<span className="tracking-[4px] text-white">Launch week</span>
@@ -19,7 +23,7 @@ export function LaunchWeekLogoHeader() {
</span>
</h1>
<p className="text-white text-sm text-center">April 3rd – 7th at 6 AM PT | 9 AM ET</p>
</div>
</motion.div>
</div>
)
}
@@ -0,0 +1,61 @@
import Image from 'next/image'
import React from 'react'
import { motion } from 'framer-motion'
type animateFromType = 'left' | 'right' | 'up' | 'down' | 'opacityOnly'
export default function LaunchWeekPrizeCard({
imageUrl,
imageWrapperClassName,
content,
className,
animateFrom,
}: {
imageUrl: string
imageWrapperClassName?: string
content: any
className?: string
animateFrom?: animateFromType
}) {
const finalState = { x: 0, y: 0, opacity: 1 }
function getAnimationFrom(animationDirection: animateFromType) {
switch (animationDirection) {
case 'left':
return { x: -20, opacity: 0 }
case 'up':
return { y: -20, opacity: 0 }
case 'right':
return { x: 20, opacity: 0 }
case 'down':
return { y: 20, opacity: 0 }
case 'opacityOnly':
return { opacity: 0 }
}
}
return (
<motion.div
className={[
'relative p-[1px] bg-gradient-to-b from-[#484848] to-[#1C1C1C] rounded-lg overflow-hidden shadow-lg',
className && className,
].join(' ')}
initial={animateFrom ? getAnimationFrom(animateFrom) : finalState}
whileInView={finalState}
viewport={{ once: true, margin: '-50px' }}
transition={{ type: 'spring', bounce: 0, delay: 0.5 }}
>
<div className="relative h-full flex flex-col bg-[#1C1C1C] rounded-lg overflow-hidden">
<div
className={[
"relative w-full flex-grow before:content[' '] before:absolute before:inset-0 before:z-10 before:bg-gradient-to-t before:from-[#1C1C1C]",
imageWrapperClassName && imageWrapperClassName,
].join(' ')}
>
<Image src={imageUrl ?? ''} layout="fill" objectFit="cover" />
</div>
<div className="p-4">{content && content}</div>
</div>
</motion.div>
)
}
@@ -1,87 +1,122 @@
import Image from 'next/image'
import React from 'react'
import LabelBadge from '../LabelBadge'
import LaunchWeekPrizeCard from './LaunchWeekPrizeCard'
import { motion } from 'framer-motion'
export default function LaunchWeekPrizeSection({ className }: { className?: string }) {
const finalAnimationState = { y: 0, opacity: 1 }
export default function LaunchWeekPrizeSection() {
return (
<div>
<div className="mt-8 relative h-[640px] overflow-hidden">
<div className="-ml-[24rem] -mr-[24rem]">
<Image src="/images/launchweek/seven/lw-7-bg.svg" layout="fill" objectFit="cover" />
<div className={[className].join(' ')}>
<div className="">
<div className="text-center relative z-10 text-white">
<motion.div
className="max-w-[38rem] mx-auto px-4 flex flex-col items-center gap-4"
initial={{ y: -20, opacity: 0 }}
whileInView={finalAnimationState}
viewport={{ once: true, margin: '-150px' }}
transition={{ type: 'spring', bounce: 0, delay: 0.2 }}
>
<div className="w-[40px] h-[40px] rounded-sm bg-[#32313F] flex items-center justify-center">
<svg
width="21"
height="22"
viewBox="0 0 21 22"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M8.313 14.7478L7.5 17.5938L6.687 14.7478C6.47687 14.0126 6.0829 13.3431 5.54226 12.8025C5.00162 12.2619 4.33214 11.8679 3.597 11.6578L0.75 10.8438L3.596 10.0308C4.33114 9.82062 5.00062 9.42665 5.54126 8.88601C6.0819 8.34537 6.47587 7.67589 6.686 6.94075L7.5 4.09375L8.313 6.93975C8.52313 7.67489 8.9171 8.34437 9.45774 8.88501C9.99838 9.42565 10.6679 9.81962 11.403 10.0297L14.25 10.8438L11.404 11.6567C10.6689 11.8669 9.99938 12.2609 9.45874 12.8015C8.9181 13.3421 8.52413 14.0116 8.314 14.7467L8.313 14.7478ZM16.759 7.55875L16.5 8.59375L16.241 7.55875C16.0927 6.96534 15.786 6.42337 15.3536 5.99078C14.9212 5.55819 14.3794 5.25124 13.786 5.10275L12.75 4.84375L13.786 4.58475C14.3794 4.43626 14.9212 4.12931 15.3536 3.69672C15.786 3.26413 16.0927 2.72216 16.241 2.12875L16.5 1.09375L16.759 2.12875C16.9073 2.72229 17.2142 3.26434 17.6468 3.69694C18.0794 4.12954 18.6215 4.43642 19.215 4.58475L20.25 4.84375L19.215 5.10275C18.6215 5.25108 18.0794 5.55796 17.6468 5.99056C17.2142 6.42316 16.9073 6.96522 16.759 7.55875ZM15.394 19.4107L15 20.5938L14.606 19.4107C14.4955 19.0794 14.3094 18.7783 14.0625 18.5313C13.8155 18.2843 13.5144 18.0982 13.183 17.9877L12 17.5938L13.183 17.1998C13.5144 17.0893 13.8155 16.9032 14.0625 16.6562C14.3094 16.4092 14.4955 16.1081 14.606 15.7768L15 14.5938L15.394 15.7768C15.5045 16.1081 15.6906 16.4092 15.9375 16.6562C16.1845 16.9032 16.4856 17.0893 16.817 17.1998L18 17.5938L16.817 17.9877C16.4856 18.0982 16.1845 18.2843 15.9375 18.5313C15.6906 18.7783 15.5045 19.0794 15.394 19.4107Z"
stroke="url(#paint0_linear_1704_106833)"
stroke-linecap="round"
stroke-linejoin="round"
/>
<defs>
<linearGradient
id="paint0_linear_1704_106833"
x1="10.5"
y1="1.09375"
x2="10.5"
y2="20.5938"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#7915FD" />
<stop offset="1" stop-color="#C667F7" />
</linearGradient>
</defs>
</svg>
</div>
<h2 className="text-4xl">
Get your <span className="gradient-text-pink-500">winning ticket</span>
</h2>
<p className="radial-gradient-text-scale-500" id="lw-7-prizes">
Mark your calendars for April 9th and join us on Discord for Launch Week 7's final day
to find out if you're one of the lucky winners. Get sharing!
</p>
</motion.div>
</div>
</div>
<div className="px-4 pt-24">
<div className="grid grid-cols-1 md:grid-cols-2 col-span-2 lg:grid-cols-5 gap-4 max-w-7xl mx-auto text-white">
<LaunchWeekPrizeCard
imageUrl="/images/launchweek/seven/keyboard.jpg"
imageWrapperClassName="h-[40vw] lg:max-h-[360px]"
className="col-span-2 lg:col-span-3"
animateFrom="left"
content={
<>
<h3 className="gradient-text-purple-500 font-mono uppercase font-medium">
Main award
</h3>
<h4 className="flex items-center gap-3 text-[19px] mt-4">
<Image
src="/images/launchweek/seven/icons/compute-upgrade.svg"
width={16}
height={16}
/>
Supabase Mechanical Keyboard <LabelBadge text="3 pieces" />
</h4>
<p className="text-[#707070] mt-1">
Increase your chances of winning limited edition 62-Key ISO Custom Mechanical
Keyboard by sharing your ticket on Twitter.
</p>
</>
}
/>
<div className="text-center -mt-56 relative z-10 text-white">
<div className="max-w-[38rem] mx-auto">
<Image src="/images/launchweek/seven/lw7-seven.svg" width={40} height={40} />
<h2 className="text-4xl mt-2">
Get your <span className="gradient-text-purple-500">winning ticket</span>
</h2>
<p className="mt-4 radial-gradient-text-scale-500" id="lw-7-prizes">
Mark your calendars for April 9th and join us on Discord for Launch Week 7's final day
to find out if you're one of the lucky winners. Get sharing!
</p>
</div>
<div className="bg-lw7-black-transition h-24"></div>
</div>
<div className="bg-scale-100 text-white">
<div className="lg:flex gap-4 max-w-7xl mx-auto">
<div className="lg:w-3/5">
<div className="grid gap-4 border border-[#484848] rounded-tr-xl rounded-tl-xl overflow-hidden">
<div className="relative h-[360px]">
<div className="glass-tile-gradient w-[150px] h-[420px] -top-8 -ml-12"></div>
<Image
src="/images/launchweek/seven/keyboard.png"
layout="fill"
objectFit="cover"
<div className="col-span-2 grid gap-4">
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<LaunchWeekPrizeCard
imageUrl="/images/launchweek/seven/tshirt.jpg"
imageWrapperClassName="h-[40vw] md:h-[30vw] lg:max-h-[175px] lg:h-auto"
content={
<h3 className="text-sm flex items-center gap-4">
Supa T-shirt <LabelBadge text="10 shirts" />
</h3>
}
animateFrom="up"
/>
<LaunchWeekPrizeCard
imageUrl="/images/launchweek/seven/socks.jpg"
imageWrapperClassName="h-[40vw] md:h-[30vw] lg:max-h-[175px] lg:h-auto"
content={
<h3 className="text-sm flex items-center gap-4">
Supa Socks <LabelBadge text="5 pairs" />
</h3>
}
animateFrom="right"
/>
</div>
<div className="p-6 mt-3">
<h3 className="gradient-text-purple-500 font-mono uppercase font-medium">
Main award
</h3>
<h4 className="flex items-center gap-3 text-[19px] mt-4">
<Image
src="/images/launchweek/seven/icons/compute-upgrade.svg"
width={16}
height={16}
/>
Supabase Mechanical Keyboard <LabelBadge text="5 pieces" />
</h4>
<p className="text-scale-1100 mt-1">
Increase your chances of winning limited edition 62-Key ISO Custom Mechanical
Keyboard by sharing your ticket on Twitter.
</p>
</div>
</div>
</div>
<div className="grid gap-4 w-2/5">
<div className="grid relative border border-[#484848] rounded-2xl overflow-hidden">
<Image src="/images/launchweek/seven/lw-7-bg.svg" layout="fill" objectFit="cover" />
<div className="absolute inset-0 bg-gradient-to-t from-black bg-opacity-50 flex ">
<h3 className="mt-auto mb-4 mx-6 text-lg flex items-center gap-4">
Limited edition sticker pack <LabelBadge text="20 packs" />
</h3>
</div>
</div>
<div className="flex gap-4">
<div className="grid relative border border-[#484848] rounded-2xl overflow-hidden w-1/2">
<Image src="/images/launchweek/seven/lw-7-bg.svg" layout="fill" objectFit="cover" />
<div className="absolute inset-0 bg-gradient-to-t from-black bg-opacity-50 flex ">
<h3 className="mt-auto mb-4 mx-6 text-lg flex items-center gap-4">
Supa T-shirt <LabelBadge text="10 shirts" />
<LaunchWeekPrizeCard
imageUrl="/images/launchweek/seven/stickers.jpg"
imageWrapperClassName="h-[40vw] lg:max-h-[175px] lg:h-auto"
animateFrom="down"
content={
<h3 className="text-sm flex items-center gap-4">
Launch Week 7 Limited Edition Sticker Pack <LabelBadge text="20 packs" />
</h3>
</div>
</div>
<div className="grid relative border border-[#484848] rounded-2xl overflow-hidden w-1/2">
<Image src="/images/launchweek/seven/lw-7-bg.svg" layout="fill" objectFit="cover" />
<div className="absolute inset-0 bg-gradient-to-t from-black bg-opacity-50 flex ">
<h3 className="mt-auto mb-4 mx-6 text-lg flex items-center gap-4">
Supa socks <LabelBadge text="10 pairs" />
</h3>
</div>
</div>
}
/>
</div>
</div>
</div>
@@ -44,9 +44,9 @@ export default function Ticket({
useEffect(() => {
if (ticketRef.current && !window.matchMedia('(pointer: coarse)').matches) {
Tilt.init(ticketRef.current, {
glare: false,
max: 5,
'max-glare': 0.16,
glare: true,
max: 4,
'max-glare': 0.1,
'full-page-listening': true,
})
}
@@ -61,11 +61,11 @@ export default function Ticket({
return (
<div
className="grid grid-cols-1 xl:grid-cols-12 gap-8 xl:gap-8 2xl:gap-16 p-4 bg-[#a988d748] rounded-2xl items-center h-[520px] lg:h-[380px] "
className="grid grid-cols-1 xl:grid-cols-12 gap-8 xl:gap-8 2xl:gap-16 p-2 bg-[#a988d748] rounded-2xl items-stretch h-auto"
id="wayfinding--ticket-visual-wrapper-container"
>
<div
className={cn(styles['ticket-visual-wrapper'], 'col-span-8')}
className={cn(styles['ticket-visual-wrapper'], 'flex items-stretch col-span-8')}
id="wayfinding--ticket-visual-wrapper"
>
<div
@@ -74,8 +74,8 @@ export default function Ticket({
styles['ticket-visual'],
styleUtils.appear,
styleUtils['appear-fourth'],
username ? 'h-[390px]' : 'h-[395px]',
'relative mx-2 rounded-xl'
username ? 'h-[420px]' : 'h-[395px]',
'relative flex flex-col gap-2 w-full h-full rounded-xl box-border bg-transparent overflow-hidden'
)}
id="wayfinding--ticket-visual-outer-container"
>
@@ -88,7 +88,7 @@ export default function Ticket({
golden={golden}
/>
{username && (
<div className="mt-4">
<div>
<TicketCopy username={username} />
</div>
)}
@@ -111,7 +111,10 @@ export default function Ticket({
</>
)}
</div>
<div ref={divRef} className="flex flex-col gap-6 col-span-4">
<div
ref={divRef}
className="flex flex-col h-full justify-center gap-6 col-span-4 2xl:col-span-3"
>
<div
className={`
text-scale-1200
@@ -129,13 +132,13 @@ export default function Ticket({
<>
{winningChances === 1 && (
<p className="text-2xl dark:text-scale-1200 tracking-[0.02rem]">
You're <span className="gradient-text-purple-500">in the draw!</span> <br />
You're <span className="gradient-text-purple-800">in the draw!</span> <br />
Now make it gold.
</p>
)}
{winningChances === 2 && (
<p className="text-2xl dark:text-scale-1200 tracking-[0.02rem]">
You've <span className="gradient-text-purple-500">doubled</span> your
You've <span className="gradient-text-purple-800">doubled</span> your
<br />
chance! Almost gold.
</p>
@@ -150,7 +153,7 @@ export default function Ticket({
) : (
<p className="text-2xl dark:text-scale-1200 tracking-[0.02rem]">
Generate your ticket. <br />
Win the <span className="gradient-text-purple-500">SupaKeyboard</span>.
Win the <span className="gradient-text-purple-800">SupaKeyboard</span>.
</p>
)}
</>
@@ -3,6 +3,7 @@ import cn from 'classnames'
import TicketForm from './TicketForm'
// import IconAvatar from '~/components/LaunchWeek/Ticket/icons/icon-avatar'
import styles from './ticket-profile.module.css'
import Image from 'next/image'
type TicketGenerationState = 'default' | 'loading'
type Props = {
@@ -25,7 +26,7 @@ export default function TicketProfile({
golden = false,
}: Props) {
return (
<div className="grid items-center justify-center" id="wayfinding--ticket-middle">
<div className="grid gap-4 items-center justify-center" id="wayfinding--ticket-middle">
{username && (
<span
className={cn('rounded-full inline-block mx-auto', styles.wrapper, styles.rounded, {
@@ -33,9 +34,12 @@ export default function TicketProfile({
})}
>
{username ? (
<img
<Image
src={`https://github.com/${username}.png`}
alt={username}
layout="fill"
objectFit="contain"
priority
className={styles.image}
/>
) : (
@@ -59,7 +63,7 @@ export default function TicketProfile({
styles.name,
{ [styles['name-blank']]: !username },
{ [styles['name-golden']]: golden }
)} dark:text-white`}
)} dark:text-white text-center`}
>
<span
className={`${cn(styles.skeleton, styles.wrapper, {
@@ -43,7 +43,7 @@ export default function TicketVisual({
styles.visual,
golden ? styles['visual--gold'] : '',
session ? styles['visual--logged-in'] : '',
'flex relative flex-col justify-between rounded-xl bg-black ',
'flex relative flex-col flex-1 justify-between rounded-xl bg-black w-full h-full box-border',
].join(' ')}
style={{
['--size' as string]: size,
@@ -39,7 +39,7 @@ export default function TicketCopy({ username }: Props) {
<button
type="button"
name="Copy"
className="bg-[#E6E8EB] text-scale-500 text-xs w-21 flex items-center cursor-pointer py-1 px-2 rounded-md"
className="bg-[#E6E8EB] text-scale-500 text-xs w-21 flex items-center cursor-pointer py-1 px-2 rounded-lg"
ref={buttonRef}
onClick={() => {
navigator.clipboard.writeText(url).then(() => {
@@ -69,7 +69,7 @@ export default function TicketCopy({ username }: Props) {
className={cn(
styleUtils.appear,
styleUtils['appear-third'],
'bg-scaleA-200 h-8 rounded-md border border-scale-1100 w-full'
'bg-scaleA-200 h-8 rounded-xl border border-scale-1100 w-full overflow-hidden'
)}
id="wayfinding--ticket-copy"
>
@@ -6,10 +6,11 @@ export default function TicketMono({ golden = false }: { golden?: boolean }) {
return (
<svg
width="100%"
height="100%"
viewBox="0 0 650 290"
height="auto"
viewBox="0 0 650 100"
fill="none"
xmlns="http://www.w3.org/2000/svg"
preserveAspectRatio="none"
>
<path
fillRule="evenodd"
@@ -123,6 +123,6 @@
}
.ticket-visual-wrapper {
border-radius: calc(16px * var(--size));
/* border-radius: calc(16px * var(--size)); */
width: 100%;
}
+1
View File
@@ -26,6 +26,7 @@
"config": "*",
"date-fns": "2.10.0",
"dayjs": "^1.11.4",
"framer-motion": "^6.5.1",
"globby": "^12.0.2",
"gray-matter": "^4.0.2",
"markdown-toc": "^1.2.0",
+47 -17
View File
@@ -7,12 +7,15 @@ import { SITE_URL } from '~/lib/constants'
import { useRouter } from 'next/router'
import { createClient, Session, SupabaseClient } from '@supabase/supabase-js'
import { useState, useEffect } from 'react'
import { motion, useScroll, useTransform } from 'framer-motion'
import { IconArrowDown, useTheme } from 'ui'
import LaunchWeekPrizeSection from '~/components/LaunchWeek/LaunchSection/LaunchWeekPrizeSection'
import { LaunchWeekLogoHeader } from '~/components/LaunchWeek/LaunchSection/LaunchWeekLogoHeader'
import { UserData } from '~/components/LaunchWeek/Ticket/hooks/use-conf-data'
import TicketBrickWall from '~/components/LaunchWeek/LaunchSection/TicketBrickWall'
import Image from 'next/image'
import LW7BgGraphic from '../../components/LaunchWeek/LW7BgGraphic'
interface Props {
users: UserData[]
@@ -33,6 +36,7 @@ export default function TicketHome({ users }: Props) {
const { query, pathname } = useRouter()
const isLauchWeekPage = pathname.includes('launch-week')
const ticketNumber = query.ticketNumber?.toString()
const { scrollYProgress } = useScroll()
const defaultUserData = {
id: query.id?.toString(),
@@ -69,6 +73,21 @@ export default function TicketHome({ users }: Props) {
document.body.className = isDarkMode ? 'dark bg-[#121212]' : 'light bg-[#fff]'
}, [isDarkMode])
const graphicsScale = useTransform(
scrollYProgress,
// Map scrollYProgress from these values:
[0, 0.5],
// Into these scale values:
[1, 1.8]
)
const graphicsY = useTransform(
scrollYProgress,
// Map scrollYProgress from these values:
[0, 0.5],
// Into these values:
[0, 120]
)
return (
<>
<NextSeo
@@ -85,27 +104,38 @@ export default function TicketHome({ users }: Props) {
}}
/>
<DefaultLayout>
<div className="bg-lw7 -mt-20 pt-12">
<SectionContainer className="flex flex-col !pb-1 items-center lg:pt-32 gap-24">
<LaunchWeekLogoHeader />
<div className="bg-[#1C1C1C] -mt-20">
<div className="relative bg-lw7 pt-20">
<div className="relative z-10">
{/* <SectionContainer className="flex flex-col justify-between items-center min-h-[800px] h-[calc(100vh_-_75px)] gap-4"> */}
<SectionContainer className="flex flex-col justify-between items-center !pb-16 gap-16">
<LaunchWeekLogoHeader />
{supabase && (
<TicketContainer
supabase={supabase}
session={session}
defaultUserData={defaultUserData}
defaultPageState="ticket"
/>
)}
{supabase && (
<TicketContainer
supabase={supabase}
session={session}
defaultUserData={defaultUserData}
defaultPageState="ticket"
/>
)}
<div>
<a href="#lw-7-prizes" className="flex items-center text-white text-sm gap-4">
More about the prizes <IconArrowDown w={10} h={12} />
</a>
<div>
<a href="#lw-7-prizes" className="flex items-center text-white text-sm gap-4">
More about the prizes{' '}
<span className="bounce-loop">
<IconArrowDown w={10} h={12} />
</span>
</a>
</div>
</SectionContainer>
<LW7BgGraphic />
</div>
</SectionContainer>
{/* TODO: set gold gradient if ticket is gold */}
<div className="bg-lw7-gradient absolute inset-0 z-0" />
</div>
<LaunchWeekPrizeSection />
<LaunchWeekPrizeSection className="-mt-60" />
{users && <TicketBrickWall users={users} />}
</div>
+19 -1
View File
@@ -1,11 +1,16 @@
.bg-lw7 {
background: radial-gradient(72.03% 66.03% at 50% 69.72%, #3fcf8e 0%, #9e44ef 100%);
/* background: radial-gradient(72.03% 66.03% at 50% 69.72%, #3fcf8e 0%, #9e44ef 100%); */
background: #9e44ef;
}
.bg-lw7-black-transition {
background: linear-gradient(0.39deg, #161616 53.84%, rgba(28, 28, 28, 0) 88.21%);
}
.bg-lw7-gradient {
background: radial-gradient(72.03% 66.03% at 50% 69.72%, #3fcf8e 0%, transparent 100%);
}
.glass-tile-gradient {
position: absolute;
@@ -17,3 +22,16 @@
border-radius: 16.9281px;
transform: matrix(0.84, 0.55, -0.55, 0.83, 0, 0);
}
.bounce-loop {
animation: bounce 1s ease-in-out infinite alternate both;
}
@keyframes bounce {
0% {
transform: translate3D(0, -5px, 0);
}
100% {
transform: translate3D(0, 5px, 0);
}
}
@@ -13,6 +13,7 @@ import LaunchWeekPrizeSection from '~/components/LaunchWeek/LaunchSection/Launch
import { LaunchWeekLogoHeader } from '~/components/LaunchWeek/LaunchSection/LaunchWeekLogoHeader'
import TicketBrickWall from '~/components/LaunchWeek/LaunchSection/TicketBrickWall'
import { UserData } from '~/components/LaunchWeek/Ticket/hooks/use-conf-data'
import LW7BgGraphic from '../../../components/LaunchWeek/LW7BgGraphic'
interface Props {
user: UserData
@@ -62,23 +63,29 @@ export default function TicketShare({ user, users }: Props) {
}}
/>
<DefaultLayout>
<div className="bg-lw7 -mt-20 pt-12">
<SectionContainer className="flex flex-col !pb-1 items-center lg:pt-32 gap-24">
<LaunchWeekLogoHeader />
<TicketContainer
supabase={supabase}
session={null}
defaultUserData={{
username: username || undefined,
name: name || '',
ticketNumber,
golden,
referrals,
}}
sharePage
/>
</SectionContainer>
<LaunchWeekPrizeSection />
<div className="bg-[#1C1C1C] -mt-20">
<div className="relative bg-lw7 pt-20">
<div className="relative z-10">
<SectionContainer className="flex flex-col justify-between items-center !pb-16 gap-16">
<LaunchWeekLogoHeader />
<TicketContainer
supabase={supabase}
session={null}
defaultUserData={{
username: username || undefined,
name: name || '',
ticketNumber,
golden,
referrals,
}}
sharePage
/>
</SectionContainer>
<LW7BgGraphic />
</div>
<div className="bg-lw7-gradient absolute inset-0 z-0" />
</div>
<LaunchWeekPrizeSection className="-mt-60" />
<TicketBrickWall users={users} />
</div>
</DefaultLayout>
Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="3555" height="1241" fill="none"><g clip-path="url(#a)"><g filter="url(#b)"><path stroke="#EA77FF" strokeWidth="28.5" d="M2960.92 937.045C2653.33 507.8 1821.53-63.707 898.275 507.801"/></g><mask id="c" width="2282" height="668" x="752" y="213" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#F1EDFF" d="M1926.07 217.981c532.57 37.92 960.43 457.366 1107.79 662.348 0 0-496.47-278.697-1159.92-439.803C1210.48 279.421 752.946 547.621 752.946 547.621c169.134-125.68 640.544-367.56 1173.124-329.64Z"/></mask><g mask="url(#c)"><g filter="url(#d)"><path fill="url(#e)" d="M1616.27 291.113c399.52-103.656 1340.36 53.828 927.65-60.904-25.43-97.99-762.29-151.104-972.47-96.572-210.18 54.532-547.97 203.991-522.55 301.98 67.01 347.223 357.19-89.973 567.37-144.504Z"/></g><g filter="url(#f)"><path fill="#1D0874" d="M3193.25 1527.51c-167.96 234.02-664.53 165.05-1109.12-154.04-444.59-319.09-1057.91-675.458-889.95-909.475 335.22-379.711 1053.58-257.069 1498.18 62.022 444.59 319.092 668.85 767.473 500.89 1001.493Z"/></g><g filter="url(#g)"><ellipse cx="2822.97" cy="702.297" fill="#A765F2" rx="696.914" ry="110.571" transform="rotate(35.668 2822.97 702.297)"/></g><g filter="url(#h)"><path stroke="#DC24FF" strokeWidth="84.5" d="M2718.51 456.959c-153.52-100.801-747.16-389.531-1605.28-172.865"/></g><g filter="url(#i)"><path stroke="#DC24FF" strokeWidth="84.5" d="M2928.89 906.923c-5.63-65.114-55.69-294.644-305.26-486.78"/></g><g filter="url(#j)"><path stroke="#EBBCF3" strokeWidth="28.5" d="M2917.04 797.302C2581.98 389.131 1714.53-126.657 830.7 504.109"/></g><g filter="url(#k)"><path stroke="url(#l)" strokeWidth="52.5" d="M2519.99 481.804c-100.35-77.114-493.53-305.863-1094.29-200.83"/></g><g filter="url(#m)"><path stroke="url(#n)" strokeWidth="44.5" d="M2535.43 472.773c-100.34-77.114-493.52-305.863-1094.28-200.83"/></g></g><mask id="o" width="3250" height="953" x="181" y="354" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#030103" d="M805.166 505.941C371.332 759.672 208.339 1145.33 181.072 1306.44l3249.708-64.54c-294.52-408.27-1210.95-819.157-1712.51-874.015-497.12-54.373-774.891 66.014-913.104 138.056Z"/></mask><g mask="url(#o)"><g filter="url(#p)"><ellipse cx="1759.59" cy="1415.66" fill="#000" rx="1272.18" ry="1229.33" transform="rotate(35.668 1759.59 1415.66)"/></g><g filter="url(#q)"><ellipse cx="2010.27" cy="1009.9" fill="#000" rx="1018.45" ry="558.276" transform="rotate(35.668 2010.27 1009.9)"/></g><path fill="url(#r)" d="M805.165 505.946c-433.833 253.73-596.826 639.384-624.094 800.494l3267.999-44.23c-306.4-314.605-1232.33-816.249-1730.8-894.321-398.77-62.457-774.892 66.014-913.105 138.057Z"/><g filter="url(#s)"><circle cx="2023.67" cy="1292.19" r="879.113" fill="#121212"/></g><g filter="url(#t)"><path fill="url(#u)" d="M495.371 882.061C308.382 1250.02 157.763 2074.74 134.286 1647.02c-90.25-45.87-10.31-750.752 88.062-944.33 98.371-193.579 316.846-491.416 407.096-445.553 324.75 139.965-35.701 431.346-134.073 624.924Z"/></g><g filter="url(#v)"><path stroke="#55008C" strokeWidth="16" d="M215.985 1439.02c3.208-102.16 10.885-365.24 280.837-693.189"/></g><path stroke="url(#w)" strokeWidth="4.5" d="M170.664 1326.22c26.284-161.28 186.92-547.918 619.197-804.291"/></g><mask id="x" width="2845" height="919" x="627" y="352" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#3913B3" d="M2079.33 539.594c450.32 125.671 784.75 493.096 835.53 730.746h556.55c-357.49-538.271-1182.66-822.449-1690.35-895.244-506.57-72.633-793.731 50.059-905.97 98.014l-.752.321c-89.365 38.181-202.034 119.533-247.198 155.437 240.972-139.299 833.92-261.816 1452.19-89.274Z"/></mask><g mask="url(#x)"><path fill="#3913B3" d="M2079.4 540.59c450.32 125.671 785.59 589.52 839.52 735.84l556.55-34.53c-337.18-540.299-1186.65-793.013-1694.34-865.808-506.57-72.633-793.731 50.059-905.97 98.014l-.751.321C785.044 512.608 672.374 593.96 627.21 629.864c240.972-139.299 833.92-261.815 1452.19-89.274Z"/><g filter="url(#y)"><path stroke="url(#z)" strokeWidth="9.5" d="M2864.63 1128.93c-53.93-146.322-334.98-463.668-785.29-589.339-618.27-172.541-1211.223-50.024-1452.196 89.274"/></g><g filter="url(#A)"><path stroke="#000" strokeWidth="44.5" d="M894.883 450.008c111.707-47.726 399.017-171.131 906.717-98.335"/></g><g filter="url(#B)"><path stroke="#000" strokeWidth="44.5" d="M1034.1 402.304c115.33-38.159 412.01-136.955 911.78-21.705"/></g><g filter="url(#C)"><ellipse cx="2583.5" cy="950.582" fill="url(#D)" rx="183.301" ry="491.157" transform="rotate(-51.736 2583.5 950.582)"/></g><g filter="url(#E)"><path fill="url(#F)" d="M2914.15 857.725c-292.53-291.178-1030.83-688.353-616.66-579.026 71.42-71.75 717.47 221.292 871.37 374.476 153.9 153.184 370.02 452.735 298.6 524.485-233.14 265.89-399.41-166.75-553.31-319.935Z"/></g><path stroke="url(#G)" strokeWidth="4.5" d="M869.485 475.754c111.706-47.726 399.015-171.131 906.715-98.335 507.7 72.795 1103.51 292.85 1557.38 721.101"/><g filter="url(#H)"><path stroke="url(#I)" Line truncated

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 KiB

@@ -1 +1,248 @@
<svg xmlns="http://www.w3.org/2000/svg" width="3555" height="1241" fill="none"><g clip-path="url(#a)"><g filter="url(#b)"><path stroke="#EA77FF" strokeWidth="28.5" d="M2960.92 937.045C2653.33 507.8 1821.53-63.707 898.275 507.801"/></g><mask id="c" width="2282" height="668" x="752" y="213" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#F1EDFF" d="M1926.07 217.981c532.57 37.92 960.43 457.366 1107.79 662.348 0 0-496.47-278.697-1159.92-439.803C1210.48 279.421 752.946 547.621 752.946 547.621c169.134-125.68 640.544-367.56 1173.124-329.64Z"/></mask><g mask="url(#c)"><g filter="url(#d)"><path fill="url(#e)" d="M1616.27 291.113c399.52-103.656 1340.36 53.828 927.65-60.904-25.43-97.99-762.29-151.104-972.47-96.572-210.18 54.532-547.97 203.991-522.55 301.98 67.01 347.223 357.19-89.973 567.37-144.504Z"/></g><g filter="url(#f)"><path fill="#1D0874" d="M3193.25 1527.51c-167.96 234.02-664.53 165.05-1109.12-154.04-444.59-319.09-1057.91-675.458-889.95-909.475 335.22-379.711 1053.58-257.069 1498.18 62.022 444.59 319.092 668.85 767.473 500.89 1001.493Z"/></g><g filter="url(#g)"><ellipse cx="2822.97" cy="702.297" fill="#A765F2" rx="696.914" ry="110.571" transform="rotate(35.668 2822.97 702.297)"/></g><g filter="url(#h)"><path stroke="#DC24FF" strokeWidth="84.5" d="M2718.51 456.959c-153.52-100.801-747.16-389.531-1605.28-172.865"/></g><g filter="url(#i)"><path stroke="#DC24FF" strokeWidth="84.5" d="M2928.89 906.923c-5.63-65.114-55.69-294.644-305.26-486.78"/></g><g filter="url(#j)"><path stroke="#EBBCF3" strokeWidth="28.5" d="M2917.04 797.302C2581.98 389.131 1714.53-126.657 830.7 504.109"/></g><g filter="url(#k)"><path stroke="url(#l)" strokeWidth="52.5" d="M2519.99 481.804c-100.35-77.114-493.53-305.863-1094.29-200.83"/></g><g filter="url(#m)"><path stroke="url(#n)" strokeWidth="44.5" d="M2535.43 472.773c-100.34-77.114-493.52-305.863-1094.28-200.83"/></g></g><mask id="o" width="3250" height="953" x="181" y="354" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#030103" d="M805.166 505.941C371.332 759.672 208.339 1145.33 181.072 1306.44l3249.708-64.54c-294.52-408.27-1210.95-819.157-1712.51-874.015-497.12-54.373-774.891 66.014-913.104 138.056Z"/></mask><g mask="url(#o)"><g filter="url(#p)"><ellipse cx="1759.59" cy="1415.66" fill="#000" rx="1272.18" ry="1229.33" transform="rotate(35.668 1759.59 1415.66)"/></g><g filter="url(#q)"><ellipse cx="2010.27" cy="1009.9" fill="#000" rx="1018.45" ry="558.276" transform="rotate(35.668 2010.27 1009.9)"/></g><path fill="url(#r)" d="M805.165 505.946c-433.833 253.73-596.826 639.384-624.094 800.494l3267.999-44.23c-306.4-314.605-1232.33-816.249-1730.8-894.321-398.77-62.457-774.892 66.014-913.105 138.057Z"/><g filter="url(#s)"><circle cx="2023.67" cy="1292.19" r="879.113" fill="#121212"/></g><g filter="url(#t)"><path fill="url(#u)" d="M495.371 882.061C308.382 1250.02 157.763 2074.74 134.286 1647.02c-90.25-45.87-10.31-750.752 88.062-944.33 98.371-193.579 316.846-491.416 407.096-445.553 324.75 139.965-35.701 431.346-134.073 624.924Z"/></g><g filter="url(#v)"><path stroke="#55008C" strokeWidth="16" d="M215.985 1439.02c3.208-102.16 10.885-365.24 280.837-693.189"/></g><path stroke="url(#w)" strokeWidth="4.5" d="M170.664 1326.22c26.284-161.28 186.92-547.918 619.197-804.291"/></g><mask id="x" width="2845" height="919" x="627" y="352" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#3913B3" d="M2079.33 539.594c450.32 125.671 784.75 493.096 835.53 730.746h556.55c-357.49-538.271-1182.66-822.449-1690.35-895.244-506.57-72.633-793.731 50.059-905.97 98.014l-.752.321c-89.365 38.181-202.034 119.533-247.198 155.437 240.972-139.299 833.92-261.816 1452.19-89.274Z"/></mask><g mask="url(#x)"><path fill="#3913B3" d="M2079.4 540.59c450.32 125.671 785.59 589.52 839.52 735.84l556.55-34.53c-337.18-540.299-1186.65-793.013-1694.34-865.808-506.57-72.633-793.731 50.059-905.97 98.014l-.751.321C785.044 512.608 672.374 593.96 627.21 629.864c240.972-139.299 833.92-261.815 1452.19-89.274Z"/><g filter="url(#y)"><path stroke="url(#z)" strokeWidth="9.5" d="M2864.63 1128.93c-53.93-146.322-334.98-463.668-785.29-589.339-618.27-172.541-1211.223-50.024-1452.196 89.274"/></g><g filter="url(#A)"><path stroke="#000" strokeWidth="44.5" d="M894.883 450.008c111.707-47.726 399.017-171.131 906.717-98.335"/></g><g filter="url(#B)"><path stroke="#000" strokeWidth="44.5" d="M1034.1 402.304c115.33-38.159 412.01-136.955 911.78-21.705"/></g><g filter="url(#C)"><ellipse cx="2583.5" cy="950.582" fill="url(#D)" rx="183.301" ry="491.157" transform="rotate(-51.736 2583.5 950.582)"/></g><g filter="url(#E)"><path fill="url(#F)" d="M2914.15 857.725c-292.53-291.178-1030.83-688.353-616.66-579.026 71.42-71.75 717.47 221.292 871.37 374.476 153.9 153.184 370.02 452.735 298.6 524.485-233.14 265.89-399.41-166.75-553.31-319.935Z"/></g><path stroke="url(#G)" strokeWidth="4.5" d="M869.485 475.754c111.706-47.726 399.015-171.131 906.715-98.335 507.7 72.795 1103.51 292.85 1557.38 721.101"/><g filter="url(#H)"><path stroke="url(#I)" Line truncated
<svg width="2958" height="1032" viewBox="0 0 2958 1032" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1806_105858)">
<g filter="url(#filter0_f_1806_105858)">
<path d="M2463.31 779.091C2207.47 422.065 1515.62 -53.2887 747.7 422.066" stroke="#EA77FF" stroke-width="23.705"/>
</g>
<mask id="mask0_1806_105858" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="626" y="177" width="1898" height="555">
<path d="M1602.56 181.008C2045.53 212.549 2401.41 561.424 2523.98 731.919C2523.98 731.919 2111.03 500.111 1559.2 366.111C1007.37 232.111 626.815 455.187 626.815 455.187C767.493 350.653 1159.59 149.468 1602.56 181.008Z" fill="#F1EDFF"/>
</mask>
<g mask="url(#mask0_1806_105858)">
<g filter="url(#filter1_f_1806_105858)">
<path d="M1344.89 241.838C1677.19 155.622 2459.74 286.61 2116.46 191.181C2095.32 109.678 1482.43 65.5 1307.61 110.857C1132.79 156.214 851.833 280.527 872.979 362.03C928.709 650.834 1170.07 287.195 1344.89 241.838Z" fill="url(#paint0_linear_1806_105858)"/>
</g>
<g filter="url(#filter2_f_1806_105858)">
<path d="M2656.55 1270.21C2516.85 1464.86 2103.83 1407.49 1734.04 1142.09C1364.24 876.684 854.116 580.276 993.816 385.632C1272.64 69.8052 1870.14 171.814 2239.93 437.219C2609.72 702.624 2796.25 1075.57 2656.55 1270.21Z" fill="#1D0874"/>
</g>
<g filter="url(#filter3_f_1806_105858)">
<ellipse cx="2348.57" cy="583.839" rx="579.661" ry="91.9675" transform="rotate(35.6676 2348.57 583.839)" fill="#A765F2"/>
</g>
<g filter="url(#filter4_f_1806_105858)">
<path d="M2261.68 379.78C2133.99 295.938 1640.23 55.786 926.485 235.999" stroke="#DC24FF" stroke-width="70.2832"/>
</g>
<g filter="url(#filter5_f_1806_105858)">
<path d="M2436.67 754.038C2431.98 699.88 2390.35 508.967 2182.76 349.157" stroke="#DC24FF" stroke-width="70.2832"/>
</g>
<g filter="url(#filter6_f_1806_105858)">
<path d="M2426.8 662.862C2148.12 323.364 1426.62 -105.644 691.486 418.998" stroke="#EBBCF3" stroke-width="23.705"/>
</g>
<g filter="url(#filter7_f_1806_105858)">
<path d="M2096.56 400.445C2013.1 336.305 1686.07 146.042 1186.39 233.404" stroke="url(#paint1_linear_1806_105858)" stroke-width="43.6671"/>
</g>
<g filter="url(#filter8_f_1806_105858)">
<path d="M2109.4 392.933C2025.94 328.793 1698.91 138.53 1199.23 225.892" stroke="url(#paint2_linear_1806_105858)" stroke-width="37.0131"/>
</g>
</g>
<mask id="mask1_1806_105858" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="151" y="294" width="2704" height="793">
<path d="M670.254 420.522C309.411 631.564 173.841 952.334 151.162 1086.34L2854.12 1032.66C2609.15 693.078 1846.9 351.322 1429.73 305.693C1016.25 260.468 785.213 360.601 670.254 420.522Z" fill="#030103"/>
</mask>
<g mask="url(#mask1_1806_105858)">
<g filter="url(#filter9_f_1806_105858)">
<ellipse cx="1464.1" cy="1177.18" rx="1058.14" ry="1022.5" transform="rotate(35.6676 1464.1 1177.18)" fill="black"/>
</g>
<g filter="url(#filter10_f_1806_105858)">
<ellipse cx="1672.6" cy="839.688" rx="847.101" ry="464.348" transform="rotate(35.6676 1672.6 839.688)" fill="black"/>
</g>
<path d="M670.253 420.525C309.41 631.567 173.841 952.336 151.161 1086.34L2869.33 1049.56C2614.48 787.877 1844.34 370.633 1429.73 305.696C1098.05 253.747 785.213 360.604 670.253 420.525Z" fill="url(#paint3_radial_1806_105858)"/>
<g filter="url(#filter11_f_1806_105858)">
<circle cx="1683.74" cy="1074.49" r="731.206" fill="#121212"/>
</g>
<g filter="url(#filter12_f_1806_105858)">
<path d="M412.576 733.363C257.047 1039.42 131.77 1725.38 112.242 1369.62C37.1766 1331.47 103.667 745.18 185.488 584.17C267.309 423.16 449.026 175.433 524.092 213.579C794.204 329.996 494.397 572.353 412.576 733.363Z" fill="url(#paint4_linear_1806_105858)"/>
</g>
<g filter="url(#filter13_f_1806_105858)">
<path d="M180.198 1196.61C182.867 1111.64 189.252 892.826 413.785 620.052" stroke="#55008C" stroke-width="13.3081"/>
</g>
<path d="M142.503 1102.79C164.365 968.651 297.974 647.06 657.522 433.82" stroke="url(#paint5_linear_1806_105858)" stroke-width="3.74289"/>
</g>
<mask id="mask2_1806_105858" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="522" y="293" width="2366" height="764">
<path d="M1730.04 448.514C2104.59 553.042 2382.76 858.647 2424.99 1056.31L2887.91 1056.31C2590.56 608.607 1904.23 372.24 1481.95 311.693C1060.61 251.28 821.763 353.329 728.407 393.216L727.782 393.483C653.453 425.24 559.74 492.905 522.174 522.768C722.604 406.906 1215.79 305.002 1730.04 448.514Z" fill="#3913B3"/>
</mask>
<g mask="url(#mask2_1806_105858)">
<path d="M1730.1 449.342C2104.65 553.87 2383.52 939.681 2428.38 1061.38L2891.29 1032.66C2610.84 583.264 1904.29 373.069 1482.01 312.521C1060.67 252.108 821.825 354.158 728.47 394.044L727.845 394.311C653.515 426.068 559.802 493.734 522.237 523.597C722.666 407.735 1215.86 305.831 1730.1 449.342Z" fill="#3913B3"/>
<g filter="url(#filter14_f_1806_105858)">
<path d="M2383.22 938.696C2338.36 816.994 2104.6 553.04 1730.04 448.513C1215.8 305.001 722.607 406.905 522.178 522.767" stroke="url(#paint6_linear_1806_105858)" stroke-width="7.90166"/>
</g>
<g filter="url(#filter15_f_1806_105858)">
<path d="M744.871 373.999C837.783 334.302 1076.76 231.66 1499.04 292.208" stroke="black" stroke-width="37.0131"/>
</g>
<g filter="url(#filter16_f_1806_105858)">
<path d="M860.668 334.321C956.59 302.583 1203.35 220.409 1619.04 316.268" stroke="black" stroke-width="37.0131"/>
</g>
<g filter="url(#filter17_f_1806_105858)">
<ellipse cx="2149.38" cy="790.355" rx="152.461" ry="408.521" transform="rotate(-51.7359 2149.38 790.355)" fill="url(#paint7_linear_1806_105858)"/>
</g>
<g filter="url(#filter18_f_1806_105858)">
<path d="M2424.41 713.122C2181.09 470.933 1567.01 140.582 1911.5 231.515C1970.9 171.837 2508.26 415.575 2636.26 542.987C2764.27 670.398 2944.03 919.549 2884.63 979.227C2690.71 1200.39 2552.41 840.533 2424.41 713.122Z" fill="url(#paint8_linear_1806_105858)"/>
</g>
<path d="M723.746 395.413C816.658 355.717 1055.63 253.074 1477.91 313.622C1900.19 374.17 2395.76 557.201 2773.27 913.4" stroke="url(#paint9_linear_1806_105858)" stroke-width="3.74289"/>
<g filter="url(#filter19_f_1806_105858)">
<path d="M2765.62 910.758C2696.64 845.785 2503.38 688.123 2282.13 577.258" stroke="url(#paint10_linear_1806_105858)" stroke-width="17.051"/>
</g>
<g filter="url(#filter20_f_1806_105858)">
<ellipse cx="755.243" cy="463.757" rx="309.636" ry="58.8192" transform="rotate(-10.3271 755.243 463.757)" fill="#DB91F8"/>
</g>
</g>
</g>
<defs>
<filter id="filter0_f_1806_105858" x="684.902" y="153.663" width="1844.6" height="688.892" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="28.2796" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter1_f_1806_105858" x="762.06" y="-17.1275" width="1549.43" height="599.399" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="54.8958" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter2_f_1806_105858" x="780.555" y="0.0905762" width="2112.01" height="1575.19" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="94.8199" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter3_f_1806_105858" x="1684.91" y="47.9734" width="1327.3" height="1071.73" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="94.8199" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter4_f_1806_105858" x="801.437" y="18.949" width="1595.98" height="506.653" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="58.2228" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter5_f_1806_105858" x="2044.88" y="204.867" width="543.243" height="668.649" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="58.2228" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter6_f_1806_105858" x="644.677" y="121.802" width="1831.22" height="588.505" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="19.9621" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter7_f_1806_105858" x="1119.41" y="125.806" width="1053.66" height="355.165" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="31.6066" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter8_f_1806_105858" x="1179.4" y="168.201" width="957.911" height="256.04" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="8.31754" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter9_f_1806_105858" x="228.204" y="-47.2805" width="2471.79" height="2448.92" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="94.8199" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter10_f_1806_105858" x="859.665" y="144.946" width="1625.87" height="1389.48" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="36.5972" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter11_f_1806_105858" x="503.392" y="-105.862" width="2360.71" height="2360.7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="224.574" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter12_f_1806_105858" x="-23.6609" y="106.507" width="761.392" height="1466.09" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="51.5687" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter13_f_1806_105858" x="123.642" y="565.919" width="345.185" height="680.807" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="24.9526" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter14_f_1806_105858" x="500.241" y="354.179" width="1906.64" height="605.846" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="9.98105" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter15_f_1806_105858" x="654.426" y="171.852" width="930.413" height="302.339" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="41.5877" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter16_f_1806_105858" x="804.946" y="202.829" width="868.154" height="198.967" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="24.9526" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter17_f_1806_105858" x="1711.79" y="407.269" width="875.181" height="766.173" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="51.5687" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter18_f_1806_105858" x="1705.84" y="112.945" width="1293.62" height="1039.73" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="51.5687" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter19_f_1806_105858" x="2261.68" y="553.002" width="526.419" height="380.598" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="8.31754" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<filter id="filter20_f_1806_105858" x="367.262" y="300.399" width="775.96" height="326.718" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="41.5877" result="effect1_foregroundBlur_1806_105858"/>
</filter>
<linearGradient id="paint0_linear_1806_105858" x1="901.323" y1="307.998" x2="1411.31" y2="179.791" gradientUnits="userSpaceOnUse">
<stop stop-color="#F7F2D8"/>
<stop offset="0.71875" stop-color="#9D20FF"/>
</linearGradient>
<linearGradient id="paint1_linear_1806_105858" x1="1961.07" y1="326.506" x2="1813.56" y2="0.659911" gradientUnits="userSpaceOnUse">
<stop stop-color="#F1EDFF" stop-opacity="0"/>
<stop offset="0.535303" stop-color="#FDD5C7"/>
<stop offset="1" stop-color="#F1EDFF" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1806_105858" x1="2004.81" y1="319.52" x2="1819.33" y2="-45.5493" gradientUnits="userSpaceOnUse">
<stop stop-color="#F1EDFF" stop-opacity="0"/>
<stop offset="0.535303" stop-color="#FDD5C7"/>
<stop offset="1" stop-color="#F1EDFF" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint3_radial_1806_105858" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(2112.8 804.035) rotate(-111.098) scale(1208.32 2042.82)">
<stop stop-color="#030103"/>
<stop offset="0.802083" stop-color="#3B3A75" stop-opacity="0.71"/>
<stop offset="0.958333" stop-color="#B97AF1" stop-opacity="0.61"/>
<stop offset="1" stop-color="#9E44EF"/>
</radialGradient>
<linearGradient id="paint4_linear_1806_105858" x1="362.35" y1="691.972" x2="572.812" y2="712.349" gradientUnits="userSpaceOnUse">
<stop stop-color="#A075D6"/>
<stop offset="0.923198" stop-color="#9D20FF"/>
</linearGradient>
<linearGradient id="paint5_linear_1806_105858" x1="645.665" y1="409.491" x2="14.9837" y2="888.657" gradientUnits="userSpaceOnUse">
<stop stop-color="#F1EDFF" stop-opacity="0"/>
<stop offset="0.463542" stop-color="#F1EDFF"/>
<stop offset="1" stop-color="#F1EDFF" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1806_105858" x1="1428.32" y1="359.453" x2="2400.17" y2="915.307" gradientUnits="userSpaceOnUse">
<stop stop-color="#B45BF3"/>
<stop offset="1" stop-color="#00B7FF"/>
</linearGradient>
<linearGradient id="paint7_linear_1806_105858" x1="2219.71" y1="807.881" x2="2425.08" y2="754.722" gradientUnits="userSpaceOnUse">
<stop stop-color="#60EAE2"/>
<stop offset="0.114583" stop-color="#71BDDD"/>
<stop offset="1" stop-color="#AB66E1"/>
</linearGradient>
<linearGradient id="paint8_linear_1806_105858" x1="2479.25" y1="678.076" x2="2395.08" y2="872.046" gradientUnits="userSpaceOnUse">
<stop stop-color="#F7F2D8"/>
<stop offset="0.571662" stop-color="#9D20FF"/>
</linearGradient>
<linearGradient id="paint9_linear_1806_105858" x1="1700.33" y1="260.616" x2="1035.8" y2="304.244" gradientUnits="userSpaceOnUse">
<stop stop-color="#F1EDFF" stop-opacity="0"/>
<stop offset="0.463542" stop-color="#F1EDFF"/>
<stop offset="1" stop-color="#F1EDFF" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1806_105858" x1="2695.34" y1="847.788" x2="2314.95" y2="595.234" gradientUnits="userSpaceOnUse">
<stop stop-color="#F1EDFF" stop-opacity="0"/>
<stop offset="0.463542" stop-color="#F7F6DB"/>
<stop offset="1" stop-color="#F1EDFF" stop-opacity="0"/>
</linearGradient>
<clipPath id="clip0_1806_105858">
<rect width="2956.55" height="1031.78" fill="white" transform="translate(0.554688)"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

+9 -1
View File
@@ -694,8 +694,16 @@ launch week
);
}
.gradient-text-pink-500 {
@apply text-transparent bg-clip-text bg-gradient-to-br from-[#c867ee] to-[#f6a4f3];
}
.gradient-text-purple-500 {
background-image: -webkit-linear-gradient(45deg, #902dfb 17%, #d87bf5 97%);
@apply text-transparent bg-clip-text bg-gradient-to-br from-[#902DFB] to-[#D87BF5];
}
.gradient-text-purple-800 {
@apply text-transparent bg-clip-text bg-gradient-to-br from-[#5900EA] to-[#A242E5];
}
.gradient-text-gold-500 {
+249 -1
View File
@@ -914,6 +914,7 @@
"config": "*",
"date-fns": "2.10.0",
"dayjs": "^1.11.4",
"framer-motion": "^6.5.1",
"globby": "^12.0.2",
"gray-matter": "^4.0.2",
"markdown-toc": "^1.2.0",
@@ -3417,6 +3418,21 @@
"resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.2.tgz",
"integrity": "sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug=="
},
"node_modules/@emotion/is-prop-valid": {
"version": "0.8.8",
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
"integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
"optional": true,
"dependencies": {
"@emotion/memoize": "0.7.4"
}
},
"node_modules/@emotion/memoize": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
"integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
"optional": true
},
"node_modules/@esbuild-kit/cjs-loader": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.1.tgz",
@@ -4960,6 +4976,64 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/@motionone/animation": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz",
"integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==",
"dependencies": {
"@motionone/easing": "^10.15.1",
"@motionone/types": "^10.15.1",
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
}
},
"node_modules/@motionone/dom": {
"version": "10.12.0",
"resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.12.0.tgz",
"integrity": "sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==",
"dependencies": {
"@motionone/animation": "^10.12.0",
"@motionone/generators": "^10.12.0",
"@motionone/types": "^10.12.0",
"@motionone/utils": "^10.12.0",
"hey-listen": "^1.0.8",
"tslib": "^2.3.1"
}
},
"node_modules/@motionone/easing": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz",
"integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==",
"dependencies": {
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
}
},
"node_modules/@motionone/generators": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz",
"integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==",
"dependencies": {
"@motionone/types": "^10.15.1",
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
}
},
"node_modules/@motionone/types": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz",
"integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA=="
},
"node_modules/@motionone/utils": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz",
"integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==",
"dependencies": {
"@motionone/types": "^10.15.1",
"hey-listen": "^1.0.8",
"tslib": "^2.3.1"
}
},
"node_modules/@mrmlnc/readdir-enhanced": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -19291,6 +19365,34 @@
"node": ">=0.10.0"
}
},
"node_modules/framer-motion": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz",
"integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==",
"dependencies": {
"@motionone/dom": "10.12.0",
"framesync": "6.0.1",
"hey-listen": "^1.0.8",
"popmotion": "11.0.3",
"style-value-types": "5.0.0",
"tslib": "^2.1.0"
},
"optionalDependencies": {
"@emotion/is-prop-valid": "^0.8.2"
},
"peerDependencies": {
"react": ">=16.8 || ^17.0.0 || ^18.0.0",
"react-dom": ">=16.8 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/framesync": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz",
"integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -20503,6 +20605,11 @@
"he": "bin/he"
}
},
"node_modules/hey-listen": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
"integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
},
"node_modules/highlight.js": {
"version": "10.7.3",
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
@@ -28342,6 +28449,17 @@
"node": ">=10"
}
},
"node_modules/popmotion": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz",
"integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==",
"dependencies": {
"framesync": "6.0.1",
"hey-listen": "^1.0.8",
"style-value-types": "5.0.0",
"tslib": "^2.1.0"
}
},
"node_modules/posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -34775,6 +34893,15 @@
"inline-style-parser": "0.1.1"
}
},
"node_modules/style-value-types": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz",
"integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==",
"dependencies": {
"hey-listen": "^1.0.8",
"tslib": "^2.1.0"
}
},
"node_modules/styled-jsx": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz",
@@ -41064,6 +41191,21 @@
}
}
},
"@emotion/is-prop-valid": {
"version": "0.8.8",
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
"integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
"optional": true,
"requires": {
"@emotion/memoize": "0.7.4"
}
},
"@emotion/memoize": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
"integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
"optional": true
},
"@esbuild-kit/cjs-loader": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.1.tgz",
@@ -42257,6 +42399,64 @@
"prop-types": "^15.7.2"
}
},
"@motionone/animation": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz",
"integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==",
"requires": {
"@motionone/easing": "^10.15.1",
"@motionone/types": "^10.15.1",
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
}
},
"@motionone/dom": {
"version": "10.12.0",
"resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.12.0.tgz",
"integrity": "sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==",
"requires": {
"@motionone/animation": "^10.12.0",
"@motionone/generators": "^10.12.0",
"@motionone/types": "^10.12.0",
"@motionone/utils": "^10.12.0",
"hey-listen": "^1.0.8",
"tslib": "^2.3.1"
}
},
"@motionone/easing": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz",
"integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==",
"requires": {
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
}
},
"@motionone/generators": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz",
"integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==",
"requires": {
"@motionone/types": "^10.15.1",
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
}
},
"@motionone/types": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz",
"integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA=="
},
"@motionone/utils": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz",
"integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==",
"requires": {
"@motionone/types": "^10.15.1",
"hey-listen": "^1.0.8",
"tslib": "^2.3.1"
}
},
"@mrmlnc/readdir-enhanced": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -46189,7 +46389,7 @@
"@sinclair/typebox": "^0.25.1",
"pg": "^8.7.1",
"pg-format": "^1.0.4",
"pgsql-parser": "13.4.0",
"pgsql-parser": "^13.3.0",
"postgres-array": "^3.0.1",
"prettier": "^2.6.0",
"prettier-plugin-sql": "^0.12.1"
@@ -53909,6 +54109,28 @@
"map-cache": "^0.2.2"
}
},
"framer-motion": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz",
"integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==",
"requires": {
"@emotion/is-prop-valid": "^0.8.2",
"@motionone/dom": "10.12.0",
"framesync": "6.0.1",
"hey-listen": "^1.0.8",
"popmotion": "11.0.3",
"style-value-types": "5.0.0",
"tslib": "^2.1.0"
}
},
"framesync": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz",
"integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==",
"requires": {
"tslib": "^2.1.0"
}
},
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -54771,6 +54993,11 @@
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
"hey-listen": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
"integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
},
"highlight.js": {
"version": "10.7.3",
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
@@ -60713,6 +60940,17 @@
"@babel/runtime": "^7.17.8"
}
},
"popmotion": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz",
"integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==",
"requires": {
"framesync": "6.0.1",
"hey-listen": "^1.0.8",
"style-value-types": "5.0.0",
"tslib": "^2.1.0"
}
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -65905,6 +66143,15 @@
"inline-style-parser": "0.1.1"
}
},
"style-value-types": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz",
"integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==",
"requires": {
"hey-listen": "^1.0.8",
"tslib": "^2.1.0"
}
},
"styled-jsx": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz",
@@ -68761,6 +69008,7 @@
"date-fns": "2.10.0",
"dayjs": "^1.11.4",
"file-loader": "^6.2.0",
"framer-motion": "^6.5.1",
"globby": "^12.0.2",
"gray-matter": "^4.0.2",
"markdown-toc": "^1.2.0",