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' import Title from './Title' export default function PostEditor({ defaultContent = '', parentEvent, open, setOpen, openFrom }: { defaultContent?: string parentEvent?: Event open: boolean setOpen: Dispatch openFrom?: string[] }) { const { isSmallScreen } = useScreenSize() const content = useMemo(() => { return ( setOpen(false)} openFrom={openFrom} /> ) }, []) if (isSmallScreen) { return ( { if (postEditor.isSuggestionPopupOpen) { e.preventDefault() postEditor.closeSuggestionPopup() } }} >
</SheetTitle> <SheetDescription className="hidden" /> </SheetHeader> {content} </div> </ScrollArea> </SheetContent> </Sheet> ) } return ( <Dialog open={open} onOpenChange={setOpen}> <DialogContent className="p-0 max-w-2xl" withoutClose onEscapeKeyDown={(e) => { if (postEditor.isSuggestionPopupOpen) { e.preventDefault() postEditor.closeSuggestionPopup() } }} > <ScrollArea className="px-4 h-full max-h-screen"> <div className="space-y-4 px-2 py-6"> <DialogHeader> <DialogTitle> <Title parentEvent={parentEvent} /> </DialogTitle> <DialogDescription className="hidden" /> </DialogHeader> {content} </div> </ScrollArea> </DialogContent> </Dialog> ) }