Files
bbq/templates/login.html
T
ryan 0719269bce Add SMS consent logging for Twilio compliance
Log phone, IP, and user agent to sms_consents table before sending
verification SMS. Add disclosure text to login form.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 09:46:43 -04:00

47 lines
1.8 KiB
HTML

{{template "layout" .}}
{{define "title"}}bbq — log in{{end}}
{{define "content"}}
<div class="event-header">
<div class="event-tag">Account</div>
<h1 class="event-title">Log in</h1>
<p style="font-family:'DM Mono',monospace;font-size:0.8rem;color:#555;margin-top:8px;">
Enter your email or phone number to receive a login code.
</p>
</div>
<div class="claim-form-wrapper">
{{if eq .Step "identify"}}
<form method="POST" action="/login">
<div class="form-row">
<label>Email or phone</label>
<input type="text" name="identifier" placeholder="you@example.com or (555) 123-4567" required autofocus>
</div>
<p style="font-family:'DM Mono',monospace;font-size:0.7rem;color:#777;margin-top:12px;line-height:1.5;">
By entering a phone number, you consent to receive a one-time verification code via SMS. Msg &amp; data rates may apply. No marketing messages will be sent.
</p>
<button class="btn-submit" type="submit">Send code &#8599;</button>
</form>
{{else}}
<form method="POST" action="/login/verify">
<input type="hidden" name="identifier" value="{{.Identifier}}">
<input type="hidden" name="method" value="{{.Method}}">
<p style="font-family:'DM Mono',monospace;font-size:0.78rem;color:#555;margin-bottom:16px;">
Code sent to <strong>{{.Identifier}}</strong>
</p>
{{if .Error}}
<p style="color:#c44;font-size:0.85rem;margin-bottom:12px;">{{.Error}}</p>
{{end}}
<div class="form-row">
<label>6-digit code</label>
<input type="text" name="code" placeholder="000000" required autofocus
inputmode="numeric" pattern="[0-9]{6}" maxlength="6"
style="font-family:'DM Mono',monospace;font-size:1.5rem;letter-spacing:8px;text-align:center;">
</div>
<button class="btn-submit" type="submit">Verify &#8599;</button>
</form>
{{end}}
</div>
{{end}}