Only show add-passkey prompt when user has no passkeys
The prompt now only appears when coming from signup/login with ?add-passkey=1 AND the user has zero passkeys. Passkey count display removed from home — that info lives in /settings now. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c825005249
commit
4859f5d5e0
1 changed files with 6 additions and 11 deletions
|
|
@ -17,27 +17,27 @@ export function meta(_args: Route.MetaArgs) {
|
|||
export async function loader({ request }: Route.LoaderArgs) {
|
||||
const user = await getSessionUser(request);
|
||||
const url = new URL(request.url);
|
||||
const showAddPasskey = url.searchParams.get("add-passkey") === "1" && user !== null;
|
||||
const addPasskeyParam = url.searchParams.get("add-passkey") === "1" && user !== null;
|
||||
|
||||
let passkeyCount = 0;
|
||||
if (user) {
|
||||
// Only show the add-passkey prompt if the user has no passkeys yet
|
||||
let showAddPasskey = false;
|
||||
if (addPasskeyParam && user) {
|
||||
const db = getDb();
|
||||
const [row] = await db
|
||||
.select({ count: count() })
|
||||
.from(credentials)
|
||||
.where(eq(credentials.userId, user.id));
|
||||
passkeyCount = row?.count ?? 0;
|
||||
showAddPasskey = (row?.count ?? 0) === 0;
|
||||
}
|
||||
|
||||
return data({
|
||||
user: user ? { id: user.id, username: user.username, displayName: user.displayName } : null,
|
||||
showAddPasskey,
|
||||
passkeyCount,
|
||||
});
|
||||
}
|
||||
|
||||
export default function Home({ loaderData }: Route.ComponentProps) {
|
||||
const { user, showAddPasskey, passkeyCount } = loaderData;
|
||||
const { user, showAddPasskey } = loaderData;
|
||||
const { t } = useTranslation("journal");
|
||||
const [addingPasskey, setAddingPasskey] = useState(false);
|
||||
const [passkeyDone, setPasskeyDone] = useState(false);
|
||||
|
|
@ -144,11 +144,6 @@ export default function Home({ loaderData }: Route.ComponentProps) {
|
|||
</div>
|
||||
)}
|
||||
|
||||
{user && passkeyCount > 0 && !showAddPasskey && (
|
||||
<p className="mt-4 text-sm text-gray-500">
|
||||
{t("passkeyStatus", { count: passkeyCount })}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
<div className="mt-8 flex gap-4">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue