Topbar unread drawer #28

Merged
archvillainette merged 8 commits from feat/topbar-unread-drawer into main 2026-07-17 16:43:12 +00:00
8 Commits
Author SHA1 Message Date
archvillainette e84599d4f9 fix: server-render unread drawer static strings
window.require is undefined in the NodeBB 4 webpack client build, so the
translateText helper never ran and unread drawer strings rendered as raw
[[unread:title]] / [[unread:no-unread-topics]]. Move the static strings into
the benchpress template (translated at render time) and have client.js only
manage the topic <li> rows.
2026-07-17 18:31:43 +02:00
archvillainette 070871c692 fix: fetch /api/unread read route for topbar drawer
require(['api']).api.get() targets NodeBB's v3 write API and 404s on
/api/v3/unread. Use a plain fetch against the read route /api/unread instead.
2026-07-17 18:28:32 +02:00
archvillainette c155437557 feat: style topbar unread dropdown rows 2026-07-17 18:19:36 +02:00
archvillainette 6dca9b61b1 fix: translate only static strings in unread drawer menu
Translating menuEl.innerHTML re-serialized untrusted topic titles into
HTML and reinjected them via innerHTML. Translate only the two static
placeholder strings ([[unread:no-unread-topics]], [[unread:title]])
via a small textContent-based helper instead.
2026-07-17 18:17:30 +02:00
archvillainette d84b264150 feat: load unread topics into topbar drawer on open 2026-07-17 18:13:54 +02:00
archvillainette 65069ddebd feat: add unread drawer button to topbar 2026-07-17 18:10:41 +02:00
archvillainetteandClaude Fable 5 e953e15c9d docs: topbar unread drawer implementation plan
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 17:28:23 +02:00
archvillainetteandClaude Fable 5 47d49b0490 docs: topbar unread drawer design spec
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 17:15:52 +02:00