diff --git a/apps/www/components/LaunchWeek/8/LW8CalloutsSection.tsx b/apps/www/components/LaunchWeek/8/LW8CalloutsSection.tsx new file mode 100644 index 00000000000..737d2a14a89 --- /dev/null +++ b/apps/www/components/LaunchWeek/8/LW8CalloutsSection.tsx @@ -0,0 +1,54 @@ +import React from 'react' +import SectionContainer from '../../Layouts/SectionContainer' +import { SmallCard } from '../8/Releases/components' +import Link from 'next/link' +import Image from 'next/image' + +const LW8CalloutsSection = () => { + return ( + +
+ + + +
+
+ Join us daily at Twitter Spaces + Next up: Monday – Opening Day +
+
+
+ +
+
+ +
+ + + +
+
+ LW8 Hackathon Aug 4 – Aug 13 + Read more about rules and prizes on the blog +
+
+
+ +
+
+ +
+
+
+ ) +} + +export default LW8CalloutsSection diff --git a/apps/www/components/LaunchWeek/8/Releases/components/index.tsx b/apps/www/components/LaunchWeek/8/Releases/components/index.tsx new file mode 100644 index 00000000000..58a6ab51863 --- /dev/null +++ b/apps/www/components/LaunchWeek/8/Releases/components/index.tsx @@ -0,0 +1,337 @@ +import { Badge } from 'ui' + +import Link from 'next/link' +import CountdownComponent from '../../Countdown' + +export const PencilSvg = () => ( + + + +) +export const DocsSvg = () => ( + + + +) +export const PlaySvg = () => ( + + + +) +export const GithubSvg = () => ( + + + +) +export const LinkSvg = () => ( + + + +) +export const ArrowTopRightSvg = () => ( + + + + +) +export const HackernewsSvg = () => ( + + + +) + +export const SmallCard = ({ className, children }: { className?: string; children: any }) => ( +
+
+ {children} +
+
+) + +export const StyledArticleBadge = ({ + className, + children, +}: { + className?: string + children: any +}) => ( +
+
+ + {children} + +
+
+
+) + +export const AccordionHeader = ({ + date, + day, + title, + shipped, + publishedAt, + shippable = true, +}: { + date: string + day: string + title: string + shipped?: boolean + publishedAt: string + shippable?: boolean +}) => { + return ( +
+
+ + {day} + {date && ( + + ・ {date} + + )} + +
+ {shippable && shipped && ( + + + Shipped + + + )} + {shipped && {title}} + {shippable && !shipped && ( + + + + + + + + + + )} +
+ ) +} +export const MultistepSectionHeader = ({ title, blog }: any) => { + return ( +
+
+ {title && {title}} + {!!blog && ( + + Blog post +
+ +
+
+ )} +
+
+ ) +} + +export const ChipLink = ({ + href, + uiOnly, + className, + target, + children, +}: { + href?: string + className?: string + uiOnly?: boolean + target?: '_blank' | '_self' | '_parent' | '_top' | 'framename' + children: any +}) => + uiOnly ? ( + + {children} + + ) : !!href ? ( + + + {children} + + + ) : null + +export const SectionButtons = ({ + blog, + docs, + video, + github, + url, + hackernews, + mobileGrid, +}: { + blog?: string + docs?: string + video?: string + github?: string + url?: string + hackernews?: string + mobileGrid?: boolean +}) => { + return ( +
+ {!!blog && ( + + Blog post +
+ +
+
+ )} + {!!docs && ( + + Docs +
+ +
+
+ )} + {!!video && ( + + Video +
+ +
+
+ )} + {!!github && ( + + Github +
+ +
+
+ )} + {!!url && ( + + Read +
+ +
+
+ )} + {hackernews && ( + + Hackernews +
+ +
+
+ )} +
+ ) +} + +export const CartTitle = ({ children }: { children: any }) => ( + + {children} +
+ +) + +export default { + AccordionHeader, + DocsSvg, + PencilSvg, + PlaySvg, + CartTitle, + ChipLink, + SectionButtons, + SmallCard, + StyledArticleBadge, +} diff --git a/apps/www/pages/launch-week/index.tsx b/apps/www/pages/launch-week/index.tsx index ba868c312e2..e9b4930eb22 100644 --- a/apps/www/pages/launch-week/index.tsx +++ b/apps/www/pages/launch-week/index.tsx @@ -17,6 +17,7 @@ import { useTheme } from 'common/Providers' import 'swiper/swiper.min.css' import Head from 'next/head' +import LW8CalloutsSection from '../../components/LaunchWeek/8/LW8CalloutsSection' const AnimatedParticles = dynamic( () => import('~/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas') @@ -165,6 +166,10 @@ export default function TicketHome({ users, meetups }: Props) {
+ + + +