From 232d09db8672a0f1776aeabae7f572ed7b1ef71a Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Tue, 4 Apr 2023 11:22:17 +0200 Subject: [PATCH 1/6] chore: lw7 countdown announcement banner --- .../LaunchWeek/Banners/CountdownBanner.tsx | 71 +++++++++++++++++++ apps/www/components/Layouts/Default.tsx | 2 + apps/www/components/Nav/Announcement.tsx | 54 +++++--------- apps/www/components/Nav/index.tsx | 5 +- apps/www/data/Announcement.json | 6 +- apps/www/package.json | 1 + apps/www/pages/launch-week/index.tsx | 4 +- .../pages/launch-week/tickets/[username].tsx | 2 +- apps/www/pages/launch-week/tickets/index.tsx | 2 +- package-lock.json | 22 ++++++ 10 files changed, 124 insertions(+), 45 deletions(-) create mode 100644 apps/www/components/LaunchWeek/Banners/CountdownBanner.tsx diff --git a/apps/www/components/LaunchWeek/Banners/CountdownBanner.tsx b/apps/www/components/LaunchWeek/Banners/CountdownBanner.tsx new file mode 100644 index 00000000000..ce89ec931ab --- /dev/null +++ b/apps/www/components/LaunchWeek/Banners/CountdownBanner.tsx @@ -0,0 +1,71 @@ +import React from 'react' +import Link from 'next/link' +import Countdown from 'react-countdown' + +interface CountdownStepProps { + value: string | number + unit: string +} + +function CountdownStep({ value, unit }: CountdownStepProps) { + return ( +
+
+ {value} + {unit} +
+
+ ) +} + +function CountdownBanner() { + const LW7_DATE = '2023-04-10T07:00:00.000-04:00' + + const renderer = ({ days, hours, minutes, seconds, completed }: any) => { + if (completed) { + // Render a completed state + return ( +
+

Supabase Launch Week 7

+
+ + + Now live + + +
+
+ ) + } else { + // Render a countdown + return ( +
+

+ Supabase Launch Week 7 +

+
+ : + : + : + +
+
+ + + Get your ticket + + +
+
+ ) + } + } + + return ( +
+ +
+ ) +} + +export default CountdownBanner diff --git a/apps/www/components/Layouts/Default.tsx b/apps/www/components/Layouts/Default.tsx index f960816a169..74e60591855 100644 --- a/apps/www/components/Layouts/Default.tsx +++ b/apps/www/components/Layouts/Default.tsx @@ -1,6 +1,7 @@ import { useEffect } from 'react' import Nav from 'components/Nav/index' import Footer from 'components/Footer/index' +import CountdownBanner from '../LaunchWeek/Banners/CountdownBanner' type Props = { hideHeader?: boolean @@ -23,6 +24,7 @@ const DefaultLayout = (props: Props) => { return ( <> + {/* */} {!hideHeader &&