mirror of
https://github.com/supabase/supabase.git
synced 2026-10-17 07:09:07 +03:00
clean up
This commit is contained in:
1 parent
336837af22
commit
8dc3645ec7
5 files changed
+10
-192
No files matched your search
+3
-3
@@ -10,10 +10,10 @@ import {
|
||||
import useConfData from '~/components/LaunchWeek/hooks/use-conf-data'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { useTheme } from 'next-themes'
|
||||
import { getColor } from './Multiplayer/randomColor'
|
||||
import { Coordinates, Payload, User } from './Multiplayer/types'
|
||||
import { getColor } from './randomColor'
|
||||
import { Coordinates, Payload, User } from './types'
|
||||
import { cloneDeep, throttle } from 'lodash'
|
||||
import Cursor from './Multiplayer/Cursor'
|
||||
import Cursor from './Cursor'
|
||||
|
||||
/**
|
||||
* [x] multiplayer cursors
|
||||
+4
-4
@@ -4,10 +4,10 @@ import { useEffect, useRef, useState, useCallback } from 'react'
|
||||
import useConfData from '~/components/LaunchWeek/hooks/use-conf-data'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { useTheme } from 'next-themes'
|
||||
import { INTERACTIVE_GRID_COLORS } from './InteractiveGridParty'
|
||||
import Cursor from './Multiplayer/Cursor'
|
||||
import { getColor } from './Multiplayer/randomColor'
|
||||
import { Coordinates } from './Multiplayer/types'
|
||||
import { INTERACTIVE_GRID_COLORS } from './CanvasPartyMode'
|
||||
import Cursor from './Cursor'
|
||||
import { getColor } from './randomColor'
|
||||
import { Coordinates } from './types'
|
||||
|
||||
const GRID_SIZE = 100
|
||||
const CELL_SIZE = 40
|
||||
@@ -5,8 +5,8 @@ import { DEFAULT_TRANSITION, INITIAL_BOTTOM, getAnimation } from '~/lib/animatio
|
||||
import { LW13_DATE, LW13_LAUNCH_DATE } from '~/lib/constants'
|
||||
|
||||
import CountdownComponent from '~/components/LaunchWeek/13/Countdown'
|
||||
import InteractiveGridParty from '~/components/LaunchWeek/13/InteractiveGridParty'
|
||||
import InteractiveGridSingle from '~/components/LaunchWeek/13/InteractiveGridSingle'
|
||||
import CanvasPartyMode from '~/components/LaunchWeek/13/Multiplayer/CanvasPartyMode'
|
||||
import CanvasSingleMode from '~/components/LaunchWeek/13/Multiplayer/CanvasSingleMode'
|
||||
import MetalTicket from '~/components/LaunchWeek/13/MetalTicket'
|
||||
import SectionContainer from '~/components/Layouts/SectionContainer'
|
||||
import useConfData from '~/components/LaunchWeek/hooks/use-conf-data'
|
||||
@@ -171,7 +171,7 @@ const TicketingFlow = () => {
|
||||
</LazyMotion>
|
||||
</div>
|
||||
</SectionContainer>
|
||||
{isPartyMode ? <InteractiveGridParty /> : <InteractiveGridSingle />}
|
||||
{isPartyMode ? <CanvasPartyMode /> : <CanvasSingleMode />}
|
||||
{hasTicket && (
|
||||
<MetalTicket
|
||||
username={DISPLAY_NAME ?? ''}
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
import { useState, useEffect } from 'react'
|
||||
import { useRouter } from 'next/router'
|
||||
import { NextSeo } from 'next-seo'
|
||||
import { Session } from '@supabase/supabase-js'
|
||||
import { LW12_DATE, LW12_TITLE, LW_URL, SITE_ORIGIN } from '~/lib/constants'
|
||||
import supabase from '~/lib/supabase'
|
||||
|
||||
import DefaultLayout from '~/components/Layouts/Default'
|
||||
import { TicketState, ConfDataContext, UserData } from '~/components/LaunchWeek/hooks/use-conf-data'
|
||||
import InteractiveGrid from '~/components/LaunchWeek/13/InteractiveGridParty'
|
||||
|
||||
export default function LaunchWeekIndex() {
|
||||
const { query } = useRouter()
|
||||
|
||||
const TITLE = `${LW12_TITLE} | ${LW12_DATE}`
|
||||
const DESCRIPTION = 'Join us for a week of announcing new features, every day at 7 AM PT.'
|
||||
const OG_IMAGE = `${SITE_ORIGIN}/images/launchweek/12/lw12-og.png?lw=12`
|
||||
|
||||
const ticketNumber = query.ticketNumber?.toString()
|
||||
const [session, setSession] = useState<Session | null>(null)
|
||||
const [showCustomizationForm, setShowCustomizationForm] = useState<boolean>(false)
|
||||
|
||||
const defaultUserData = {
|
||||
id: query.id?.toString(),
|
||||
ticket_number: ticketNumber ? parseInt(ticketNumber, 10) : undefined,
|
||||
name: query.name?.toString(),
|
||||
username: query.username?.toString(),
|
||||
platinum: !!query.platinum,
|
||||
}
|
||||
|
||||
const [userData, setUserData] = useState<UserData>(defaultUserData)
|
||||
const [ticketState, setTicketState] = useState<TicketState>('loading')
|
||||
|
||||
useEffect(() => {
|
||||
if (supabase) {
|
||||
supabase.auth.getSession().then(({ data: { session } }) => setSession(session))
|
||||
const {
|
||||
data: { subscription },
|
||||
} = supabase.auth.onAuthStateChange((_event, session) => {
|
||||
setSession(session)
|
||||
})
|
||||
|
||||
return () => subscription.unsubscribe()
|
||||
}
|
||||
}, [supabase])
|
||||
|
||||
useEffect(() => {
|
||||
if (session?.user) {
|
||||
if (userData?.id) {
|
||||
return setTicketState('ticket')
|
||||
}
|
||||
return setTicketState('loading')
|
||||
}
|
||||
if (!session) return setTicketState('registration')
|
||||
}, [session, userData])
|
||||
|
||||
return (
|
||||
<>
|
||||
<NextSeo
|
||||
title={TITLE}
|
||||
description={DESCRIPTION}
|
||||
openGraph={{
|
||||
title: TITLE,
|
||||
description: DESCRIPTION,
|
||||
url: LW_URL,
|
||||
images: [
|
||||
{
|
||||
url: OG_IMAGE,
|
||||
},
|
||||
],
|
||||
}}
|
||||
/>
|
||||
<ConfDataContext.Provider
|
||||
value={{
|
||||
supabase,
|
||||
session,
|
||||
userData,
|
||||
setUserData,
|
||||
ticketState,
|
||||
setTicketState,
|
||||
showCustomizationForm,
|
||||
setShowCustomizationForm,
|
||||
}}
|
||||
>
|
||||
<DefaultLayout>
|
||||
<InteractiveGrid />
|
||||
</DefaultLayout>
|
||||
</ConfDataContext.Provider>
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
import { useState, useEffect } from 'react'
|
||||
import { useRouter } from 'next/router'
|
||||
import { NextSeo } from 'next-seo'
|
||||
import { Session } from '@supabase/supabase-js'
|
||||
import { LW12_DATE, LW12_TITLE, LW_URL, SITE_ORIGIN } from '~/lib/constants'
|
||||
import supabase from '~/lib/supabase'
|
||||
|
||||
import DefaultLayout from '~/components/Layouts/Default'
|
||||
import { TicketState, ConfDataContext, UserData } from '~/components/LaunchWeek/hooks/use-conf-data'
|
||||
import MetalTicket from '~/components/LaunchWeek/13/MetalTicket'
|
||||
|
||||
export default function LaunchWeekIndex() {
|
||||
const { query } = useRouter()
|
||||
|
||||
const TITLE = `${LW12_TITLE} | ${LW12_DATE}`
|
||||
const DESCRIPTION = 'Join us for a week of announcing new features, every day at 7 AM PT.'
|
||||
const OG_IMAGE = `${SITE_ORIGIN}/images/launchweek/12/lw12-og.png?lw=12`
|
||||
|
||||
const ticketNumber = query.ticketNumber?.toString()
|
||||
const [session, setSession] = useState<Session | null>(null)
|
||||
const [showCustomizationForm, setShowCustomizationForm] = useState<boolean>(false)
|
||||
|
||||
const defaultUserData = {
|
||||
id: query.id?.toString(),
|
||||
ticket_number: ticketNumber ? parseInt(ticketNumber, 10) : undefined,
|
||||
name: query.name?.toString(),
|
||||
username: query.username?.toString(),
|
||||
platinum: !!query.platinum,
|
||||
}
|
||||
|
||||
const [userData, setUserData] = useState<UserData>(defaultUserData)
|
||||
const [ticketState, setTicketState] = useState<TicketState>('loading')
|
||||
|
||||
useEffect(() => {
|
||||
if (supabase) {
|
||||
supabase.auth.getSession().then(({ data: { session } }) => setSession(session))
|
||||
const {
|
||||
data: { subscription },
|
||||
} = supabase.auth.onAuthStateChange((_event, session) => {
|
||||
setSession(session)
|
||||
})
|
||||
|
||||
return () => subscription.unsubscribe()
|
||||
}
|
||||
}, [supabase])
|
||||
|
||||
useEffect(() => {
|
||||
if (session?.user) {
|
||||
if (userData?.id) {
|
||||
return setTicketState('ticket')
|
||||
}
|
||||
return setTicketState('loading')
|
||||
}
|
||||
if (!session) return setTicketState('registration')
|
||||
}, [session, userData])
|
||||
|
||||
return (
|
||||
<>
|
||||
<NextSeo
|
||||
title={TITLE}
|
||||
description={DESCRIPTION}
|
||||
openGraph={{
|
||||
title: TITLE,
|
||||
description: DESCRIPTION,
|
||||
url: LW_URL,
|
||||
images: [
|
||||
{
|
||||
url: OG_IMAGE,
|
||||
},
|
||||
],
|
||||
}}
|
||||
/>
|
||||
<ConfDataContext.Provider
|
||||
value={{
|
||||
supabase,
|
||||
session,
|
||||
userData,
|
||||
setUserData,
|
||||
ticketState,
|
||||
setTicketState,
|
||||
showCustomizationForm,
|
||||
setShowCustomizationForm,
|
||||
}}
|
||||
>
|
||||
<DefaultLayout>
|
||||
<MetalTicket username="Francesco Sansalvadore" />
|
||||
</DefaultLayout>
|
||||
</ConfDataContext.Provider>
|
||||
</>
|
||||
)
|
||||
}
|
||||
Reference in new issue
Block a user