archvillainette 004be9b038 Topbar unread drawer (#28)
Adds an Unread dropdown to the topbar utilities (before notifications), per docs/superpowers/plans/2026-07-17-topbar-unread-drawer.md.

- New partial `templates/partials/header/unread-drawer.tpl`: toggle with live `component="unread/count"` badge (core socket updates), server-rendered empty/footer rows.
- `public/client.js`: on dropdown open, fetches `GET /api/unread` and injects up to 10 topic rows (titles/categories via textContent only); fetch failure falls back to the empty state.
- Mobile burger drawer gets an Unread row with the same badge.
- SCSS: unread dropdown joins the shared dropdown width rule; flex row styles for topic items.

Deviations from the plan's example code, found by live verification against the dev forum:
- Plan's `api.get('/unread')` hits the v3 write API and 404s → replaced with a fetch of the `/api/unread` read route.
- NodeBB 4 has no global `window.require`, so runtime translation of the static `[[unread:...]]` strings never ran → those strings are now server-rendered in the template (also removes the plan's translate-over-innerHTML step, which would have re-parsed untrusted titles as HTML).

Verified: full plain-node test suite passes; Playwright against the dev container passed all checks (badge count, item ordering before notifications, dropdown topic links + navigation, /unread footer link, mobile drawer badge at 390px).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #28
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-17 16:43:12 +00:00
2026-07-16 22:12:56 +00:00
2026-07-11 14:18:22 +00:00
2026-07-17 16:43:12 +00:00
2026-07-17 16:43:12 +00:00
2026-07-17 16:43:12 +00:00
2026-07-17 16:43:12 +00:00
2026-07-12 12:06:30 +00:00
2021-12-04 13:38:04 -05:00
2026-07-11 14:18:22 +00:00
2026-06-07 09:53:02 +02:00
2026-04-22 14:40:59 +02:00
2026-06-25 06:55:16 +00:00
2026-07-11 14:18:22 +00:00
2026-04-21 08:38:51 +02:00
2026-04-22 12:05:47 +02:00
2026-05-24 11:15:48 +02:00

Quickstart Theme for NodeBB

Also, add a screenshot! Take a picture of your theme, and save it as "screenshot.png" in the root of your theme folder, then add this to theme.json:

"screenshot": "screenshot.png"

Credits

Material theme by pichalite.

S
Description
NodeBB: Our custom website theme.
Readme GPL-3.0
34 MiB
Languages
SCSS 31.7%
HTML 30.4%
JavaScript 22.6%
Go Template 15.3%