feat: render notes like articles with markdown processing

- Change useEventLoader to set markdown instead of html
- Notes now get proper markdown processing and rendering similar to articles
- Use markdown comments for event metadata instead of HTML
- This enables proper styling and markdown features for note display
This commit is contained in:
Gigi
2025-10-22 00:28:29 +02:00
parent a5bdde68fc
commit e83d4dbcdb

View File

@@ -25,16 +25,12 @@ export function useEventLoader({
setIsCollapsed setIsCollapsed
}: UseEventLoaderProps) { }: UseEventLoaderProps) {
const displayEvent = useCallback((event: NostrEvent) => { const displayEvent = useCallback((event: NostrEvent) => {
// Format event HTML for display with metadata // Format event metadata as markdown comments for display
const metaHtml = `<div style="opacity: 0.6; font-size: 0.9em; margin-bottom: 1rem; border-bottom: 1px solid var(--color-border); padding-bottom: 0.5rem;"> const metaMarkdown = `<!-- Event ID: ${event.id.slice(0, 16)}... Posted: ${new Date(event.created_at * 1000).toLocaleString()} Kind: ${event.kind} -->`
<div>Event ID: <code>${event.id.slice(0, 16)}...</code></div>
<div>Posted: ${new Date(event.created_at * 1000).toLocaleString()}</div>
<div>Kind: ${event.kind}</div>
</div>`
const content: ReadableContent = { const content: ReadableContent = {
url: '', url: `nostr:${event.id}`,
html: metaHtml + event.content, markdown: metaMarkdown + '\n\n' + event.content,
title: `Note (${event.kind})` title: `Note (${event.kind})`
} }
setReaderContent(content) setReaderContent(content)
@@ -76,7 +72,7 @@ export function useEventLoader({
console.error('Error fetching event:', err) console.error('Error fetching event:', err)
const errorContent: ReadableContent = { const errorContent: ReadableContent = {
url: '', url: '',
html: `Error loading event: ${err instanceof Error ? err.message : 'Unknown error'}`, markdown: `Error loading event: ${err instanceof Error ? err.message : 'Unknown error'}`,
title: 'Error' title: 'Error'
} }
setReaderContent(errorContent) setReaderContent(errorContent)