refactor: post editor
This commit is contained in:
parent
3d06421acb
commit
78725d1e88
31 changed files with 1603 additions and 766 deletions
|
|
@ -14,9 +14,11 @@ import {
|
|||
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 NormalPostContent from './NormalPostContent'
|
||||
import PostContent from './PostContent'
|
||||
import { PostEditorProvider } from './PostEditorProvider'
|
||||
import Title from './Title'
|
||||
|
||||
export default function PostEditor({
|
||||
|
|
@ -34,18 +36,30 @@ export default function PostEditor({
|
|||
|
||||
const content = useMemo(() => {
|
||||
return (
|
||||
<NormalPostContent
|
||||
defaultContent={defaultContent}
|
||||
parentEvent={parentEvent}
|
||||
close={() => setOpen(false)}
|
||||
/>
|
||||
<PostEditorProvider>
|
||||
<PostContent
|
||||
defaultContent={defaultContent}
|
||||
parentEvent={parentEvent}
|
||||
close={() => setOpen(false)}
|
||||
/>
|
||||
</PostEditorProvider>
|
||||
)
|
||||
}, [])
|
||||
|
||||
if (isSmallScreen) {
|
||||
return (
|
||||
<Sheet open={open} onOpenChange={setOpen}>
|
||||
<SheetContent className="h-full w-full p-0 border-none" side="bottom" hideClose>
|
||||
<SheetContent
|
||||
className="h-full w-full p-0 border-none"
|
||||
side="bottom"
|
||||
hideClose
|
||||
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">
|
||||
<SheetHeader>
|
||||
|
|
@ -64,7 +78,16 @@ export default function PostEditor({
|
|||
|
||||
return (
|
||||
<Dialog open={open} onOpenChange={setOpen}>
|
||||
<DialogContent className="p-0 max-w-2xl" withoutClose>
|
||||
<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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue