'use client'; import { useState, useEffect, ReactElement } from 'react'; import { motion } from 'framer-motion'; import { MonorepoWorldIcon } from '@nx/nx-dev/ui-icons'; import { ButtonLink } from './button'; import { PlayIcon, XMarkIcon, ChatBubbleLeftRightIcon, } from '@heroicons/react/24/outline'; export function LiveStreamNotifier(): ReactElement | null { const [isMounted, setIsMounted] = useState(false); const [isVisible, setIsVisible] = useState(true); useEffect(() => { setIsMounted(true); const isClosedSession = localStorage.getItem('live-stream-notifier-closed'); if (isClosedSession === 'true') { setIsVisible(false); } }, []); const closeNotifier = (e: React.MouseEvent) => { e.stopPropagation(); setIsVisible(false); localStorage.setItem('live-stream-notifier-closed', 'true'); }; if (!isMounted || !isVisible) return null; return (

Watch the replays of exciting talks on developer tooling and monorepos! Catch all the insightful presentations from the event on our YouTube channel.

); }