Browse Source

bug-fixes for note preview and protected event OPs

imwald
Silberengel 4 months ago
parent
commit
c8bd38f158
  1. 4
      package-lock.json
  2. 2
      package.json
  3. 5
      src/components/PostEditor/PostContent.tsx
  4. 15
      src/components/PostEditor/PostTextarea/Preview.tsx

4
package-lock.json generated

@ -1,12 +1,12 @@
{ {
"name": "jumble-imwald", "name": "jumble-imwald",
"version": "13.5", "version": "13.6",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "jumble-imwald", "name": "jumble-imwald",
"version": "13.5", "version": "13.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@asciidoctor/core": "^3.0.4", "@asciidoctor/core": "^3.0.4",

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "jumble-imwald", "name": "jumble-imwald",
"version": "13.5", "version": "13.6",
"description": "A user-friendly Nostr client focused on relay feed browsing and relay discovery, forked from Jumble", "description": "A user-friendly Nostr client focused on relay feed browsing and relay discovery, forked from Jumble",
"private": true, "private": true,
"type": "module", "type": "module",

5
src/components/PostEditor/PostContent.tsx

@ -286,10 +286,13 @@ export default function PostContent({
quietDays quietDays
}) })
} else { } else {
// For regular kind 1 note OPs (no parentEvent), never use protectedEvent
// protectedEvent should only be used for public messages and discussions
const shouldUseProtectedEvent = parentEvent ? isProtectedEvent : false
draftEvent = await createShortTextNoteDraftEvent(cleanedText, mentions, { draftEvent = await createShortTextNoteDraftEvent(cleanedText, mentions, {
parentEvent, parentEvent,
addClientTag, addClientTag,
protectedEvent: isProtectedEvent, protectedEvent: shouldUseProtectedEvent,
isNsfw, isNsfw,
addExpirationTag, addExpirationTag,
expirationMonths, expirationMonths,

15
src/components/PostEditor/PostTextarea/Preview.tsx

@ -11,6 +11,7 @@ import { useMemo } from 'react'
import ContentPreview from '../../ContentPreview' import ContentPreview from '../../ContentPreview'
import Content from '../../Content' import Content from '../../Content'
import Highlight from '../../Note/Highlight' import Highlight from '../../Note/Highlight'
import MarkdownArticle from '../../Note/MarkdownArticle/MarkdownArticle'
import { HighlightData } from '../HighlightEditor' import { HighlightData } from '../HighlightEditor'
export default function Preview({ export default function Preview({
@ -139,6 +140,20 @@ export default function Preview({
) )
} }
// For kind 1 notes, use MarkdownArticle to match actual rendering
// This ensures preview matches the final result (no Links section, correct image placement, proper line breaks)
if (kind === kinds.ShortTextNote || kind === ExtendedKind.COMMENT || kind === ExtendedKind.VOICE_COMMENT) {
return (
<Card className={cn('p-3', className)}>
<MarkdownArticle
event={fakeEvent}
className="pointer-events-none"
hideMetadata={true}
/>
</Card>
)
}
return ( return (
<Card className={cn('p-3', className)}> <Card className={cn('p-3', className)}>
<Content <Content

Loading…
Cancel
Save