PageSourceSearch

https://panel.whogohost.com/_nuxt/BAzrW9Y0.js

js whogohost.com collected 2026-09-25 19:41:10 UTC 7,010 bytes, 1 lines download raw bytes

1import{_ as Y}from"./DzQMdnUJ.js";import{_ as q}from"./rIwbi0pI.js";import{ba as G,a6 as J,T as K,i as O,aE as Q,b as M,e as X,f as l,g as k,k as o,w as s,V as p,h as a,j as f,l as _,n as g,F as Z,am as F,q as u,t as S,r as C,s as v,p as ee,cA as te,bB as N,a2 as se,_ as ae,L as oe,M as i}from"./Be4KCvjK.js";(function(){try{var m=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},y=new m.Error().stack;y&&(m._sentryDebugIds=m._sentryDebugIds||{},m._sentryDebugIds[y]="c3e73eb9-8c9e-4007-9e12-071ac0febc7e",m._sentryDebugIdIdentifier="sentry-dbid-c3e73eb9-8c9e-4007-9e12-071ac0febc7e")}catch{}})();const ne={class:"d-flex justify-center align-center",style:{"min-height":"400px"},"aria-busy":"true","aria-label":"Loading leak check settings"},re={class:"text-center"},le={class:"mb-8",role:"group","aria-labelledby":"breach-status-heading"},ie={class:"d-flex align-center ga-2"},ce={class:"d-flex ga-2 flex-column flex-lg-row"},ue={key:0,class:"text-caption text-medium-emphasis mb-0 mt-2"},de="If your login password appears on a leak list we check, sign-in stays off until you set a new one. That lowers risk when the same password was exposed on another site.",pe="What happens on a match",he=G({__name:"compromised-passwords",setup(m){const y=J(),{user:B}=K(y),V=O("showSnackbar"),d=oe(!1),{data:b,pending:w,error:$}=Q("settings-security-settings",async()=>{const{$apiFetch:e}=M();return e("/api/user/security-settings",{method:"GET"})},{lazy:!0}),x=i(()=>
1{if($.value)return $.value;const e=b.value;return e&&e.result!=="success"?new Error("Could not load leak check settings"):null});function T(e){return e!==null&&typeof e=="object"?e:null}const R=i(()=>{const e=T(x.value);return(e?.data?.error_code||e?.cause?.data?.error_code)==="feature_not_configured"?e?.data?.statusMessage||e?.statusMessage||e?.message||"This feature looks disabled on your provider setup. Ask support to enable breach checks.":e?.data?.statusMessage||e?.statusMessage||e?.message||"We could not load these settings. Try again."}),U=i(()=>{const e=T(x.value);return(e?.data?.error_code||e?.cause?.data?.error_code||e?.data?.data?.error_code)==="feature_not_configured"}),c=i(()=>b.value?.data?.compromised_password_check??null),I=i(()=>{const e=c.value;return e?e.can_toggle===!1:!0}),h=i(()=>{const e=B.value?.["2fa_type"],t=typeof e=="string"?e.trim().toLowerCase():"";return!t||t==="email"?!0:t!=="totp"}),P=i(()=>{const e=c.value;return!e||I.value?!1:!e.enabled}),W=i(()=>{const e=c.value;return!(!e||I.value||!e.enabled||h.value)}),A=i(()=>c.value?.enabled===!0?{label:"Protected",icon:"$shieldIcon",color:"success"}:{label:"Unprotected",icon:"$shieldIcon",color:"error"}),D=i(()=>{const e=c.value;return!e||w.value?"":e.toggle_locked_reason&&(e.can_toggle===!1||h.value&&e.enabled)?e.toggle_locked_reason:h.value&&e.enabled?"Email codes or no two-step login means we keep leak checks on. Authenticator-app 2FA can open up changes when admins allow.":e.can_toggle===!1?e.hibp_enforced?"Your admin pins leak checks on for this login.":e.source==="enforced"?"Turning this off is blocked by policy.":"You cannot switch this setting right now.":""});function j(e,t){const n=b.value;if(n?.result!=="success"||!n.data?.compromised_password_check)return;const r=e.data?.compromised_password_check;b.value={...n,data:{...n.data,compromised_password_check:r||{...n.data.compromised_password_check,enabled:t}}}}async function L(e){const t=c.value;if(!(!t||w.value||d.value)&&t.can_toggle!==!1&&!(!e&&h.value&&t.enabled)){d.value=!0;try{const{$apiFetch:n}=M(),r=await n("/api/user/security-settings",{method:"PUT",body:{compromised_password_check_enabled:e}});r.result==="success"&&(V?.(r.message||"Leak check preference saved.","success"),j(r,e))}catch(n){const r=T(n),E=r?.data?.statusMessage||r?.statusMessage||"We could not update this setting.";V?.(E,"error")}finally{d.value=!1}}}return X({title:"Security - Leaked-password check"}),(e,t)=>{const n=Y,r=q,E=ae,z=se;return l(),k("div",null,[o(n,{title:"Leaked-password check",subtitle:"Checks your login password against known public leak lists from other sites.","show-divider":!1}),o(_,null,{default:s(()=>[o(p,{cols:"12"},{default:s(()=>[a(w)?(l(),f(_,{key:0},{default:s(()=>[o(p,{cols:"12"},{default:s(()=>[g("div",ne,[g("div",re,[o(r,{name:"loader",height:"200px",width:"200px"})])])]),_:1})]),_:1})):(l(),k(Z,{key:1},[a(x)?(l(),f(_,{key:0},{default:s(()=>[o(p,{cols:"12"},{default:s(()=>[o(F,{type:"error",variant:"tonal",density:"compact",class:"mb-6"},{default:s(()=>[u(S(a(R)),1)]),_:1}),a(U)?(l(),f(C,{key:0,color:"primaryButtons",variant:"flat",to:"/support/select-department","min-width":"160"},{default:s(()=>[...t[2]||(t[2]=[u(" Contact Support ",-1)])]),_:1})):v("",!0)]),_:1})]),_:1})):a(c)?(l(),f(_,{key:1},{default:s(()=>[o(p,{cols:"12"},{default:s(()=>[g("div",le,[t[3]||(t[3]=g("div",{id:"breach-status-heading",class:"text-subtitle-2 text-medium-emphasis mb-3"}," Protection status ",-1)),g("div",ie,[o(ee,{icon:a(A).icon,color:a(A).color,size:"32",class:"mr-1","aria-hidden":"true"},null,8,["icon","color"]),o(te,{mode:"out-in"},{default:s(()=>[(l(),k("div",{role:"status","aria-live":"polite",class:"text-h4 font-weight-bold",key:a(c).enabled===!0?"on":"off"},S(a(A).label),1))]),_:1})])])]),_:1}),o(p,{cols:"12"},{default:s(()=>[g("div",ce,[a(P)?(l(),f(C,{key:0,color:"primaryButtons",variant:"flat",height:"40",class:"px-4",style:N({"min-width":e.$vuetify.display.lgAndUp?"230px":"100%"}),block:!e.$vuetify.display.lgAndUp,loading:a(d),disabled:a(d),onClick:t[0]||(t[0]=H=>L(!0))},{default:s(()=>[...t[4]||(t[4]=[u(" Turn on protection ",-1)])]),_:1},8,["style","block","loading","disabled"])):v("",!0),a(W)?(l(),f(C,{key:1,color:"error",variant:"flat",height:"40",class:"px-4",style:N({"min-width":e.$vuetify.display.lgAndUp?"150px":"100%"}),block:!e.$vuetify.display.lgAndUp,loading:a(d),disabled:a(d),onClick:t[1]||(t[1]=H=>L(!1))},{default:s(()=>[...t[5]||(t[5]=[u(" Turn protection off ",-1)])]),_:1},8,["style","block","loading","disabled"])):v("",!0)])]),_:1}),o(p,{cols:"12"},{default:s(()=>[o(z,{class:"mt-2",text:a(D)||pe},{default:s(()=>[a(D)&&a(h)&&a(c).enabled?(l(),k("p",ue,[t[7]||(t[7]=u(" Set up ",-1)),o(E,{class:"text-caption text-blackAccent text-decoration-underline font-weight-medium",to:"/settings/security"},{default:s(()=>[...t[6]||(t[6]=[u(" Two-factor authentication ",-1)])]),_:1}),t[8]||(t[8]=u(" with an authenticator app instead of email codes. That can unlock more control when your admin allows it. ",-1))])):v("",!0),g("p",{class:"text-caption text-medium-emphasis mb-0 mt-2"},S(de))]),_:1},8,["text"])]),_:1})]),_:1})):(l(),f(_,{key:2},{default:s(()=>[o(p,{cols:"12"},{default:s(()=>[o(F,{type:"info",variant:"tonal",density:"compact",class:"mb-0"},{default:s(()=>
1[...t[9]||(t[9]=[u(" We could not load this setting. Reload the page, or reach out to support if it keeps failing. ",-1)])]),_:1})]),_:1})]),_:1}))],64))]),_:1})]),_:1})])}}});export{he as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.