Browse Source

bug-fix

imwald
Silberengel 1 week ago
parent
commit
d267f731d3
  1. 3
      src/components/NoteOptions/EditOrCloneEventDialog.tsx
  2. 31
      src/components/PostEditor/PostContent.tsx
  3. 7
      src/components/PostEditor/PostTextarea/index.tsx

3
src/components/NoteOptions/EditOrCloneEventDialog.tsx

@ -377,7 +377,8 @@ export default function EditOrCloneEventDialog(props: EditOrCloneEventDialogProp
const k = isCreate ? parsedCreateKind! : sourceEvent!.kind const k = isCreate ? parsedCreateKind! : sourceEvent!.kind
const key = advancedLabDraftPersistenceKey const key = advancedLabDraftPersistenceKey
const saved = key ? postEditorCache.getAdvancedLabDraft(key) : undefined const saved = key ? postEditorCache.getAdvancedLabDraft(key) : undefined
if (saved && saved.kind === k) { const useSavedLabBody = !content.trim() && saved && saved.kind === k
if (useSavedLabBody) {
setAdvancedLabInitial({ setAdvancedLabInitial({
kind: saved.kind, kind: saved.kind,
content: saved.content, content: saved.content,

31
src/components/PostEditor/PostContent.tsx

@ -1361,21 +1361,22 @@ export default function PostContent({
const body = textareaRef.current?.getText() ?? text const body = textareaRef.current?.getText() ?? text
const cleanedText = rewritePlainTextHttpUrls(body) const cleanedText = rewritePlainTextHttpUrls(body)
let d = await finalizeDraftEvent(cleanedText) let d = await finalizeDraftEvent(cleanedText)
const labKey = advancedLabPersistenceKey const saved = postEditorCache.getAdvancedLabDraft(advancedLabPersistenceKey)
const saved = postEditorCache.getAdvancedLabDraft(labKey) // Prefer live composer text; only restore a persisted lab body when the composer is empty.
if (saved && saved.kind === d.kind) { const useSavedLabBody = !d.content.trim() && saved && saved.kind === d.kind
setAdvancedLabInitial({ setAdvancedLabInitial(
kind: saved.kind, useSavedLabBody
content: saved.content, ? {
tags: stripImwaldAttributionTags(saved.tags).map((row: string[]) => [...row]) kind: saved.kind,
}) content: saved.content,
} else { tags: stripImwaldAttributionTags(saved.tags).map((row: string[]) => [...row])
setAdvancedLabInitial({ }
kind: d.kind, : {
content: d.content, kind: d.kind,
tags: stripImwaldAttributionTags(d.tags ?? []).map((row: string[]) => [...row]) content: d.content,
}) tags: stripImwaldAttributionTags(d.tags ?? []).map((row: string[]) => [...row])
} }
)
setAdvancedLabOpen(true) setAdvancedLabOpen(true)
} catch (e) { } catch (e) {
toast.error(e instanceof Error ? e.message : String(e)) toast.error(e instanceof Error ? e.message : String(e))

7
src/components/PostEditor/PostTextarea/index.tsx

@ -1,3 +1,4 @@
import { ExtendedKind } from '@/constants'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { parseEditorJsonToText, plainTextToTipTapDoc } from '@/lib/tiptap' import { parseEditorJsonToText, plainTextToTipTapDoc } from '@/lib/tiptap'
import { cn } from '@/lib/utils' import { cn } from '@/lib/utils'
@ -159,7 +160,11 @@ const PostTextarea = forwardRef<
}, [setText, text]) }, [setText, text])
const previewSurfaceClass = cn( const previewSurfaceClass = cn(
isSmallScreen ? 'min-h-[min(36dvh,17rem)]' : 'min-h-52' kind === ExtendedKind.POLL
? 'min-h-20'
: isSmallScreen
? 'min-h-[min(36dvh,17rem)]'
: 'min-h-52'
) )
const kindDescription = useMemo(() => getKindDescription(kind), [kind]) const kindDescription = useMemo(() => getKindDescription(kind), [kind])

Loading…
Cancel
Save