import { useEffect, useRef } from 'react' import clsx from 'clsx' import Link from 'next/link' import { announcement, useAnnouncements, } from '@/components/announcement-banner/AnnouncementBannerProvider' import { useCustomQueryURL } from '@/hooks/useCustomQueryURL' function ArrowRightIcon(props) { return ( ) } function CloseIcon(props) { return ( ) } export function AnnouncementBanner() { let { isVisible, close, reportHeight } = useAnnouncements() let announcementLink = useCustomQueryURL(announcement.link || '') let bannerRef = useRef(null) useEffect(() => { if (!isVisible) { reportHeight(0) return } function updateHeight() { if (bannerRef.current) { reportHeight(bannerRef.current.offsetHeight || 0) } else { reportHeight(0) } } updateHeight() window.addEventListener('resize', updateHeight) return () => { window.removeEventListener('resize', updateHeight) } }, [isVisible, reportHeight]) if (!isVisible) { return null } return (
{announcement.tag ? (
{announcement.tag}
) : null} {announcement.text} {announcement.link ? ( {announcement.linkText} ) : null}
{announcement.closeable ? ( ) : null}
) }