Commit Graph
5 Commits
Author SHA1 Message Date
archvillainetteandClaude Opus 5 cc799475f2 Take the support drawer back out of the topbar (sow-nodebb-plugin-support#10)
Support case notifications now live in the notification bell, as a "Cases"
filter button added by nodebb-plugin-support on core's own hooks. The plugin
owns all of it, so this theme's second bell — its icon, drawer, client code,
language keys and tests — comes out.

The theme was the wrong home for it. The drawer's markup and JS lived here, so
whether the support plugin could notify anyone depended on which theme a forum
ran. Nothing about support belongs in a theme.

The `/support` link is unaffected; it comes from the ACP navigation, which
this theme already renders in both the desktop bar and the mobile drawer.

Checked in a browser on the dev stack: no support icon in the topbar, and the
bell's new tab filters a mixed notification list correctly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-24 23:28:00 +02:00
archvillainetteandClaude Opus 5 4acf32ec09 Make the support drawer core's notification drawer (sow-nodebb-plugin-support#10)
The first version of this drawer built its own rows in JS. This one renders
core's `partials/notifications_list` partial with entries the support plugin
now returns in core's notification shape, so the markup is literally the
notification drawer's: avatar block, stretched link, muted timeago, per-entry
read dot, All/Unread filter row, and the same two footer buttons. The
handlers mirror core's too — only the API paths differ, because the list is
plugin-owned (core's unread count is one aggregate with no hook to carve a
type out of it).

Opening the box no longer marks everything read: like the bell, an entry is
read when you click it or use "Mark all read", and the dot toggles both ways.

Deletes the bespoke row builder and its hand-rolled relative-time helper;
`$.timeago` is what core uses for JS-inserted rows. The dropdown reuses the
`.notifications-dropdown` class this theme already styles, so it needs no CSS
of its own. Hardcoded English is gone (the code-review finding on the first
version): every string is a translation key.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-24 22:20:04 +02:00
archvillainette c3851107ab Theme post code blocks + a11y fixes (impeccable audit) (#25)
Code blocks in posts rendered with the markdown plugin's default light highlight.js theme — white blocks on the dark ledger. This adds dark velvet pre/code styling and a Westgate-toned syntax palette (gold keywords, ledger-ink titles, muted green strings) for post content and the composer preview.

Also picks up the quick wins from an impeccable audit:

- Visible focus ring on the mobile drawer search (input had `outline: 0` with no replacement)
- Input placeholder contrast raised to pass WCAG 4.5:1; tagsinput placeholder reuses the token instead of `$gray-500`
- `prefers-reduced-motion` block zeroing transitions/animations (there were none before)
- Fixed a stray `</li>` closing a `<div>` in `quick-search-results.tpl`

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

Reviewed-on: #25
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-16 14:44:39 +00:00
archvillainette 499fbd0484 Flat purple panels, themed 404, global gold links (#23)
- 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>
2026-07-14 20:59:20 +00:00
archvillainette 96f83868b1 Wiki badge and /wiki links in global search results (#14)
Theme half of the cross-repo wiki global search work (plugin half: sow-nodebb-plugin-wiki#12).

Search results tagged by the wiki plugin (`isWikiArticle` + `wikiPath`) now render with a gold "Wiki" badge and link to `/wiki/...` instead of `/post/...`:

- `templates/partials/quick-search-results.tpl` — navbar quick-search dropdown
- `templates/partials/search-results.tpl` — `/search` page, topics view
- `templates/partials/posts_list_item.tpl` — `/search` page, posts view (default). Shared with account/group post lists, where the wiki flags are never set and the conditional no-ops.
- `scss/westgate/_search.scss` — badge styling from existing `--wg-gold` / ledger-border tokens; imported from `theme.scss`
- `languages/en-GB/westgate.json` — `[[westgate:wiki-badge]]` label
- Spec updated with the resolved approach (template override, not client-side decoration)

Untagged forum results render byte-identical to Harmony stock.

Verification: all three overrides compiled and rendered against benchpressjs with mixed wiki/forum fixture rows (wiki row gets `/wiki/...` href + exactly one badge; forum rows keep stock `/post/...` links, `RE:` prefix and main-post icon preserved). New contract test in `tests/wiki-search-badge-contract.test.js`; suite passes except the pre-existing `global-footer-contract.test.js` failure (stale `join-the-team` link assertion from #10, also failing on main — not touched here).

End-to-end visual check (badge in the live dropdown + /search) still needs the dev stack with plugin PR #12 merged.

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

Reviewed-on: #14
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-03 07:10:47 +00:00