import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog' import { ScrollArea } from '@/components/ui/scroll-area' import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet' import { useScreenSize } from '@/providers/ScreenSizeProvider' import postEditor from '@/services/post-editor.service' import { Event } from 'nostr-tools' import { Dispatch, useMemo } from 'react' import PostContent from './PostContent' export default function PostEditor({ defaultContent = '', parentEvent, open, setOpen, openFrom, initialHighlightData }: { defaultContent?: string parentEvent?: Event open: boolean setOpen: Dispatch openFrom?: string[] initialHighlightData?: import('./HighlightEditor').HighlightData }) { const { isSmallScreen } = useScreenSize() // If initialHighlightData is provided and we're creating a highlight from an event, // we need to pass the event content as defaultContent for the main editor // Note: This is handled separately - we'll pass the event content when opening from menu const effectiveDefaultContent = defaultContent const content = useMemo(() => { return ( setOpen(false)} openFrom={openFrom} initialHighlightData={initialHighlightData} /> ) }, [effectiveDefaultContent, parentEvent, openFrom, setOpen, initialHighlightData]) if (isSmallScreen) { return ( { if (postEditor.isSuggestionPopupOpen) { e.preventDefault() postEditor.closeSuggestionPopup() } }} >
Post Editor Create a new post or reply {content}
) } return ( { if (postEditor.isSuggestionPopupOpen) { e.preventDefault() postEditor.closeSuggestionPopup() } }} >
Post Editor Create a new post or reply {content}
) }