diff --git a/apps/legacy_nmit/components/GlobalModal.tsx b/apps/legacy_nmit/components/GlobalModal.tsx new file mode 100644 index 00000000..19b0523e --- /dev/null +++ b/apps/legacy_nmit/components/GlobalModal.tsx @@ -0,0 +1,68 @@ +import { useRouter } from 'next/router' +import { useState, useEffect } from 'react' +import * as Dialog from '@radix-ui/react-dialog' +import { XMarkIcon } from '@heroicons/react/24/outline' +import { Button } from './Button' + +const MODAL_COOKIE_KEY = 'global_modal_closed' + +export function GlobalModal() { + const [isOpen, setIsOpen] = useState(false) + const router = useRouter() + + useEffect(() => { + const hasClosedModal = document.cookie + .split('; ') + .find(row => row.startsWith(MODAL_COOKIE_KEY)) + ?.split('=')[1] + + if (!hasClosedModal) { + setIsOpen(true) + } + }, []) + + useEffect(() => { + if (router.asPath.startsWith("/kurz-ai")) { + setTimeout(handleClose, 500) + } + }, [router.asPath]) + + const handleChange = (isOpen: boolean) => { + if (isOpen) { + setIsOpen(isOpen) + } else { + handleClose() + } + } + + const handleClose = () => { + // Set cookie to expire in 1 year + document.cookie = `${MODAL_COOKIE_KEY}=true; path=/; max-age=${60 * 60 * 24 * 365}; SameSite=Lax` + setIsOpen(false) + } + + return ( + + + + + + + + + AI Kurz + + +
+

+