import{r as f,t as h,n as r,e as p,c as d,v as c,s as m,d as w,N as _,a as g,b as v,V as b}from"./_plugin-vue2_normalizer-KVSkBM2L.chunk.mjs";import{d as u,t as a,l as C}from"./logger-NonNsq4V.chunk.mjs";function x(t,e,i){const l=document.querySelector(`#initial-state-${t}-${e}`);if(l===null){if(i!==void 0)return i;throw new Error(`Could not find initial state ${e} of ${t}`)}try{return JSON.parse(atob(l.value))}catch{throw new Error(`Could not parse initial state ${e} of ${t}`)}}const S={name:"HelpCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var L=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon help-circle-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(i){return t.$emit("click",i)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},y=[],D=r(S,L,y,!1,null,null);const N=D.exports;f(h);const[s]=x("core","config",{version:"30.0"}).version.split(".",2)??[],T=s&&Number.parseInt(s)<30,$={name:"NcSettingsSection",components:{HelpCircle:N},props:{name:{type:String,required:!0},description:{type:String,default:""},docUrl:{type:String,default:""},limitWidth:{type:Boolean,default:!0}},data(){return{docNameTranslated:p("External documentation for {name}",{name:this.name})}},computed:{forceLimitWidth(){return this.limitWidth||!T},hasDescription(){return this.description.length>0},hasDocUrl(){return this.docUrl.length>0}}};var k=function(){var t=this,e=t._self._c;return e("div",{staticClass:"settings-section",class:{"settings-section--limit-width":t.forceLimitWidth}},[e("h2",{staticClass:"settings-section__name"},[t._v(" "+t._s(t.name)+" "),t.hasDocUrl?e("a",{staticClass:"settings-section__info",attrs:{href:t.docUrl,title:t.docNameTranslated,"aria-label":t.docNameTranslated,target:"_blank",rel:"noreferrer nofollow"}},[e("HelpCircle",{attrs:{size:20}})],1):t._e()]),t.hasDescription?e("p",{staticClass:"settings-section__desc"},[t._v(" "+t._s(t.description)+" ")]):t._e(),t._t("default")],2)},A=[],H=r($,k,A,!1,null,"56b92b56");const F=H.exports;async function n(t){try{return await d.put(c("/apps/files_downloadlimit/api/v1/limit"),{limit:t}),!0}catch(e){u.error("Failed to set default download limit",{error:e}),m(a("files_downloadlimit","Failed to set default download limit"))}return!1}async function U(){try{return await d.delete(c("/apps/files_downloadlimit/api/v1/limit")),!0}catch(t){u.error("Failed to remove default download limit",{error:t}),m(a("files_downloadlimit","Failed to remove default download limit"))}return!1}const o=C("files_downloadlimit","default-download-limit",-1),z=w({name:"AdminSettings",components:{NcCheckboxRadioSwitch:g,NcSettingsSection:F,NcTextField:_},data(){return{limit:Math.max(o,1),enableDefaultLimit:o!==-1,showLoading:!1,showSuccess:!1}},computed:{helperText(){return typeof this.limit=="number"&&this.limit<=0?a("files_downloadlimit","The minimum limit is 1"):""}},watch:{async limit(t){await n(t)&&(this.showSuccess=!0,window.setTimeout(()=>{this.showSuccess=!1},1e3))},async enableDefaultLimit(t,e){this.showLoading=!0;let i;t?i=await n(1):i=await U(),i||(this.enableDefaultLimit=e),this.showLoading=!1}},methods:{t:a}});var M=function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcSettingsSection",{attrs:{name:t.t("files_downloadlimit","Download limit"),description:t.t("files_downloadlimit","Configure the default download limit for external shares.")}},[e("NcCheckboxRadioSwitch",{attrs:{loading:t.showLoading,type:"switch"},model:{value:t.enableDefaultLimit,callback:function(i){t.enableDefaultLimit=i},expression:"enableDefaultLimit"}},[t._v(" "+t._s(t.t("files_downloadlimit","Default download limit for external shares"))+" ")]),e("NcTextField",{directives:[{name:"show",rawName:"v-show",value:t.enableDefaultLimit,expression:"enableDefaultLimit"}],staticClass:"settings__field",attrs:{disabled:!t.enableDefaultLimit||t.showLoading,label:t.t("files_downloadlimit","Set default download limit"),type:"number",min:"1","helper-text":t.helperText,error:!!t.helperText,success:t.showSuccess},model:{value:t.limit,callback:function(i){t.limit=i},expression:"limit"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:!t.enableDefaultLimit,expression:"!enableDefaultLimit"}],staticClass:"settings__placeholder"})],1)},W=[],E=v(z,M,W,!1,null,"09e14322");const V=E.exports,q=new b({render:t=>t(V)});q.$mount("#admin-download-limit"); //# sourceMappingURL=files_downloadlimit-admin.mjs.map