Review: Port note detail (pal-e-app#71)

review-473-2026-03-27 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] All 11 required sections present.

Traceability

  • [x] story:reader-browse — [x] arch:frontend — [x] Forgejo issue pal-e-app#71, open

File Targets

  • [x] src/routes/notes/[slug]/+page.svelte — EXISTS. Renders via NoteLayout with blocks, TOC, child notes, parent breadcrumb.
  • [ ] src/routes/notes/[slug]/+page.ts — DOES NOT EXIST. Wrong file target.

Dependencies

  • #68 resolved.
  • Ticket says "Reuse existing BlockRenderer" — component is actually NoteLayout.svelte at src/lib/components/NoteLayout.svelte. Block rendering in src/lib/components/blocks/. Name "BlockRenderer" does not exist as a component.

Acceptance Criteria

4 criteria, testable. "All block types render via existing BlockRenderer" — wrong component name.

Blast Radius

  • Note detail has board redirect: note_type === 'board' sends to /boards/{slug}. Must preserve.
  • /notes/[slug]/edit links back to detail. Must not break edit flow.

Recommendation

  • Remove +page.ts from file targets.
  • Fix component name: "BlockRenderer" should be "NoteLayout" ($lib/components/NoteLayout.svelte) + block components from $lib/components/blocks/.
  • Add constraint: preserve note_type === 'board' redirect.