Files
Ty Clifford 6686388834 - Implemented the complete first-run experience:
Account creation and guarded onboarding flow.
Current-cash starting balance with automatic rollover enabled.
Dynamic bill generation, shared/custom categories, recurring targets, 
and optional same-day onboarding transactions.
Optional dormant reserve and additional categories.
Mailgun email or authenticator-app 2FA configuration.
Responsive dark/light UI with no overflow at 390px.
Fixed administrator session-ID creation bug.
Core implementation: [OnboardingService.php (line 
59)](/Users/tyemeclifford/Documents/GH/budget/app/OnboardingService.php:59), 
[onboarding.php (line 
19)](/Users/tyemeclifford/Documents/GH/budget/views/onboarding.php:19), 
and [index.php (line 
143)](/Users/tyemeclifford/Documents/GH/budget/public/index.php:143).
Verification passed: financial self-test, onboarding integration test, 
full browser walkthrough, mobile layout, routing guards, and zero 
browser console errors. Live email delivery requires actual Mailgun 
credentials and was not sent during testing.
2026-06-15 14:51:44 -04:00

18 lines
1.2 KiB
PHP

<div class="auth-card">
<p class="eyebrow">Welcome to Neon Ledger</p>
<h2>Create your private planner</h2>
<p class="muted">Plan from the money you actually have, build monthly bill targets, and carry unused funds safely into the next month.</p>
<form method="post" class="stack-form">
<?= csrf_field() ?>
<input type="hidden" name="action" value="setup">
<label>Email address<input type="email" name="email" required autocomplete="email" placeholder="you@example.com"></label>
<label>Password<input type="password" name="password" required minlength="10" autocomplete="new-password" placeholder="At least 10 characters"></label>
<label>Confirm password<input type="password" name="password_confirmation" required minlength="10" autocomplete="new-password"></label>
<div class="auth-info">
<strong>Protection and reminders come next</strong>
<small>Optional authenticator or email-delivered 2FA and Mailgun bill alerts are available in Configuration after onboarding.</small>
</div>
<button class="button primary full" type="submit">Create account and continue</button>
</form>
</div>