-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
When a fragment reference is inserted in the editor (via /fragment command or toolbar), it currently shows only a placeholder like "Fragment: password-vault-master-password". Users would benefit from seeing an actual preview of the fragment content.
Current Behavior
┌─────────────────────────────────────────┐
│ FRAGMENT • EN `fragment-id` │
│ Fragment: password-vault-master-password│
└─────────────────────────────────────────┘
Desired Behavior
┌─────────────────────────────────────────┐
│ FRAGMENT • EN `fragment-id` │
│ ┌─────────────────────────────────────┐ │
│ │ [Actual diagram SVG or text │ │
│ │ content rendered inline] │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────┘
Technical Notes
The fragment-reference.ts extension already has infrastructure for this:
previewattribute to store preview contentonFragmentLoadcallback option (not wired up)- Rendering logic that displays preview when available (lines 94-95)
Implementation Approach
- Create API endpoint
/api/fragments/[id]/previewto return fragment content - Wire up
onFragmentLoadcallback increateEditor() - Call preview API when:
- Fragment reference is inserted
- Editor loads with existing fragment references
- For diagram fragments: fetch SVG from R2 and display inline
- For text fragments: show truncated content preview
- Add loading state indicator
Files to Modify
src/lib/editor/editor.ts- PassonFragmentLoadto extensionsrc/lib/editor/extensions/fragment-reference.ts- May need NodeView for async loadingsrc/routes/api/fragments/[id]/preview/+server.ts- New endpointsrc/lib/components/editor/HanawaEditor.svelte- Pass preview loader
Related
- Fragment reference extension:
src/lib/editor/extensions/fragment-reference.ts - HanawaEditor component:
src/lib/components/editor/HanawaEditor.svelte
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request