Fable-Review P1: 3 byteidentische AccountBar.tsx auf gemeinsame shl-Komponente umgestellt, duenne App-lokale Wrapper wegen RSC-Props-Grenze (Funktionen koennen nicht von layout.tsx an Client Component gereicht werden). next build + vitest gruen auf allen 3 Apps.
Fable-Review P1: 3 byteidentische AccountBar.tsx auf gemeinsame shl-Komponente umgestellt, duenne App-lokale Wrapper wegen RSC-Props-Grenze (Funktionen koennen nicht von layout.tsx an Client Component gereicht werden). next build + vitest gruen auf allen 3 Apps.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Fable-Review auf Code-Dopplung (P1). web/dms-browser, web/dms-upload,
web/pdf-viewer hatten byteidentische components/AccountBar.tsx. Darstellung
jetzt einmal in web/shl/components/AccountBar.tsx (visible/onLogout als
Props). Die drei App-lokalen Dateien bleiben als duenne 10-Zeilen-Wrapper
bestehen (loesen authMode()/getSession() aus dem jeweils eigenen,
unterschiedlichen lib/http.ts auf) statt komplett zu verschwinden --
direktes Reichen der onLogout-Funktion von layout.tsx (Server Component)
an die shl-Komponente verletzt sonst die RSC-Props-Grenze ("Event handlers
cannot be passed to Client Component props"), erst beim Build entdeckt
und korrigiert.
next build + npx vitest run auf allen 3 Apps gruen (Testhost 131).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fable-Review P1: 3 byteidentische AccountBar.tsx auf gemeinsame shl-Komponente umgestellt, duenne App-lokale Wrapper wegen RSC-Props-Grenze (Funktionen koennen nicht von layout.tsx an Client Component gereicht werden). next build + vitest gruen auf allen 3 Apps.
🤖 Generated with Claude Code
Fable-Review auf Code-Dopplung (P1). web/dms-browser, web/dms-upload, web/pdf-viewer hatten byteidentische components/AccountBar.tsx. Darstellung jetzt einmal in web/shl/components/AccountBar.tsx (visible/onLogout als Props). Die drei App-lokalen Dateien bleiben als duenne 10-Zeilen-Wrapper bestehen (loesen authMode()/getSession() aus dem jeweils eigenen, unterschiedlichen lib/http.ts auf) statt komplett zu verschwinden -- direktes Reichen der onLogout-Funktion von layout.tsx (Server Component) an die shl-Komponente verletzt sonst die RSC-Props-Grenze ("Event handlers cannot be passed to Client Component props"), erst beim Build entdeckt und korrigiert. next build + npx vitest run auf allen 3 Apps gruen (Testhost 131). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>