[object Object]

← back to CelebritySignatures

celeb web: add Sign in with Apple button to the account.js login modal (web parity — full-page /auth/apple/login redirect, shown only when /api/auth-config reports apple:true)

cb846f4d5bd25cb2e6fc5eef22bdfba9ec42118e · 2026-08-07 10:17:13 -0700 · Steve

Files touched

Diff

commit cb846f4d5bd25cb2e6fc5eef22bdfba9ec42118e
Author: Steve <steve@designerwallcoverings.com>
Date:   Fri Aug 7 10:17:13 2026 -0700

    celeb web: add Sign in with Apple button to the account.js login modal (web parity — full-page /auth/apple/login redirect, shown only when /api/auth-config reports apple:true)
---
 public/account.js | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/public/account.js b/public/account.js
index 91a2873..bc6bddd 100644
--- a/public/account.js
+++ b/public/account.js
@@ -116,6 +116,18 @@
     const alt = el('div', { className: 'alt' }, isLogin ? 'No account? <a>Create one</a>' : 'Have an account? <a>Sign in</a>');
     alt.querySelector('a').onclick = () => openAuth(isLogin ? 'signup' : 'login', after);
     f.appendChild(alt);
+    // Sign in with Apple (web) — full-page redirect flow; shown only once the
+    // backend reports Apple is configured, so it never renders broken.
+    api('/api/auth-config').then(cfg => {
+      if (!cfg || !cfg.apple) return;
+      const orDiv = el('div', {}, 'or');
+      orDiv.style.cssText = 'text-align:center;color:#888;font-size:13px;margin:10px 0 2px';
+      const apple = el('button', { className: 'go', type: 'button' }, '  Sign in with Apple');
+      apple.style.cssText = 'background:#000;color:#fff';
+      apple.onclick = () => { location.href = '/auth/apple/login'; };
+      f.insertBefore(orDiv, alt);
+      f.insertBefore(apple, alt);
+    }).catch(() => {});
     f.onsubmit = async e => {
       e.preventDefault(); msg.className = 'acct-msg'; msg.textContent = 'Working…';
       const body = JSON.stringify({ name: f.name ? f.name.value : '', email: f.email.value, password: f.password.value });

← 7f435c2 celeb: allow /.well-known/ through the sensitive-path guard  ·  back to CelebritySignatures  ·  TK-10191: screenrecord front-page UI debug (5-pass) — report 05236a4 →