4 lines
4.0 KiB
JavaScript
4 lines
4.0 KiB
JavaScript
import{d as U,c as A}from"./pinia-BdokiiGX.chunk.mjs";import{e as o,p as I,d as M,l as R,i as m,h as j,j as x,v as i,o as n,c as E,u as a,w as k,b as p,t as r,m as L,F as _,k as f,x as B,n as g,a as y,_ as F,f as G}from"./TrayArrowDown-sRwZP_WA.chunk.mjs";import{g as H,a as N,b as w}from"./TrashCanOutline-avc1vI9P.chunk.mjs";import{s as P}from"./Plus-DDsJI2iW.chunk.mjs";import{c as q}from"./index-Dqjjhtll.chunk.mjs";import{a as z}from"./ContentCopy-BEfKgtZW.chunk.mjs";const D=H().detectLogLevel().setApp("twofactor_backupcodes").build();function J(d){const c=N().theming.name||"Nextcloud",e=window.open("",o("twofactor_backupcodes","{name} backup codes",{name:c}));if(!e)throw P(o("twofactor_backupcodes","Unable to open a new tab for printing")),new Error("Unable to open a new tab for printing");const t=e.document.createElement("h1");t.textContent=o("twofactor_backupcodes","{name} backup codes",{name:c});const s=e.document.createElement("pre");for(const b of d){const u=e.document.createTextNode(b);s.appendChild(u),s.appendChild(e.document.createElement("br"))}e.document.body.innerHTML="",e.document.body.appendChild(t),e.document.body.appendChild(s),e.print(),e.close()}async function K(){const d=I("/apps/twofactor_backupcodes/settings/create"),{data:c}=await M.post(d);return c}const v=R("twofactor_backupcodes","state"),O=U("twofactor_backupcodes",()=>{const d=m(v.enabled),c=m(v.total),e=m(v.used),t=m([]);async function s(){d.value=!1;const{codes:b,state:u}=await K();d.value=u.enabled,c.value=u.total,e.value=u.used,t.value=b}return{enabled:d,total:c,used:e,codes:t,generate:s}}),Q=["aria-label"],V=j({__name:"PersonalSettings",setup(d){const c=N().theming.name??"Nextcloud",e=O(),t=m(!1),s=x(()=>e.codes&&e.codes.length>0),b=c+"-backup-codes.txt",u=x(()=>s.value?"data:text/plain,"+encodeURIComponent(e.codes.reduce((l,C)=>l+C+`
|
|
`,"")):"");async function h(){await q(),t.value=!0;try{await e.generate()}catch(l){D.error("Error generating backup codes",{error:l}),P(o("twofactor_backupcodes","An error occurred while generating your backup codes"))}finally{t.value=!1}}function T(){J(!e.codes||e.codes.length===0?[]:e.codes)}return(l,C)=>(n(),i("div",{class:g(l.$style.backupcodesSettings)},[a(e).enabled?(n(),i(_,{key:1},[f("p",null,[s.value?(n(),i(_,{key:1},[p(r(a(o)("twofactor_backupcodes","These are your backup codes. Please save and/or print them as you will not be able to read the codes again later."))+" ",1),f("ul",{"aria-label":a(o)("twofactor_backupcodes","List of backup codes")},[(n(!0),i(_,null,B(a(e).codes,S=>(n(),i("li",{key:S,class:g(l.$style.backupcodesSettings__code)},r(S),3))),128))],8,Q)],64)):(n(),i(_,{key:0},[p(r(a(o)("twofactor_backupcodes","Backup codes have been generated. {used} of {total} codes have been used.",{used:a(e).used,total:a(e).total})),1)],64))]),f("p",{class:g(l.$style.backupcodesSettings__actions)},[y(a(w),{id:"generate-backup-codes",variant:"error",onClick:h},{default:k(()=>[p(r(a(o)("twofactor_backupcodes","Regenerate backup codes")),1)]),_:1}),s.value?(n(),i(_,{key:0},[y(a(w),{onClick:T},{default:k(()=>[p(r(a(o)("twofactor_backupcodes","Print backup codes")),1)]),_:1}),y(a(w),{href:u.value,download:b,variant:"primary"},{default:k(()=>[p(r(a(o)("twofactor_backupcodes","Save backup codes")),1)]),_:1},8,["href"])],64)):L("",!0)],2),f("p",null,[f("em",null,r(a(o)("twofactor_backupcodes","If you regenerate backup codes, you automatically invalidate old codes.")),1)])],64)):(n(),E(a(w),{key:0,disabled:t.value,variant:"primary",onClick:h},{icon:k(()=>[t.value?(n(),E(a(z),{key:0})):L("",!0)]),default:k(()=>[p(" "+r(a(o)("twofactor_backupcodes","Generate backup codes")),1)]),_:1},8,["disabled"]))],2))}}),W="_backupcodesSettings_bnkw8_2",X="_backupcodesSettings__code_bnkw8_7",Y="_backupcodesSettings__actions_bnkw8_13",Z={backupcodesSettings:W,backupcodesSettings__code:X,backupcodesSettings__actions:Y},ee={$style:Z},ae=F(V,[["__cssModules",ee]]),oe=A(),$=G(ae);$.use(oe),$.mount("#twofactor-backupcodes-settings");
|
|
//# sourceMappingURL=twofactor_backupcodes-settings-personal.mjs.map
|