Browse Source

bug-fix

imwald
Silberengel 1 week ago
parent
commit
d267f731d3
  1. 3
      src/components/NoteOptions/EditOrCloneEventDialog.tsx
  2. 17
      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,

17
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(
useSavedLabBody
? {
kind: saved.kind, kind: saved.kind,
content: saved.content, content: saved.content,
tags: stripImwaldAttributionTags(saved.tags).map((row: string[]) => [...row]) tags: stripImwaldAttributionTags(saved.tags).map((row: string[]) => [...row])
}) }
} else { : {
setAdvancedLabInitial({
kind: d.kind, kind: d.kind,
content: d.content, content: d.content,
tags: stripImwaldAttributionTags(d.tags ?? []).map((row: string[]) => [...row]) 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