ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

Janady13/llms-txt-hub / apps/web/components/newsletter-modal.tsx

Source identity, revision, and recovered contents.

GitHub sourceSource text recovered

Source identity

FieldRecorded value
Source typeGitHub source
Original recordJanady13/llms-txt-hub / apps/web/components/newsletter-modal.tsx
DateNot specified in source
RepositoryJanady13/llms-txt-hub
Revisione0f4bf978d4df168369c7601d9c5f5ea89e84377
Branchmain
Path or archive memberapps/web/components/newsletter-modal.tsx
Original SHA-256a8f469b20d0699df4c447c5d1a131fc0b3315a229e61b66eabab40535f1dcded
Git blob SHAfab54ac15e73ed69509857497935fedf04d95046
Reading-copy SHA-256a8f469b20d0699df4c447c5d1a131fc0b3315a229e61b66eabab40535f1dcded

Original source ↗

Recovered source transcript

'use client' import { X } from 'lucide-react' import { useEffect } from 'react' import { SubstackEmbed } from './substack-embed' type NewsletterModalProps = { isOpen: boolean onClose: () => void } export function NewsletterModal({ isOpen, onClose }: NewsletterModalProps) { useEffect(() => { if (!isOpen) return const handleKeyDown = (event: KeyboardEvent) => { if (event.key === 'Escape') { onClose() } } // Lock scroll when modal opens const originalOverflow = document.body.style.overflow document.body.style.overflow = 'hidden' window.addEventListener('keydown', handleKeyDown) return () => { window.removeEventListener('keydown', handleKeyDown) document.body.style.overflow = originalOverflow } }, [isOpen, onClose]) if (!isOpen) return null return ( <div className="fixed inset-0 z-50 flex items-center justify-center"> {/* Backdrop */} <button type="button" aria-label="Close modal" className="fixed inset-0 bg-background/80 backdrop-blur-sm" onClick={onClose} /> {/* Modal Content */} <div className="relative bg-white dark:bg-black rounded-lg border border-gray-200 dark:border-zinc-800 shadow-lg w-full max-w-[500px] mx-4"> <div className="flex items-center justify-between p-6 border-b border-gray-200 dark:border-zinc-800"> <h2 className="text-lg font-semibold text-gray-900 dark:text-white">Newsletter</h2> <button type="button" onClick={onClose} className="rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-gray-500 dark:text-gray-400" > <X className="h-4 w-4" /> <span className="sr-only">Close</span> </button> </div> <div className="p-6"> <p className="text-sm text-gray-600 dark:text-gray-300 mb-6"> Subscribe to our Substack newsletter to stay updated and be the first to know when we update the website! </p> <div className="flex justify-center"> <SubstackEmbed /> </div> </div> </div> </div> ) }

Search equations, builds, manuscript text, and recovered sources.