Commit Graph
65 Commits
Author SHA1 Message Date
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
archvillainette 60bcd589c0 Set wiki overlay scrim tokens to theme charcoal (#26)
Companion to sow-nodebb-plugin-wiki#22: the plugin now exposes `--wiki-scrim`/`--wiki-scrim-strong` for drawer and dialog backdrops. Override them from `--wg-bg-deep` so overlays match the plum/gold palette instead of the plugin's slate-blue defaults. Verified in the dev forum bundle.

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

Reviewed-on: #26
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-16 18:13:49 +00: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 9ec0170e37 Style full-width article reader pages (#24)
## Summary

- add banner and article-reader styling for news and blog pages
- let article pages use the shared content rail without a private width cap
- give the article body a post-like ledger surface without ruling seams
- present Older/Newer navigation as large directional links at opposite page edges

## Verification

- all six `node tests/*.test.js` contract scripts
- NodeBB `make dev-build` asset compilation

Generated with Claude Code

Reviewed-on: #24
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-15 12:04:42 +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 5bbe22320e Home page styles in _pages.scss; retire widget home.html (#22)
Companion to sow-nodebb-plugin-pages PR #2. Adds the home blocks to _pages.scss (art hero, two-server status strip with unknown/online/offline dot states, pitch prose, four-up steps grid) and deletes the superseded paste-into-widget home.html + preview. Docs/comments updated to point at the plugin template. Merge together with the plugin PR.

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

Reviewed-on: #22
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-14 19:01:37 +00:00
archvillainette ec5a9ce903 Add sow-* page styles for /news /blog /gallery (#21)
The file-based pages plugin ships templates using sow-* classes that had no CSS anywhere (live never had them either — the classes render unstyled today). Adds scss/westgate/_pages.scss following DESIGN.md: velvet panels, gilt-edge borders, Cinzel etched headings, dark-gold-plate primary buttons, responsive grids.

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

Reviewed-on: #21
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-14 15:57:10 +00:00
archvillainette 882c086a6d impeccable (#18)
first pass with impeccable

Reviewed-on: #18
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-11 14:18:22 +00:00
archvillainette 355095d4ec Fix navbar button misalignments (#16)
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>
2026-07-08 11:33:43 +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
archvillainette a26386895f fix top bar bubbles (#9)
Reviewed-on: #9
2026-06-26 16:59:08 +00:00
archvillainette e2b10e6e13 Add Westgate global footer (#8)
## Summary
- add the global Westgate footer partial under `templates/partials/footer/`
- import scoped footer styles from `theme.scss`
- include the footer design spec and powered-by HTML/CSS references
- add a contract test for the footer integration and required links

## Verification
- `node tests/global-footer-contract.test.js`
- `node tests/global-topbar-contract.test.js`
- `for test in tests/*.test.js; do node "$test"; done`
- `npm test --if-present`
- `git diff --check`

Reviewed-on: #8
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-26 13:56:40 +00:00
archvillainette 1d1b2eba13 Refine global topbar integration (#7)
## 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>
2026-06-26 09:43:50 +00:00
archvillainette 2d37f8a1f6 global topbar (#6)
adds a global topbar to the theme

Reviewed-on: #6
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-26 08:27:49 +00:00
archvillainette 4fcdc7351e fix: restore custom vote icons (#1)
fixes the broken upvote-downvote icons on nodebb

Reviewed-on: #1
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-19 07:35:26 +00:00
archvillainette 993afd3d6c Dropdown item fixes v2 2026-06-09 12:58:19 +02:00
archvillainette 5db89fffc8 Dropdown item fix 2026-06-09 12:40:36 +02:00
archvillainette 23adc6c244 Move non-static elements to website editor 2026-06-09 11:39:55 +02:00
archvillainette a19999b159 Remove references 2026-06-09 11:38:41 +02:00
archvillainette b2a2e33434 New icons 2026-06-07 09:53:02 +02:00
archvillainette cd8845cc6a Ticket icon 2026-06-07 09:34:06 +02:00
xtul 4ceadefabe fix headings fucking up the infobox 2026-05-21 23:44:38 +02:00
xtul 21502b1882 fixes to tables and infoboxes 2026-05-21 22:03:50 +02:00
xtul 30f1768406 fix breadcrumbs on edit page 2026-05-21 20:42:27 +02:00
xtul 9cd212876c mobile table rendering 2026-05-21 17:43:56 +02:00
xtul b78aee0a71 callout+infobox fixes 2026-05-19 16:14:04 +02:00
xtul 119e470767 breadcrumb improvements 2026-05-17 13:20:08 +02:00
xtul aa2a5ea10b table fixes 2026-05-15 14:29:48 +02:00
xtul ae15873837 exclude figure, img from heading margins 2026-05-14 22:33:48 +02:00
xtul e73e39bf67 headings react to elements above with a extra margin 2026-05-14 22:15:37 +02:00
xtul 0125fc4ad5 fix centered headings 2026-05-12 22:53:32 +02:00
xtul 89e8866bf2 header shading 2026-05-10 18:08:14 +02:00
xtul ac59a804b1 remove underline from h2 2026-05-10 15:56:07 +02:00
xtul 9c9a5316e3 a bit fatter headings 2026-05-10 12:07:43 +02:00
xtul 7111d25198 font fixes 2026-05-10 12:04:13 +02:00
xtul 3001b264c6 fix drawer z-index fighting 2026-05-09 13:45:16 +02:00
xtul f5eb0f5428 fix drawer layering 2026-05-09 13:38:48 +02:00
xtul 5615e4963f index styles 2026-05-09 12:47:01 +02:00
xtul c255124e72 invert heading colors 2026-05-09 11:04:04 +02:00
xtul dd7f0bf137 nicer headings for wiki 2026-05-09 02:39:43 +02:00
xtul 6f5851a298 footnote styles 2026-05-01 15:39:57 +02:00
archvillainette e4111018ae Latest Widgets and Powered By Elements 2026-05-01 15:35:21 +02:00
archvillainette c6bd9a3e83 More Wiki Prose SCSS Tweaks 2026-04-29 19:12:44 +02:00
archvillainette 404dd21006 Wiki Prose Tweaks 2026-04-29 18:57:59 +02:00
Michał PiaseckiandGitHub 957bd6b159 added wiki themes (#1) 2026-04-26 18:29:03 +02:00
archvillainette dc9a9ee510 Fix Status Palette 2026-04-24 18:10:22 +02:00
archvillainette f8cf524bbc Fix Upvote/Downvote 2026-04-24 17:44:34 +02:00
archvillainette 23fe5917ec Upvote Icon Change to Heart and Post Tool Always Show 2026-04-24 17:35:35 +02:00
archvillainette 4209745325 Fix Composer Icon Chips Dropdown 2026-04-24 17:20:59 +02:00
archvillainette 6ec425d6ee Plum Gradient 2026-04-24 17:06:35 +02:00