import Image from 'next/image'
import { useState } from 'react'
import { PlayIcon, TruckIcon, XIcon } from '@heroicons/react/outline'
import { Badge, Modal } from 'ui'
import { Article, Product, WeekDayProps } from '../../types'
import _days from './../days.json'
import ArticleButtonListItem from './ArticleButtonListItem'
import ProductButtonListItem from './ProductButtonListItem'
const days = _days as WeekDayProps[]
export const LaunchSection = (props: WeekDayProps) => {
const lastIndex = props.index === days.length - 1
const nextDayNotShipped = props.shipped && !days[props.index + 1]?.shipped
const [videoVisible, setVideoVisible] = useState(false)
interface ClassNameComponent {
className?: string
}
const Header = ({ className }: ClassNameComponent) => (
{/* START timeline dot */}
{/* END timeline dot */}
{props.date}
{props.shipped ? (
) : (
Not shipped yet
)}
{props.shipped ? props.title : props.dd + ' 08:00 PT | 11:00 ET'}
{props.shipped &&
{props.description}
}
)
const TimelineLine = ({ className }: ClassNameComponent) => {
return (
<>
{/* START timeline line */}
{props.index !== days.length - 1 && (
)}
{/* END timeline line */}
>
)
}
return (
{props.shippingHasStarted ? (
{!props.shipped ? (
) : (
<>
setVideoVisible(true)}
className="absolute top-0 left-0 flex h-full w-full items-center justify-center"
>
setVideoVisible(false)}
hideFooter
header={
{props.title}
setVideoVisible(false)}
/>
}
>
>
)}
) : (
)}
{props.shipped && (
{props.articles &&
props.articles.map((article: Article, index) => (
{article.products && (
<>
{/* border */}
New releases
{article.products &&
article.products.map((product: Product, index) => (
))}
>
)}
))}
)}
)
}
export default LaunchSection