diff --git a/frontend/app/(main)/mail/imap/page.tsx b/frontend/app/(main)/mail/imap/page.tsx index 9ef1a057..cf734b8a 100644 --- a/frontend/app/(main)/mail/imap/page.tsx +++ b/frontend/app/(main)/mail/imap/page.tsx @@ -55,6 +55,8 @@ import { FolderOpen, Send, Download, + Eye, + EyeOff, } from "lucide-react"; import DOMPurify from "isomorphic-dompurify"; import { @@ -128,6 +130,7 @@ export default function ImapMailPage() { const [composeSending, setComposeSending] = useState(false); const [pendingDeleteMail, setPendingDeleteMail] = useState(null); const [pendingDeleteAccount, setPendingDeleteAccount] = useState(null); + const [showPassword, setShowPassword] = useState(false); const detailCacheRef = useRef>(new Map()); const prefetchingRef = useRef>(new Set()); @@ -412,6 +415,7 @@ export default function ImapMailPage() { setEditingAccount(null); setForm(DEFAULT_FORM); setTestResult(null); + setShowPassword(false); setShowDialog(true); } @@ -428,6 +432,7 @@ export default function ImapMailPage() { password: "", }); setTestResult(null); + setShowPassword(false); setShowDialog(true); } @@ -661,7 +666,7 @@ export default function ImapMailPage() { ) : filteredMails.length === 0 ? (
-

메일이 없습니다

+

{searchTerm ? `"${searchTerm}" 검색 결과가 없습니다` : "메일이 없습니다"}

) : ( <> @@ -901,7 +906,7 @@ export default function ImapMailPage() { setForm((p) => ({ ...p, email: e.target.value }))} + onChange={(e) => setForm((p) => ({ ...p, email: e.target.value, username: e.target.value }))} placeholder="user@example.com" /> @@ -937,12 +942,22 @@ export default function ImapMailPage() {
- setForm((p) => ({ ...p, password: e.target.value }))} - placeholder="••••••••" - /> +
+ setForm((p) => ({ ...p, password: e.target.value }))} + placeholder="••••••••" + className="pr-9" + /> + +
{editingAccount && (