0ae18f495e
Tests, UX improvements.
2026-04-05 14:25:29 +01:00
4e6f5d36b8
UX/UI improvements.
2026-04-05 13:26:51 +01:00
418d3cc402
UI/UX tweaks and improvements.
2026-04-05 12:28:41 +01:00
4daec9b624
fix: move CI workflow from GitHub Actions to Forgejo Actions
2026-04-04 17:03:54 +01:00
61c16d8bac
fix: multi-stage Dockerfile and guard husky for Docker builds
...
Test / vitest (push) Waiting to run
Test / playwright (push) Blocked by required conditions
Test / visual (push) Blocked by required conditions
Multi-stage build produces a smaller production image with only .output.
Husky prepare script now tolerates missing .git (Docker, CI).
2026-04-04 16:44:55 +01:00
1e30ba23cd
feat: add testing infrastructure — Vitest, Playwright, CI, git hooks
...
Test / vitest (push) Waiting to run
Test / playwright (push) Blocked by required conditions
Test / visual (push) Blocked by required conditions
Add comprehensive testing covering 420 unit/handler tests across 24 Vitest
files, 9 Playwright E2E specs, accessibility scans, and visual regression.
Includes GitHub Actions CI, Husky pre-push hook, and TESTING.md docs.
2026-04-04 16:07:21 +01:00
036af95e00
fix: replace member.save() in invite.post.js and remove stale NUXT_PUBLIC_HELCIM_TOKEN env check
2026-04-04 14:02:06 +01:00
fdc925331d
fix: consolidate Helcim token to HELCIM_API_TOKEN for both server and widget
2026-04-04 14:00:17 +01:00
d31b5b4dac
fix: use private helcimApiToken for all server-side Helcim API calls
2026-04-04 13:37:34 +01:00
ccd1d0783a
fix: use canonical member email for series registration when authenticated
2026-04-04 13:27:47 +01:00
44f3ee8c8c
fix: check JWT auth before email lookup in series purchase
2026-04-04 13:26:01 +01:00
bc887ca1d4
fix: replace member.save() with findByIdAndUpdate in Slack invite helper
2026-04-04 13:24:22 +01:00
e592b962ec
fix: replace member.save() with findByIdAndUpdate in login.post.js
2026-04-04 13:22:36 +01:00
a7b04bfd3c
fix: remove explicit requireAuth import (Nitro auto-imports it)
2026-04-04 12:44:01 +01:00
c64933418b
feat: add skip-to-content links and aria-labels for accessibility
2026-04-04 12:42:07 +01:00
ee438f5c60
chore: remove working copies and superseded verify.get.js
2026-04-04 12:41:33 +01:00
e81000b5a6
feat: add .dockerignore and document BASE_URL in .env.example
2026-04-04 12:41:00 +01:00
a32e4de2ac
feat: wire welcome email for new member creation
2026-04-04 12:40:15 +01:00
8b7f124f15
refactor: use requireAuth in updates routes (optional-auth)
2026-04-04 12:39:09 +01:00
cbb519449a
refactor: use requireAuth in updates routes (required-auth)
2026-04-04 12:36:25 +01:00
15fdf77be8
feat: add /api/health endpoint for uptime monitoring
2026-04-04 12:35:26 +01:00
1875f16d48
feat: validate all required env vars at startup
2026-04-04 12:34:49 +01:00
255518a6a8
fix: throw on missing OIDC_COOKIE_SECRET in production
2026-04-04 12:34:06 +01:00
3b7b75ab70
fix: validate ticket type matches entitlement in series purchase
2026-04-04 12:31:58 +01:00
3620dad03a
fix: use requireAuth for member pricing to include revocation + status checks
2026-04-04 12:30:54 +01:00
cee67dc005
fix: use auth cookie for member pricing in series available endpoint
2026-04-04 12:28:55 +01:00
db04b270f4
fix: remove redundant connectDB in cancel-subscription
2026-04-04 12:27:34 +01:00
bbe94f0efb
fix: replace member.save() with atomic update in cancel-subscription
2026-04-04 12:26:56 +01:00
d4d9629d83
fix: remove redundant connectDB in verify (requireAuth handles it)
2026-04-04 12:25:25 +01:00
79c712a9e9
fix: replace member.save() with atomic update in verify
2026-04-04 12:24:52 +01:00
707ff7b13a
fix: remove redundant connectDB in logout (requireAuth handles it)
2026-04-04 12:24:24 +01:00
ab2532dee8
fix: replace member.save() with atomic update in logout
2026-04-04 12:23:01 +01:00
fcd6f4cdf4
feat: reskin admin pages to zine design system
...
Migrate the entire admin section from the dark guild-* Tailwind theme
to the zine design system (dashed borders, CSS custom properties,
Brygada 1918 + Commit Mono, cream/dark mode palette).
- Replace admin top-nav layout with sidebar matching default layout
- Reskin dashboard, members, events, series management pages
- Reskin events/create and series/create form pages
- Add dev-only test login endpoint (GET /api/dev/test-login)
- Redirect duplicate admin/dashboard.vue to /admin
- Update CLAUDE.md design system docs
2026-04-03 10:56:01 +01:00
f16f9ada64
fix: resolve sidebar nav hydration mismatch and admin events 500 error
...
Wrap auth-dependent sidebar navigation and meta in ClientOnly with
SSR fallback slots to prevent hydration mismatch that caused all
authenticated nav links to point to wrong pages. Fix admin events
page crash by replacing empty string USelect values with 'all'.
2026-04-03 09:24:29 +01:00
27d8f678ad
feat: cleanup deprecated components and background texture
2026-04-02 21:38:50 +01:00
2c5986a32e
feat: reskin modals to zine direction
2026-04-02 21:37:31 +01:00
1ac21d6a98
feat: reskin member pages to zine direction
2026-04-02 21:35:32 +01:00
88caca94c7
feat: reskin public pages to zine direction
2026-04-02 21:29:52 +01:00
8b3daadadd
feat: add zine-direction shared components
2026-04-02 21:16:00 +01:00
dbb3fbbc1b
feat: replace layout with fixed left sidebar and top strip
2026-04-02 21:11:47 +01:00
238d68d063
feat: replace design system tokens with zine direction palette and typography
2026-04-02 21:04:25 +01:00
30ac314a74
Updates!
2026-03-31 18:18:24 +01:00
df2e7e3356
Fix Go to Wiki and Sign out appearing side by side
...
Make both elements block w-full so they always stack vertically.
2026-03-19 18:13:33 +00:00
7cf6ce1833
Polish coming-soon and login modal styling
...
Move sign out below wiki button, tweak hover color, remove email
field label, rename 'Join Ghost Guild' to 'Pre-Register', and
remove 'Don't have an account?' text from login modal.
2026-03-19 18:07:20 +00:00
28795146de
Slight fix
2026-03-19 16:39:30 +00:00
640e633380
Style tweaks
2026-03-19 16:36:31 +00:00
eda8ac6449
Refine coming-soon page for logged-in members
...
Hide 'Coming Soon' text when authenticated, change greeting to
'Welcome, Name' with inline underlined sign-out link, and force
Inter (font-sans) on all text.
2026-03-19 16:24:42 +00:00
78c592c13a
Fix duplicate /api/auth/member call and add request deduplication
...
Remove redundant checkMemberStatus() from coming-soon page since the
auth-init plugin already handles it. Add in-flight request deduplication
to prevent concurrent calls from any source. Strip debug console.logs.
2026-03-19 15:04:04 +00:00
52bb17e25d
Comment out Quietism font-face declarations to fix slow page loads
...
The .woff2 files are missing from public/fonts/, causing failed requests
that 302 redirect and stall page load (16+ seconds). Swap display font
to Georgia as a fallback until Quietism files are available.
2026-03-19 13:43:18 +00:00
c785a23910
Redirect regular members to coming-soon page after magic link login
...
Instead of sending members directly to the wiki (where they hit
Outline's login page and have to click again), land them on the
coming-soon page which shows a welcome message and wiki link.
2026-03-19 13:02:12 +00:00