Commit graph

225 commits

Author SHA1 Message Date
42652a02fe noisy webhook routes 2025-10-19 23:24:28 -04:00
bb944f5b61 debug for missing Kofi Link 2025-10-19 20:34:21 -04:00
f03cf73137 removed deprecated AccountClient 2025-10-19 19:42:24 -04:00
832b0c393c build fixes 2025-10-19 18:21:18 -04:00
5e60cff6fa build fixes 2025-10-19 18:13:28 -04:00
2a4b3d4199 build fixes 2025-10-19 18:07:35 -04:00
59bc5303c7 build fixes 2025-10-19 18:05:19 -04:00
912cf71bb9 feat(support): Ko-fi end-to-end linking + badges (derive-on-read, no cron)
- Add Ko-fi webhook (/api/webhooks/kofi) with upsert by (provider, external_user_id)
  • Computes renews_at = timestamp + 1 calendar month + 1 day
  • Preserves first started_at; stores raw payload; canonicalizes by email when available
- Add Ko-fi claim flow
  • POST /api/support/kofi/claim/start — sends verification email via SMTP
  • GET  /api/support/kofi/claim/verify — finalizes link (sets app_user), redirects to /portal/account
  • POST /api/support/kofi/unlink — clears app_user on Ko-fi rows
- Add derive-on-read membership logic
  • /lib/memberships.ts — single source of truth for badges & “active” state
  • /api/support/badges — thin wrapper that returns per-provider badges
- Account UI
  • components/account/SupporterBadges.tsx — renders provider badges (Ko-fi now; extensible)
  • components/account/ConnectKofi.tsx — “Link Ko-fi” form (email → verify link)
  • components/account/LinkStatus.tsx — success/error banner on return
  • app/portal/account/AccountPanel.tsx — integrates badges, link panel, and banner
- Config/env
  • Requires: DIRECTUS_URL, DIRECTUS_TOKEN_ADMIN_SUPPORTER, KOFI_VERIFY_TOKEN
  • SMTP: SMTP_HOST, SMTP_PORT, SMTP_SECURE, SMTP_USER, SMTP_PASS, EMAIL_FROM
  • APP_ORIGIN used to build absolute verify URLs
- Misc
  • Fixed import to use @/lib/memberships
  • No cron required; UI derives active state via status === active && renews_at >= now

Refs: beta readiness for Ko-fi supporters
2025-10-19 17:51:04 -04:00
176d741b59 version update 2025-10-16 11:32:20 -04:00
30536114b9 version message formatting update 2025-10-16 09:25:12 -04:00
d2e1e838e2 version update 2025-10-16 09:17:38 -04:00
4aebd80a5d file server fix + middleware updates 2025-10-15 21:10:28 -04:00
c1fbdc843c bgbye routing fix 2025-10-15 19:05:56 -04:00
f08a7456ee completely refactored utilities for direct rendering, killed iframes 2025-10-12 22:24:23 -04:00
3195ff5d74 settings overhaul and reset 2025-10-05 17:45:09 -04:00
4ef3160515 schema improvements 2025-10-05 17:09:39 -04:00
26fa64790d build fixes 2025-10-05 12:30:19 -04:00
4eeb46fe21 laser-settings Client fix 2025-10-03 19:05:32 -04:00
f0ba821501 removing junk files from app/settings/ and removing double details 2025-10-03 17:59:26 -04:00
29b5cac774 co2 galvo test UI cleanup and image fix 2025-10-03 15:22:15 -04:00
099f21b130 settings pages componenet restructure 2025-10-03 13:57:24 -04:00
7b707e07a7 provider fix for registration on main 2025-10-03 12:13:06 -04:00
fd0553f49f added edit flow 2025-10-02 23:12:24 -04:00
4e2fd5d813 build error fixes for submission 2025-10-02 22:58:09 -04:00
def73b0aa5 show my settings ONLY if exact owner match, removes uploader fallback 2025-10-02 22:42:28 -04:00
59d2d98a8c fix to populate results in my-settings 2025-10-02 22:25:26 -04:00
9c7cfb3aaa fix to populate results in my-settings 2025-10-02 22:20:25 -04:00
b41fbd98a0 my-settings tab update 2025-10-02 22:15:06 -04:00
52a3d35245 build error fix 2025-10-02 21:04:10 -04:00
a5e6174242 dx route update 2025-10-02 20:32:19 -04:00
72a908134b syntax fix 2025-10-02 20:11:03 -04:00
2a105e3892 debug route 2025-10-02 20:01:35 -04:00
59cbd8002a co2-galvo owner test 2025-10-02 19:26:39 -04:00
f7a5f8c121 homepage changes 2025-10-02 19:23:50 -04:00
74036bc2ce registration requires email
(cherry picked from commit a77db7e781)
2025-10-02 18:41:42 -04:00
30ac27815f co2-galvo owner testing 2025-10-02 17:21:43 -04:00
a100fefc77 co2-galvo owner testing 2025-10-02 16:34:59 -04:00
ffccff85d4 sign in and register fixes for looped and forwarded pages 2025-10-02 14:42:08 -04:00
5257a0d2fe co2 galvo owner test 2025-10-01 21:06:00 -04:00
2e08d68b24 co2 galvo owner test 2025-10-01 20:57:05 -04:00
f61029a8ca co2 galvo owner test 2025-10-01 20:39:16 -04:00
a38aa4c2f9 co2 galvo owner test 2025-10-01 20:00:26 -04:00
715be11ff9 co2 galvo owner test 2025-10-01 19:29:52 -04:00
cd526dced4 co2 galvo owner test 2025-10-01 19:17:37 -04:00
e0ef742d64 co2 galvo owner test 2025-10-01 19:06:22 -04:00
eea0c52ea4 co2 galvo owner test 2025-10-01 19:01:32 -04:00
39d9723e23 co2 galvo owner test 2025-10-01 18:51:00 -04:00
8b9987c0a0 co2 galvo owner test 2025-10-01 18:11:38 -04:00
8219615591 settings list build error fix 2025-10-01 17:27:00 -04:00
8069c6287b settings list fix for stable build 2025-10-01 17:22:46 -04:00