diff --git a/src/page.html b/src/page.html index e11fb0c..7f36757 100644 --- a/src/page.html +++ b/src/page.html @@ -82,6 +82,8 @@ body.mb-locked .mb-tree-node:hover .mb-folder-actions{display:none!important} .mb-config-input{background:#0f172a;border:1px solid #60a5fa;border-radius:4px;color:#e2e8f0;padding:2px 8px;font-size:12px;font-family:monospace;width:150px} .mb-config-save-btn{background:#064e3b;border:1px solid #4ade80;color:#4ade80;padding:2px 8px;border-radius:4px;cursor:pointer;font-size:11px} .mb-config-cancel-btn{background:#451a03;border:1px solid #fbbf24;color:#fbbf24;padding:2px 8px;border-radius:4px;cursor:pointer;font-size:11px} +.mb-password-toggle{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:14px;padding:0 4px} +.mb-password-toggle:hover{color:#3b82f6} @@ -155,11 +157,19 @@ function loadSettings(){ var ckey=sec+"."+key; var dispVal=typeof val==="object"?JSON.stringify(val):String(val); var safeId=ckey.replace(/[^a-zA-Z0-9]/g,"-"); + var isPassword=key.toLowerCase().indexOf("password")!==-1; h+="
"; h+=""+key+""; h+="
"; - h+=""+dispVal+""; + + if(isPassword){ + h+="••••••••"; + h+=""; + }else{ + h+=""+dispVal+""; + } + h+=""; h+="
"; h+="
"; @@ -180,11 +190,18 @@ function editSetting(key,currentVal){ if(!valEl)return; var decodedVal=decodeURIComponent(currentVal); - valEl.innerHTML=""; + var isPassword=key.toLowerCase().indexOf("password")!==-1; + + var inputType=isPassword?"type=password ":""; + valEl.innerHTML=""; + + // Remove password toggle button if exists + var toggleBtn=valEl.parentElement.querySelector(".mb-password-toggle"); + if(toggleBtn)toggleBtn.remove(); var parent=valEl.parentElement; var editBtn=parent.querySelector(".mb-config-edit-btn"); - editBtn.outerHTML=""; + editBtn.outerHTML=""; } function saveSetting(key,safeId){