'use client' import { useEffect, useState } from 'react' import { Tab, TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/react' import clsx from 'clsx' import { BackgroundImage } from '@/components/BackgroundImage' import { Container } from '@/components/Container' const schedule = [ { date: 'April 4', dateTime: '2022-04-04', summary: 'The first day of the conference is focused on dark patterns for ecommerce.', timeSlots: [ { name: 'Steven McHail', description: 'Not so one-time payments', start: '9:00AM', end: '10:00AM', }, { name: 'Jaquelin Isch', description: 'The finer print', start: '10:00AM', end: '11:00AM', }, { name: 'Dianne Guilianelli', description: 'Post-purchase blackmail', start: '11:00AM', end: '12:00PM', }, { name: 'Lunch', description: null, start: '12:00PM', end: '1:00PM', }, { name: 'Ronni Cantadore', description: 'Buy or die', start: '1:00PM', end: '2:00PM', }, { name: 'Erhart Cockrin', description: 'In-person cancellation', start: '2:00PM', end: '3:00PM', }, { name: 'Parker Johnson', description: 'The pay/cancel switcheroo', start: '3:00PM', end: '4:00PM', }, ], }, { date: 'April 5', dateTime: '2022-04-05', summary: 'Next we spend the day talking about deceiving people with technology.', timeSlots: [ { name: 'Damaris Kimura', description: 'The invisible card reader', start: '9:00AM', end: '10:00AM', }, { name: 'Ibrahim Frasch', description: 'Stealing fingerprints', start: '10:00AM', end: '11:00AM', }, { name: 'Cathlene Burrage', description: 'Voting machines', start: '11:00AM', end: '12:00PM', }, { name: 'Lunch', description: null, start: '12:00PM', end: '1:00PM', }, { name: 'Rinaldo Beynon', description: 'Blackhat SEO that works', start: '1:00PM', end: '2:00PM', }, { name: 'Waylon Hyden', description: 'Turning your audience into a botnet', start: '2:00PM', end: '3:00PM', }, { name: 'Giordano Sagucio', description: 'Fly phishing', start: '3:00PM', end: '4:00PM', }, ], }, { date: 'April 6', dateTime: '2022-04-06', summary: 'We close out the event previewing new techniques that are still in development.', timeSlots: [ { name: 'Andrew Greene', description: 'Neuralink dark patterns', start: '9:00AM', end: '10:00AM', }, { name: 'Heather Terry', description: 'DALL-E for passports', start: '10:00AM', end: '11:00AM', }, { name: 'Piers Wilkins', description: 'Quantum password cracking', start: '11:00AM', end: '12:00PM', }, { name: 'Lunch', description: null, start: '12:00PM', end: '1:00PM', }, { name: 'Gordon Sanderson', description: 'SkyNet is coming', start: '1:00PM', end: '2:00PM', }, { name: 'Kimberly Parsons', description: 'Dark patterns for the metaverse', start: '2:00PM', end: '3:00PM', }, { name: 'Richard Astley', description: 'Knowing the game and playing it', start: '3:00PM', end: '4:00PM', }, ], }, ] function ScheduleTabbed() { let [tabOrientation, setTabOrientation] = useState('horizontal') useEffect(() => { let smMediaQuery = window.matchMedia('(min-width: 640px)') function onMediaQueryChange({ matches }) { setTabOrientation(matches ? 'vertical' : 'horizontal') } onMediaQueryChange(smMediaQuery) smMediaQuery.addEventListener('change', onMediaQueryChange) return () => { smMediaQuery.removeEventListener('change', onMediaQueryChange) } }, []) return ( {({ selectedIndex }) => ( <> {schedule.map((day, dayIndex) => (
{day.date} ), }} />
))} )}
{schedule.map((day) => ( ))}
) } function DaySummary({ day }) { return ( <>

{day.summary}

) } function TimeSlots({ day, className }) { return (
    {day.timeSlots.map((timeSlot, timeSlotIndex) => (
  1. {timeSlotIndex > 0 && (
    )}

    {timeSlot.name}

    {timeSlot.description && (

    {timeSlot.description}

    )}

    {' '} -{' '} {' '} PST

  2. ))}
) } function ScheduleStatic() { return (
{schedule.map((day) => (
))}
) } export function Schedule() { return (

Our three-day schedule is jam-packed with insightful sessions from industry leaders.

Each day is designed to immerse you in the latest trends, innovations, and opportunities in the metaverse, Web3, AI, and beyond.

From hands-on workshops to panel discussions and networking events, VerseFest 2024 offers something for everyone.

) }