Commit Graph
71 Commits
Author SHA1 Message Date
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
archvillainette 1b99c93193 impeccable project-wide (#27)
Reviewed-on: #27
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-16 22:12:56 +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 7e7108c48b chore: add shared agent skills (#20)
Adds the shared agent-skill core under `.agents/skills/` (grilling, grill-me, domain-modeling, codebase-design, code-review, diagnosing-bugs, tdd, research, implement, handoff), with `.claude` symlinked to `.agents` so every agent harness picks them up.

Project-local skills are left untouched. The runtime `scheduled_tasks.lock` is deliberately not committed.

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

Reviewed-on: #20
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-12 12:06:30 +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 848caadb35 Drop the every-main-post book icon from search/profile post lists (#15)
Implements Fix 4 of the wiki-links-and-search-followup spec (plugin repo). Removes the {{{ if ./isMainPost }}} fa-book fallback branch from templates/partials/posts_list_item.tpl — it put a book icon on every global-search result title. Only the isWikiArticle badge remains.

Deliberate blast radius: the partial also serves the seven account/profile post lists, which lose the marker too (restores pre-PR-#14 appearance). search-results.tpl untouched; its badge lights up once the companion plugin PR (fix/wiki-links-search-followup) delivers the flags.

Contract test extended to pin the removal; passing.

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

Reviewed-on: #15
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-05 09:11:16 +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 21008cdf3f refactor email templates into .tpls (#12)
Reviewed-on: #12
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-27 09:47:43 +00:00
archvillainette 159e28a719 email brand hygiene (#11)
implements proper email hygiene, including templates and a language .json

Reviewed-on: #11
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-27 08:02:15 +00:00
archvillainette a26386895f fix top bar bubbles (#9)
Reviewed-on: #9
2026-06-26 16:59:08 +00:00
archvillainette af43bb3129 fix "join the team" link (#10)
Reviewed-on: #10
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-26 16:58:19 +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 52999ae604 docs/website-pages-spec (#5)
Reviewed-on: #5
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-26 08:00:05 +00:00
archvillainette 9bfdc8a8b4 chore: add license (#4)
Reviewed-on: #4
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-25 06:55:16 +00:00
archvillainette 653205c117 clean brittle tests (#3)
Reviewed-on: #3
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-20 10:33:00 +00:00
archvillainette 3dae204bab fix: serve inherited harmony fonts (#2)
fixes the missing inter font error

Reviewed-on: #2
Reviewed-by: xtul <mpiasecki720@protonmail.com>
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-06-19 07:47:57 +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 8e7ddd2962 cleanup: AGENTS.md 2026-06-14 14:37:42 +02:00
archvillainette b49b57e6e0 package.json: remove eslint dependencies 2026-06-09 13:03:52 +02: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
archvillainette 48039ee77e Update to fix vulnerabilities 2026-05-24 11:15:48 +02:00
archvillainette 037e5cb3d2 Authentik theme css 2026-05-04 09:35:57 +02:00
archvillainette 427b037858 Authentik Account UX Contract 2026-05-02 19:00:12 +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
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 f682190749 Fix Category Dropdown in Composer 2026-04-24 17:34:21 +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
archvillainette deb2eacb4a Quick Reply and Banner Fixes 2026-04-24 17:04:58 +02:00
archvillainette dadee4c78f Header Test 2026-04-24 14:57:06 +02:00
archvillainette 2a989ee6f1 Use glyph color for category teaser accents 2026-04-24 13:30:54 +02:00
archvillainette 3b30027781 Fix chat popup close button contrast 2026-04-24 13:25:35 +02:00
archvillainette d2aaf4d79c Theme flagged content controls 2026-04-24 13:24:53 +02:00
archvillainette a1b363e7e7 Fix chat user list username colors 2026-04-24 13:23:31 +02:00
archvillainette fb36745212 Theme chat and notification surfaces 2026-04-24 13:22:47 +02:00
archvillainette b8a7fbf873 Stabilize subcategory pill widths 2026-04-24 13:18:28 +02:00
archvillainette 407528da98 Fix widget card compatibility 2026-04-24 13:11:40 +02:00
archvillainette 908fffb091 Icon Changes 2026-04-23 16:29:06 +02:00
archvillainette 3dcc9553c4 ACP Icons 2026-04-23 14:27:29 +02:00
archvillainette 677e9fb798 Icons Phase 1 2026-04-23 14:11:15 +02:00
archvillainette 225bf5ab87 Subcategory Container Depth 2026-04-23 13:40:43 +02:00
archvillainette c6776133bc Added references 2026-04-23 12:16:10 +02:00
archvillainette 87e0bcd929 Switches & Minor UI Improvements 2026-04-23 11:57:56 +02:00
archvillainette ee09a620d6 Font Fixes 2026-04-23 11:11:23 +02:00
archvillainette 6fff00a8b2 Second Pass 2026-04-22 18:11:03 +02:00
archvillainette cd89fc2eb6 Agents Revision 2026-04-22 15:00:31 +02:00
archvillainette 46ee62740e First Pass 2026-04-22 14:40:59 +02:00
archvillainette 5eb15e6cbe Theme.json 2026-04-22 12:05:47 +02:00
archvillainette 3a07eed76a Changes Per Readme 2026-04-21 08:38:51 +02:00