Standardize this app's sign-in page on the shared pattern (reference: Moonbase 0.134.0 src/app/login/page.tsx; spec: platform docs/first-party-app-guide.md §2b):
Brand (mark + name + tagline) above one centered card.
Card leads with a full-width primary button Sign in with OTM → /sso/authorize?aud=<audience>&next=<same-origin path>.
Muted line under it: Your OTM account — Face ID, Touch ID or a passkey works there.
Other ways to sign in — small text button that swaps the card body to the local method(s), unchanged, ending with a small Sign in with OTM link back. No "or" divider.
Rules: lead with OTM only when the app is actually wired (secret + audience present, read server-side); never remove the local method; keep the app's own palette. The OTM admin's own /signin says "Sign in to your Over the Moon account" (0.148.3).
Standardize this app's sign-in page on the shared pattern (reference: Moonbase 0.134.0 `src/app/login/page.tsx`; spec: platform `docs/first-party-app-guide.md` §2b):
1. Brand (mark + name + tagline) above one centered card.
2. Card leads with a full-width **primary** button **Sign in with OTM** → `/sso/authorize?aud=<audience>&next=<same-origin path>`.
3. Muted line under it: *Your OTM account — Face ID, Touch ID or a passkey works there.*
4. **Other ways to sign in** — small text button that swaps the card body to the local method(s), unchanged, ending with a small *Sign in with OTM* link back. No "or" divider.
5. `?reason=` sentences for not_enabled / invalid_token / link_already_used / no_account / server_error.
Rules: lead with OTM only when the app is actually wired (secret + audience present, read server-side); never remove the local method; keep the app's own palette. The OTM admin's own `/signin` says "Sign in to your Over the Moon account" (0.148.3).
Done = page matches, version + changelog bumped, checks green, deployed.
Shipped in 0.4.1 (9b37dd5), deployed 2026-10-19: brand block + card, Sign in with OTM primary, passkey helper line; OTM-only so no “Other ways”. Verified live.
Shipped in 0.4.1 (9b37dd5), deployed 2026-10-19: brand block + card, Sign in with OTM primary, passkey helper line; OTM-only so no “Other ways”. Verified live.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Standardize this app's sign-in page on the shared pattern (reference: Moonbase 0.134.0
src/app/login/page.tsx; spec: platformdocs/first-party-app-guide.md§2b):/sso/authorize?aud=<audience>&next=<same-origin path>.?reason=sentences for not_enabled / invalid_token / link_already_used / no_account / server_error.Rules: lead with OTM only when the app is actually wired (secret + audience present, read server-side); never remove the local method; keep the app's own palette. The OTM admin's own
/signinsays "Sign in to your Over the Moon account" (0.148.3).Done = page matches, version + changelog bumped, checks green, deployed.
Shipped in 0.4.1 (
9b37dd5), deployed 2026-10-19: brand block + card, Sign in with OTM primary, passkey helper line; OTM-only so no “Other ways”. Verified live.