- Token sweep: exact-value gold literals now use --wg-border /
--wg-border-soft / --wg-focus
- Topbar: drop invalid role="menuitem" (no parent role="menu")
- topics_list: topic-select icons get role="checkbox", tabindex,
aria-label; client.js makes them keyboard-operable and syncs
aria-checked
- category.tpl: copy-handle link gets an accessible name, "View
Original" moved to i18n, external-link icon aria-hidden, stretched
link inside aria-hidden alert removed from tab order
- Footer: all copy moved to [[westgate:footer.*]] keys; year injected
via filter:middleware.renderFooter instead of hard-coded 2026
- client.js: batch table measurements before writes (no interleaved
reflow), .catch on the category class map so search results never
hang, category selector match uses fw-bold class instead of inline
style
- Forced-colors focus fallback: transparent outline alongside the
box-shadow focus ring
- DESIGN.md: real radius scale (3/4/6/8px), code-block palette,
motion & modes section, placeholder alpha
Verified against the sow-nodebb dev container: themed code blocks
render in posts, footer i18n + year, checkbox roles in served HTML.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Dark velvet pre/code styling + Westgate hljs syntax palette for post
content and composer preview (markdown plugin's light hljs theme was
rendering white blocks)
- Visible focus ring on mobile drawer search (was outline: 0 with no
replacement)
- Placeholder contrast raised to pass 4.5:1; tagsinput placeholder now
reuses the token instead of $gray-500
- prefers-reduced-motion block zeroing transitions/animations
- Fix stray </li> closing a <div> in quick-search-results.tpl
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Replaces the diagonal plum/velvet panel gradients with flat subtle purples (anchored to the group-card tone `rgb(24,20,29)`); the topbar uses the same flat tone so it meshes with the panels.
- Adds a Westgate-themed 404 page ("You've wandered off the map." / Night Masks warning) with a mask icon, vertically centered in the content area. Strings live in `languages/en-GB/westgate.json`.
- Sets Bootstrap link CSS variables globally so utility-classed links (`alert-link`, `link-*`) get the wiki gold like plain anchors already did. Topic-title parchment override is untouched.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Reviewed-on: #23
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
The notifications, chat, and drafts buttons had their icons pinned to the left of the hover box while search was centered.
Root cause: Harmony's notifications/chats/drafts links (pulled in at runtime from core partials, not this repo) carry Bootstrap's justify-content-between utility class, which is !important and beat the theme's justify-content: center on .wg-topbar__utility-list .nav-link. The search link doesn't have that class, so it centered correctly.
Reviewed-on: #16
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
## Summary
- capture the post-review topbar refinements and implementation plan
- simplify the topbar brand to one SHADOWS OVER WESTGATE lockup
- remove the redundant desktop Forums dropdown and its custom panel handling
- give topbar dropdown and drawer surfaces an opaque local panel base
## Tests
- node --test tests/*.test.js
Reviewed-on: #7
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>