From 2ef0e47693edd265076c9eb3230b4deaf7a99a3b Mon Sep 17 00:00:00 2001 From: qorgh529 Date: Fri, 10 Apr 2026 18:16:59 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=B9=84=EB=B0=80=EB=B2=88=ED=98=B8=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20=ED=86=A0=EA=B8=80,=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EC=8B=A4=ED=8C=A8=20=EC=8B=9C=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=EB=94=94=20=EC=9C=A0=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/index.html | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/frontend/index.html b/frontend/index.html index 8674065..c4d5e53 100755 --- a/frontend/index.html +++ b/frontend/index.html @@ -124,7 +124,17 @@

조직 내부 웹페이지 통합 포털

-
+
+ +
+ + +
+
@@ -335,6 +345,7 @@ async function doLogin() { } } catch (e) { document.getElementById('login-error').textContent = e.message; + document.getElementById('login-pass').value = ''; } } @@ -579,6 +590,19 @@ async function saveAccess() { alert('권한이 저장되었습니다.'); } +// ── Password Toggle ────────────────────────────────────── +function togglePw(inputId, iconId) { + const input = document.getElementById(inputId); + const icon = document.getElementById(iconId); + if (input.type === 'password') { + input.type = 'text'; + icon.innerHTML = ''; + } else { + input.type = 'password'; + icon.innerHTML = ''; + } +} + // ── Utils ──────────────────────────────────────────────── function escHtml(s) { return String(s||'').replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'); } function escJs(s) { return String(s||'').replace(/\\/g,'\\\\').replace(/'/g,"\\'"); }