Add dormant public direct-join fallback (/join-now) + post-join redirect

/join-now: public self-enroll page gated behind config.dappFallbackPublic
(default off -> redirects to /start, invisible until needed). Auto-assigns the
current rotation sponsor via /api/public/current-sponsor, registers the user's
own wallet, then redirects to /my/<newId> so new members land on their live
position instead of guessing their ID. HTML lives in private/, served only via
the flagged route. Reuses the proven contract engine. Admin /direct-join now
also shows a 'View position ->' link to /my/<newId> after a successful join.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-08-18 07:09:57 -05:00
parent 962eacd44c
commit e14c541e5e
5 changed files with 169 additions and 4 deletions
+1
View File
@@ -68,6 +68,7 @@
<div style="font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ok);font-weight:800">✅ Success — save this</div>
<div id="resultId" style="font-size:46px;font-weight:900;color:var(--gold);margin:6px 0;letter-spacing:-1px">—</div>
<div id="resultSub" style="color:var(--muted);font-size:14px"></div>
<a id="resultLink" class="btn btn-primary btn-sm" href="/my" style="display:none;margin-top:12px">View position →</a>
</div>
<div class="dj-card">