feat: Sign in with OTM styled as the one primary action (v0.6.1)

names has no local accounts, so OTM sign-in is the only door — style
it like the house's primary button instead of a plain text link, with
a muted line underneath about Face ID/Touch ID/passkeys, matching the
shared first-party sign-in standard. No "other ways to sign in" toggle
since there's nothing else to switch to.

Also syncs package-lock.json's stale root version and picks up the
already-declared tailwindcss/postcss/autoprefixer entries it was
missing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014LCQmFvKshyAJsE8C3B5ET
This commit is contained in:
2026-10-18 23:36:52 -05:00
co-authored by Claude Fable 5.1
parent 9976f38a0b
commit 41e09d00d6
6 changed files with 49 additions and 5 deletions
+24
View File
@@ -419,6 +419,30 @@ h2 {
text-decoration: underline;
}
/* The "Sign in with OTM" control, styled like the house's one PRIMARY
button (see ".wrap button.primary") so it reads as the lead action it is —
this app has no local accounts, so OTM is the only door. */
.signin.primary {
display: inline-flex;
align-items: center;
border-radius: 9px;
padding: 11px 18px;
background: var(--accent-dim);
border: 1px solid var(--accent-dim);
color: #fff;
font-weight: 600;
}
.signin.primary:hover {
background: var(--accent);
border-color: var(--accent);
text-decoration: none;
}
.signin-hint {
margin: 4px 0 0;
}
.wrap button.linkish {
background: none;
border: none;
+8 -1
View File
@@ -57,8 +57,15 @@ export function AiControls({
);
}
if (platformAi) {
// The lead (and only) action — this app has no local accounts, so there's
// no "other ways to sign in" to swap to. Styled as the house's one
// PRIMARY button, matching the shared first-party sign-in standard.
return (
<a className="signin" href={otmSsoUrl("/")} title="Free OTM account · adds AI-generated names">
<a
className="signin primary"
href={otmSsoUrl("/")}
title="Free OTM account · adds AI-generated names"
>
Sign in with OTM for AI names →
</a>
);
+6
View File
@@ -318,6 +318,12 @@ export default function Finder() {
/>
</div>
{platformAi && !account ? (
<p className="hint signin-hint">
Your OTM account — Face ID, Touch ID or a passkey works there.
</p>
) : null}
{aiOn ? (
<div className="field brief">
<label htmlFor="brief">Tell the AI more (optional)</label>
+8 -1
View File
@@ -2,7 +2,7 @@
// /changelog. Bump VERSION and prepend an entry when shipping a user-facing
// change. Same convention as rpo.
export const VERSION = "0.6.0";
export const VERSION = "0.6.1";
export interface ChangelogEntry {
version: string;
@@ -11,6 +11,13 @@ export interface ChangelogEntry {
}
export const CHANGELOG: ChangelogEntry[] = [
{
version: "0.6.1",
date: "2026-10-18",
changes: [
"Sign in with OTM is now styled as the one primary action it is, with a line about Face ID/Touch ID/passkeys underneath — matching the shared first-party sign-in standard. No accounts live here, so there's nothing else to switch to.",
],
},
{
version: "0.6.0",
date: "2026-08-17",