summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-06-04 15:15:15 +0100
committerJoe Carstairs <me@joeac.net>2026-06-04 15:16:34 +0100
commit668c105ccf70eaddf0b5798ecaa47c9ff9f34177 (patch)
tree50d73766a26045108265936bff26d01857ff62e5
parent813836fbba884388e6013e9fd377430ef33b6c8d (diff)
http: adds otp-dialog component
-rw-r--r--http/share/components/otp-dialog.upphtml28
1 files changed, 28 insertions, 0 deletions
diff --git a/http/share/components/otp-dialog.upphtml b/http/share/components/otp-dialog.upphtml
new file mode 100644
index 0000000..a51333f
--- /dev/null
+++ b/http/share/components/otp-dialog.upphtml
@@ -0,0 +1,28 @@
+<script src="/scripts/otp-form-wc.js"></script>
+<link rel="stylesheet" href="/css/otp.css" />
+
+<dialog class="otp-dialog">
+ <otp-form>
+ <form class="otp-form" class="otp-form">
+ <p>
+ I've sent a six-digit code to <span class="otp-recipient">your email address</span>.
+ Let me know what it is, so I can confirm this really is your email address. The
+ code will be valid <span class="otp-valid-until">for five minutes</span>.
+ </p>
+
+ <p hidden class="error"/>
+
+ <div class="otp-inputs">
+ <input maxlength="1" name="1" required autocapitalize="characters" autocomplete="one-time-code" aria-label="First digit of one-time passcode" autofocus>
+ <input maxlength="1" name="2" required autocapitalize="characters" autocomplete="one-time-code" aria-label="Second digit of one-time passcode">
+ <input maxlength="1" name="3" required autocapitalize="characters" autocomplete="one-time-code" aria-label="Third digit of one-time passcode">
+ <input maxlength="1" name="4" required autocapitalize="characters" autocomplete="one-time-code" aria-label="Fourth digit of one-time passcode">
+ <input maxlength="1" name="5" required autocapitalize="characters" autocomplete="one-time-code" aria-label="Fifth digit of one-time passcode">
+ <input maxlength="1" name="6" required autocapitalize="characters" autocomplete="one-time-code" aria-label="Sixth digit of one-time passcode">
+ </div>
+
+ <input type="submit" value="Verify">
+ <button disabled class="resend-button">Resend (60s)</button>
+ </form>
+ </otp-form>
+</dialog>