Files
wt cf25e28c28
Rust verification / test (push) Successful in 4m10s
initial commit
2026-10-28 15:59:54 +07:00

2 lines
9.4 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{ae as se,P as B,h as d,l as p,m as e,n as T,j as t,t as a,p as h,k as b,d as N,i as o,e as g,C as te,u as ne,a as ae,a8 as le,af as oe,o as ie,w as k,M as re,f as _,a7 as E,a4 as z,F as de,E as ue,ak as ce,$ as pe}from"./app-dvJP63FL.js";import{t as he}from"./tabs-BVx9tg1F.js";import{u as me}from"./appSettingsUpdater-D1Bq_3WB.js";import{C as fe}from"./check-CPGWPXZa.js";import{X as _e}from"./x-DQVIq0xP.js";import{_ as ge}from"./CopyButton-CgxgBp0c.js";import{u as be}from"./breakpoints-CyLcIEOu.js";import{c as ke}from"./createLucideIcon-DsaEAGzP.js";import{E as U}from"./external-link-CqpXNovN.js";const ve=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],ye=ke("send",ve),V=se("web"),I={getSystemInfos(u={}){return V.get("system/infos",{...u})},getLastRelease(u={}){return V.get("system/latestRelease",{...u})},sendTestEmail(u={}){return V.post("system/test-email",{},{...u})},clearCache(u={}){return V.get("system/clear-cache",{...u})},optimize(u={}){return V.get("system/optimize",{...u})}},$e={class:"columns is-mobile is-vcentered"},Se={class:"column is-narrow"},Ce={class:"column has-text-grey"},Ee={key:0,class:"mt-2 has-text-warning"},Ve={class:"is-size-7 is-link",href:"https://github.com/Bubka/2FAuth/releases"},we={key:1},Ie={key:2},Re={__name:"VersionChecker",setup(u){const v=B(),m=g(!1),c=g();async function w(){m.value=!0,c.value=void 0,await I.getLastRelease({returnError:!0}).then(r=>{v.latestRelease=r.data.newRelease,c.value=r.data.newRelease===null?null:r.data.newRelease===!1}).catch(()=>{c.value=null}),m.value=!1}return(r,i)=>(d(),p("div",$e,[e("div",Se,[e("button",{type:"button",class:T([t(m)?"is-loading":"","button is-link is-rounded is-small"]),onClick:w},a(r.$t("label.check_now")),3)]),e("div",Ce,[t(v).latestRelease?(d(),p("span",Ee,[i[0]||(i[0]=e("span",{class:"release-flag"},null,-1)),h(a(r.$t("message.x_is_available",{version:t(v).latestRelease}))+" ",1),e("a",Ve,a(r.$t("link.view_on_github")),1)])):b("",!0),t(c)?(d(),p("span",we,[t(c)?(d(),N(t(fe),{key:0,class:"mr-1 has-text-success inline"})):b("",!0),h(a(r.$t("message.you_are_up_to_date")),1)])):t(c)===null?(d(),p("span",Ie,[o(t(_e),{class:"mr-1 has-text-danger inline"}),h(a(r.$t("error.check_failed_try_later")),1)])):b("",!0)])]))}},Fe={key:0,class:"pr-5 settings-menu"},Ue={class:"menu"},Te={class:"menu-list"},Ne={class:"field"},De={class:"label",for:"btnTestEmail"},Le={class:"help"},ze={class:"help"},Be={class:"is-family-code has-text-info"},Ae={class:"columns is-mobile is-vcentered"},We={class:"column is-narrow"},Me={class:"icon is-small"},Pe={key:0,class:"about-debug box is-family-monospace is-size-7 is-shadowless"},je={class:"field"},He={class:"label",for:"lnkHealthCheck"},Qe={class:"help"},Xe={class:"field mb-5"},qe={class:"help ml-5"},Ge={class:"field mt-4"},Je={id:"lnkSharingDoc",class:"is-link",target:"_blank",href:"https://docs.2fauth.app/usage/2fa-sharing/"},Ke={class:"help"},Oe={class:"field mt-4"},Ye={id:"lnkIconsDoc",class:"is-link",target:"_blank",href:"https://docs.2fauth.app/usage/icons/"},Ze={class:"field"},xe={for:"btnClearCache",class:"label"},es={class:"help"},ss={class:"field mb-5 is-grouped"},ts={class:"control"},ns={class:"field"},as={for:"btnCopyEnvVars",class:"label"},ls={key:1,class:"about-debug box is-family-monospace is-size-7 is-shadowless"},os=["value"],is={class:"has-text-grey"},rs={key:2,class:"about-debug box is-family-monospace is-size-7 has-text-warning-dark is-shadowless"},bs={__name:"AppSetup",setup(u){const v=te(),{t:m}=ne(),c=re("2fauth"),w=ae(),r=pe(),i=B(),A=le(c.prefix+"returnTo","accounts"),{isLaptop:W}=be(),y=g(),D=g(null),R=g(!1),$=g(null),F=g(!1),M=c.config.subdirectory+"/up",P=location.hostname+c.config.subdirectory+"/up",j=E("heading-general"),H=E("heading-sharing"),Q=E("heading-storage"),X=E("heading-security"),q=E("heading-environment"),S=s=>{s&&s.scrollIntoView({behavior:"smooth"})};function G(){R.value=!0,$.value=null,I.sendTestEmail({returnError:!0}).then(s=>{r.success({text:m("notification.test_email_sent")})}).catch(s=>{s.response.status===424?$.value=s.response.data.details:v.show(s)}).finally(()=>{R.value=!1})}function J(){F.value=!0,I.clearCache().then(s=>{r.success({text:m("notification.cache_cleared")})}).finally(()=>{F.value=!1})}async function C(s,n){const{error:f}=await me(s,n);f==null&&r.success({text:m("notification.setting_saved")})}return oe(s=>{s.name.startsWith("admin.")||r.clear()}),ie(async()=>{await i.fetch(),I.getSystemInfos({returnError:!0}).then(s=>{y.value=s.data.common}).catch(()=>{y.value=null})}),(s,n)=>{const f=_("FormCheckbox"),K=_("i18n-t"),O=_("FormFieldError"),Y=_("ResponsiveWidthWrapper"),Z=_("NavigationButton"),x=_("VueFooter"),ee=_("StackLayout");return d(),N(ee,null,{header:k(()=>[o(t(ce),{tabs:t(he),"active-tab":"admin.appSetup",onTabSelected:n[0]||(n[0]=l=>("router"in s?s.router:t(z)).push({name:l}))},null,8,["tabs"])]),content:k(()=>[o(Y,null,{default:k(()=>[t(W)&&t(w).preferences.showQuickNavMenus?(d(),p("div",Fe,[e("aside",Ue,[e("ul",Te,[e("li",null,[e("button",{onClick:n[1]||(n[1]=l=>S(t(j)))},a(s.$t("heading.general")),1)]),e("li",null,[e("button",{onClick:n[2]||(n[2]=l=>S(t(H)))},a(s.$t("heading.sharing")),1)]),e("li",null,[e("button",{onClick:n[3]||(n[3]=l=>S(t(Q)))},a(s.$t("heading.storage")),1)]),e("li",null,[e("button",{onClick:n[4]||(n[4]=l=>S(t(X)))},a(s.$t("heading.security")),1)]),e("li",null,[e("button",{onClick:n[5]||(n[5]=l=>S(t(q)))},a(s.$t("heading.environment")),1)])])])])):b("",!0),e("form",null,[e("h4",{ref:"heading-general",class:"title is-4"},a(s.$t("heading.general")),513),o(f,{modelValue:t(i).checkForUpdate,"onUpdate:modelValue":[n[6]||(n[6]=l=>t(i).checkForUpdate=l),n[7]||(n[7]=l=>C("checkForUpdate",l))],fieldName:"checkForUpdate",label:"field.check_for_update",help:"field.check_for_update.help"},null,8,["modelValue"]),o(Re),e("div",Ne,[e("label",De,a(s.$t("field.test_email")),1),e("p",Le,a(s.$t("field.test_email.help")),1),e("p",ze,[o(K,{keypath:"message.email_will_be_send_to_x",tag:"span"},{email:k(()=>[e("span",Be,a(t(w).email),1)]),_:1})])]),e("div",Ae,[e("div",We,[e("button",{id:"btnTestEmail",type:"button",class:T([t(R)?"is-loading":"","button is-link is-rounded is-small"]),onClick:G},[e("span",Me,[o(t(ye),{class:"icon-size-1"})]),e("span",null,a(s.$t("label.send")),1)],2)])]),t($)?(d(),p("div",Pe,[t($)?(d(),N(O,{key:0,error:s.$t("error.email_sending_failed"),field:"testEmail"},null,8,["error"])):b("",!0),h(" "+a(t($)),1)])):b("",!0),e("div",je,[e("label",He,a(s.$t("field.health_endpoint")),1),e("p",Qe,a(s.$t("field.health_endpoint.help")),1)]),e("div",Xe,[e("a",{id:"lnkHealthCheck",class:"is-link",target:"_blank",href:M},[h(a(P)+" "),o(t(U))])]),e("h4",{ref:"heading-sharing",class:"title is-4 pt-5"},a(s.$t("heading.sharing")),513),o(f,{modelValue:t(i).enableSharing,"onUpdate:modelValue":[n[8]||(n[8]=l=>t(i).enableSharing=l),n[9]||(n[9]=l=>C("enableSharing",l))],fieldName:"enableSharing",label:"field.enable_sharing",help:"field.enable_sharing.help"},null,8,["modelValue"]),o(f,{modelValue:t(i).enableAllUsersSharingScope,"onUpdate:modelValue":[n[10]||(n[10]=l=>t(i).enableAllUsersSharingScope=l),n[11]||(n[11]=l=>C("enableAllUsersSharingScope",l))],fieldName:"enableAllUsersSharingScope",isDisabled:!t(i).enableSharing,isIndented:!0,label:"field.enable_all_users_sharing_scope",help:"field.enable_all_users_sharing_scope.help"},null,8,["modelValue","isDisabled"]),e("p",qe,a(s.$t("field.enable_all_users_sharing_scope.help_bis")),1),e("div",Ge,[e("a",Je,[h(a(s.$t("link.sharing_doc"))+" ",1),o(t(U))])]),e("h4",{ref:"heading-storage",class:"title is-4 pt-5"},a(s.$t("heading.storage")),513),o(f,{modelValue:t(i).storeIconsInDatabase,"onUpdate:modelValue":[n[12]||(n[12]=l=>t(i).storeIconsInDatabase=l),n[13]||(n[13]=l=>C("storeIconsInDatabase",l))],fieldName:"storeIconsInDatabase",label:"field.store_icon_to_database",help:"field.store_icon_to_database.help"},null,8,["modelValue"]),e("p",Ke,a(s.$t("field.store_icon_to_database.help_bis")),1),e("div",Oe,[e("a",Ye,[h(a(s.$t("link.icons_doc"))+" ",1),o(t(U))])]),e("h4",{ref:"heading-security",class:"title is-4 pt-5"},a(s.$t("heading.security")),513),o(f,{modelValue:t(i).useEncryption,"onUpdate:modelValue":[n[14]||(n[14]=l=>t(i).useEncryption=l),n[15]||(n[15]=l=>C("useEncryption",l))],fieldName:"useEncryption",label:"field.use_encryption",help:"field.use_encryption.help"},null,8,["modelValue"])]),e("h4",{ref:"heading-environment",class:"title is-4 pt-5"},a(s.$t("heading.environment")),513),e("div",Ze,[e("label",xe,a(s.$t("field.cache_management")),1),e("p",es,a(s.$t("field.cache_management.help")),1)]),e("div",ss,[e("p",ts,[e("button",{id:"btnClearCache",type:"button",class:T([t(F)?"is-loading":"","button is-link is-rounded is-small"]),onClick:J},a(s.$t("label.clear")),3)])]),e("div",ns,[e("label",as,a(s.$t("label.variables")),1)]),t(y)?(d(),p("div",ls,[o(ge,{id:"btnCopyEnvVars",token:t(D)?.innerText},null,8,["token"]),e("ul",{ref_key:"listInfos",ref:D,id:"listInfos"},[(d(!0),p(de,null,ue(t(y),(l,L)=>(d(),p("li",{value:l,key:L},[e("b",null,a(L),1),n[17]||(n[17]=h(": ",-1)),e("span",is,a(l),1)],8,os))),128))],512)])):t(y)===null?(d(),p("div",rs,a(s.$t("error.error_during_data_fetching")),1)):b("",!0)]),_:1})]),footer:k(()=>[o(x,null,{default:k(()=>[o(Z,{action:"close",onClosed:n[16]||(n[16]=l=>("router"in s?s.router:t(z)).push({name:t(A)})),"current-page-title":s.$t("title.admin.appSetup")},null,8,["current-page-title"])]),_:1})]),_:1})}}};export{bs as default};