Diff -- /var/www/vhosts/3dshawn.com/abforge.3dshawn.com/TEMPLATES/abforge_forgot_password.html
Diff
/var/www/vhosts/3dshawn.com/abforge.3dshawn.com/TEMPLATES/abforge_forgot_password.html
added on local at 2026-07-01 16:01:50
Added
+98
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to c417c794003e
to c417c794003e
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.| 1 | <!-- Forgot-password entry form. Mirrors the logged-out marketing | |
| 2 | header + auth shell used by /login.cgi so the two pages feel | |
| 3 | like one flow. --> | |
| 4 | <header class="landing-nav"> | |
| 5 | <div class="landing-nav-inner"> | |
| 6 | <a href="index.cgi" class="flex items-center gap-3" style="text-decoration:none"> | |
| 7 | <div class="brand-mark">A<span style="color:#ffb347">B</span></div> | |
| 8 | <div class="brand-text"><span class="brand-name">ABForge</span><span class="brand-sub">Experimentation Platform</span></div> | |
| 9 | </a> | |
| 10 | <nav class="links"> | |
| 11 | <a href="features.cgi">Features</a> | |
| 12 | <a href="docs.cgi">Docs</a> | |
| 13 | <a href="why.cgi">Why ABForge</a> | |
| 14 | <a href="pricing.cgi">Pricing</a> | |
| 15 | <a href="faq.cgi">FAQ</a> | |
| 16 | <a href="about.cgi">About</a> | |
| 17 | </nav> | |
| 18 | <div class="auth-actions"> | |
| 19 | <a href="signup.cgi" class="btn btn-primary btn-sm">Start free trial</a> | |
| 20 | </div> | |
| 21 | </div> | |
| 22 | </header> | |
| 23 | ||
| 24 | <div class="auth-shell"> | |
| 25 | <aside class="auth-side"> | |
| 26 | <div class="auth-side-glow"></div> | |
| 27 | <div class="auth-side-content"> | |
| 28 | <div class="hero-pill" style="margin-bottom:18px"><span class="dot"></span> Account recovery</div> | |
| 29 | <div class="auth-quote"> | |
| 30 | "Forgot your password is one of those flows you only notice when it works. We made ours dead simple." | |
| 31 | </div> | |
| 32 | <div class="auth-quote-attr">— ABForge platform</div> | |
| 33 | </div> | |
| 34 | </aside> | |
| 35 | ||
| 36 | <main class="auth-main"> | |
| 37 | <div style="display:flex;justify-content:flex-end"> | |
| 38 | <a href="/login.cgi" class="text-sm text-secondary">Remembered it? <span class="text-brand fw-600">Sign in</span></a> | |
| 39 | </div> | |
| 40 | ||
| 41 | <div class="auth-form-wrap"> | |
| 42 | ||
| 43 | [if:$submitted] | |
| 44 | <h1 class="auth-title">Check your email</h1> | |
| 45 | <p class="auth-sub"> | |
| 46 | If an account exists for the address you entered, we just emailed a reset link to it. The link is valid for 60 minutes and can only be used once. | |
| 47 | </p> | |
| 48 | <div class="banner" style="margin:18px 0;background:rgba(34,197,94,0.10);border:1px solid rgba(34,197,94,0.35);color:#86efac"> | |
| 49 | <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20,6 9,17 4,12"/></svg> | |
| 50 | <div class="text-xs">Reset link sent (if the address is on file). Check your inbox — and your spam folder.</div> | |
| 51 | </div> | |
| 52 | <p class="text-xs text-dim" style="margin-top:14px"> | |
| 53 | Did not get the email? Wait a minute, then <a href="/forgot_password.cgi" class="text-brand">try again</a>. If it still does not arrive, contact support. | |
| 54 | </p> | |
| 55 | [/if] | |
| 56 | ||
| 57 | [if:!$submitted] | |
| 58 | <h1 class="auth-title">Forgot your password?</h1> | |
| 59 | <p class="auth-sub">Enter the email on your account and we will send you a reset link.</p> | |
| 60 | ||
| 61 | [if:$has_error] | |
| 62 | <div class="banner danger" style="margin-bottom:18px"> | |
| 63 | <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg> | |
| 64 | <div class="text-xs">$error_msg</div> | |
| 65 | </div> | |
| 66 | [/if] | |
| 67 | ||
| 68 | <form method="POST" action="/forgot_password.cgi" autocomplete="on"> | |
| 69 | <div class="form-group"> | |
| 70 | <label class="form-label">Email</label> | |
| 71 | <input class="input" type="email" name="email" value="" placeholder="you\@studio.com" autocomplete="email" required autofocus> | |
| 72 | </div> | |
| 73 | <button type="submit" class="btn btn-primary btn-block btn-lg">Send reset link</button> | |
| 74 | </form> | |
| 75 | ||
| 76 | <div class="auth-foot"> | |
| 77 | We never reveal whether an address is registered — either way, you will see the same confirmation. That keeps the form from leaking account data. | |
| 78 | </div> | |
| 79 | [/if] | |
| 80 | ||
| 81 | </div> | |
| 82 | ||
| 83 | <div class="text-center text-xs text-dim">Reset links expire in 60 minutes · single-use · audit logged</div> | |
| 84 | </main> | |
| 85 | </div> | |
| 86 | ||
| 87 | <footer class="site-foot"> | |
| 88 | <div class="foot-grid"> | |
| 89 | <div class="foot-col"> | |
| 90 | <div class="flex items-center gap-3 mb-2"><div class="brand-mark" style="width:32px;height:32px;font-size:15px">A<span style="color:#ffb347">B</span></div><div class="brand-text"><span class="brand-name">ABForge</span></div></div> | |
| 91 | <p class="text-sm text-secondary" style="max-width:340px">The experimentation platform for any site.</p> | |
| 92 | </div> | |
| 93 | <div class="foot-col"><h5>Platform</h5><ul><li><a href="features.cgi">Features</a></li><li><a href="docs.cgi">Docs</a></li><li><a href="why.cgi">Why ABForge</a></li><li><a href="pricing.cgi">Pricing</a></li><li><a href="faq.cgi">FAQ</a></li></ul></div> | |
| 94 | <div class="foot-col"><h5>Company</h5><ul><li><a href="about.cgi">About</a></li><li><a href="contact.cgi">Contact</a></li></ul></div> | |
| 95 | <div class="foot-col"><h5>Legal & Trust</h5><ul><li><a href="privacy.cgi">Privacy</a></li><li><a href="terms.cgi">Terms of Service</a></li></ul></div> | |
| 96 | </div> | |
| 97 | <div class="foot-bottom"><span>© 2026 ABForge, Inc. All rights reserved.</span><span>Made for teams who treat experimentation seriously.</span></div> | |
| 98 | </footer> |