- 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.
This commit is contained in:
+8
-5
@@ -1,14 +1,17 @@
|
||||
<div class="auth-card">
|
||||
<p class="eyebrow">First run</p>
|
||||
<h2>Create the administrator</h2>
|
||||
<p class="muted">This account controls the planner, its modules, exports, and alert settings.</p>
|
||||
<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>
|
||||
<label class="check-row"><input type="checkbox" name="enable_2fa" value="1"><span><strong>Enable optional 2FA now</strong><small>You will receive a setup key after account creation.</small></span></label>
|
||||
<button class="button primary full" type="submit">Create planner</button>
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user