Kommentare fest inline im Lesemodus (Slide-in-Panel ablösen) #133
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#133
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
Kommentare werden derzeit nicht im Lesefluss angezeigt, sondern nur über ein ein-/ausblendbares Slide-in-Panel (Icon in der Kopfleiste). Sie sollen im Lesemodus fest inline erscheinen — unterhalb der Backlinks und oberhalb des lokalen Graphen. Anzeige und Eingabe erfolgen an dieser Stelle. Das Slide-in-Panel und sein Kopfleisten-Toggle entfallen.
Reihenfolge im Lesemodus: Artikel → Backlinks → Kommentare → Lokaler Graph.
Bestand (wiederverwenden, nicht neu bauen)
apps/web/src/comments/CommentsPanel.tsx(Threads, Reply-Composer, Edit/Delete, Resolve) +apps/web/src/comments/use-comments.ts(useComments,unreadCount,markCommentsSeen).apps/api/src/comments/*, Shared-Typenpackages/shared/src/comments.ts(PageCommentsView), MCPadd_comment.Umsetzung
apps/web/src/comments/CommentsSection.tsx, die die Darstellungs-/Composer-Logik ausCommentsPanel.tsxwiederverwendet (Panel-Chrome/Slide-in weglassen). Gemeinsame Teile ggf. ausCommentsPanelherauslösen statt duplizieren.apps/web/src/pages/PageEditorPage.tsxdie Sektion zwischen derBacklinksPanel-Zeile (~L555) und derLocalGraphPanel-Zeile (~L556) als weiteresmode === 'view'-Geschwisterelement einhängen.CommentsPanel-Mount inPageEditorPage(~L277-279),showComments-State/Deep-Link-Logik sowie das Comments-Icon inapps/web/src/pages/PageActions.tsxausbauen. Deep-Link?comments=1(aus Benachrichtigungen) weiterhin unterstützen → zur Inline-Sektion scrollen statt Panel öffnen;markCommentsSeenbeim Sichtbarwerden.apps/web/src/pages/PublicPageView.tsxvorhandene Kommentare nur lesend anzeigen.GET /pages/:id/commentsverlangt@RequiresPagePermission('read')→ für öffentliche Teiche einen anonymen@Public-Lese-Endpoint ergänzen (apps/api/src/public/…, Slug-basiert wie/api/v1/public/:pond/:page/…), derPageCommentsViewliefert. Kein anonymes Schreiben.apps/web/src/styles/base.css(Abstände analog Backlinks/Graph).apps/web/e2e/comments.spec.tsanpassen (Panel-Selektoren → Inline-Sektion) + Public-Read-Sichtbarkeit ergänzen.Akzeptanzkriterien
?comments=1scrollt zur Inline-Sektion./public/…-Ansicht zeigt vorhandene Kommentare read-only, erlaubt kein Schreiben.pnpm lint+ betroffene CI-Packs grün.Umgesetzt in
f014a61(+ Test-Typfixa84e988): Kommentare erscheinen fest inline im Lesemodus zwischen Backlinks und lokalem Graph — Anzeige und Eingabe.CommentsPanel→CommentsSection(+ Read-only-VariantePublicComments), Slide-in-Panel, Kopfleisten-Toggle und Unread-Badge entfernt; Schreibrecht wird peronWriteAccessaus dem inneren PageEditor hochgereicht;?comments=1scrollt zur Sektion. Neuer anonymer EndpointGET /public/:pond/:page/comments(@Public, read-only, 404-Semantik wie content).Verifiziert: DB-Tests (public + comments) grün; live auf Test/Int in angemeldeter (Composer) und öffentlicher Ansicht (read-only). Deployt bis
60be198, von Stefan abgenommen.