From 6d21d4518564634aa5cbc1fa9a290844a5ef9ef0 Mon Sep 17 00:00:00 2001 From: oliver Date: Sun, 13 Sep 2026 23:51:33 +0800 Subject: [PATCH] Embed login password eye toggle inside the field. EOF Co-authored-by: Cursor --- web/src/index.css | 10 +++- web/src/pages/LoginPage.tsx | 92 ++++++++++++++++++------------------- 2 files changed, 53 insertions(+), 49 deletions(-) diff --git a/web/src/index.css b/web/src/index.css index c9bfc21..d1970b9 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -8941,16 +8941,18 @@ pre { .login-card__password { position: relative; display: block; + width: 100%; } .login-card__password input { - padding-right: 44px; + padding-right: 44px !important; } .login-card__eye { position: absolute; top: 50%; right: 6px; + z-index: 2; transform: translateY(-50%); width: 34px; height: 34px; @@ -8969,6 +8971,12 @@ pre { color: #93c5fd; } +.login-card__eye:focus-visible { + outline: none; + color: #93c5fd; + box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35); +} + .login-card__eye svg { display: block; pointer-events: none; diff --git a/web/src/pages/LoginPage.tsx b/web/src/pages/LoginPage.tsx index 812c812..acd79f9 100644 --- a/web/src/pages/LoginPage.tsx +++ b/web/src/pages/LoginPage.tsx @@ -1,4 +1,4 @@ -import { Alert, Button, Card, Form, Input, InputGroup, Label, TextField } from "@heroui/react"; +import { Alert, Button, Card, Form, Input, Label, TextField } from "@heroui/react"; import { useState, type FormEvent } from "react"; import { Navigate, useSearchParams } from "react-router-dom"; import { useAuth } from "../auth/AuthContext"; @@ -57,53 +57,49 @@ export function LoginPage() { - - - - - - - - - +
+ + + + + +
{error ? (