Commitfa06ad2unknown_key
fix(login): render the passkey sign-in button (dead JS handler)
fix(login): render the passkey sign-in button (dead JS handler) Sibling defect to the SSO button fix. `/login` ships an inline JS block that wires up `#pk-signin-btn` to the WebAuthn assertion flow (`/api/passkeys/auth/options` → `navigator.credentials.get` → `/api/passkeys/auth/verify`), but the button and its status element were never rendered in the JSX. Passkey sign-in was unreachable from `/login`. Adds a "Sign in with passkey" button (`#pk-signin-btn`) and the `#pk-signin-status` aria-live region after the SSO block. The existing JS detects unsupported browsers and surfaces "Passkeys not supported" inline. Suite: 1273 / 0 fail.
1 file changed+11−0fa06ad2b73916338142a354f2848cadeef37e59d
1 changed file+11−0
Modifiedsrc/routes/auth.tsx+11−0View fileUnifiedSplit
@@ -228,6 +228,17 @@ auth.get("/login", async (c) => {
228228 <LinkButton href="/login/sso">Sign in with {ssoLabel}</LinkButton>
229229 </div>
230230 )}
231 <div class="auth-passkey">
232 <div class="auth-divider">or</div>
233 <button type="button" id="pk-signin-btn" class="btn">
234 Sign in with passkey
235 </button>
236 <div
237 id="pk-signin-status"
238 class="auth-status"
239 aria-live="polite"
240 ></div>
241 </div>
231242 <p class="auth-switch">
232243 <Text>New to gluecron? <a href="/register">Create an account</a></Text>
233244 </p>
234245