"use strict";(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[40559],{28721:(B,j,s)=>{var L,T;L=[s(29930)],T=function(w){var E={},A,b;E.init=function(c,r){var n=c.find(".tags");if(n.length){A=ajaxify.data.hasOwnProperty("minTags")?ajaxify.data.minTags:config.minimumTagsPerTopic,b=ajaxify.data.hasOwnProperty("maxTags")?ajaxify.data.maxTags:config.maximumTagsPerTopic,n.tagsinput({tagClass:"badge bg-info rounded-1",confirmKeys:[13,44],trimValue:!0});var l=c.find(".bootstrap-tagsinput input");p(c,r,ajaxify.data),app.loadJQueryUI(function(){l.autocomplete({delay:100,position:{my:"left bottom",at:"left top",collision:"flip"},appendTo:c.find(".bootstrap-tagsinput"),open:function(){$(this).autocomplete("widget").css("z-index",2e4)},source:function(a,u){socket.emit("topics.autocompleteTags",{query:a.term,cid:r.cid},function(C,I){if(C)return w.error(C);I&&u(I),$(".ui-autocomplete a").attr("data-ajaxify","false")})},select:function(){m(l)}}),D(r.tags,n),n.on("beforeItemAdd",function(a){var u=b&&b<=E.getTags(c.attr("data-uuid")).length,C=utils.cleanUpTag(a.item,config.maximumTagLength),I=C!==a.item;if(a.cancel=I||a.item.lengthconfig.maximumTagLength||u,a.item.lengthconfig.maximumTagLength)return w.error("[[error:tag-too-long, "+config.maximumTagLength+"]]");if(u)return w.error("[[error:too-many-tags, "+b+"]]");var k=r.hasOwnProperty("cid")?r.cid:ajaxify.data.cid;$(window).trigger("action:tag.beforeAdd",{cid:k,tagEl:n,tag:a.item,event:a,inputAutocomplete:l}),I&&n.tagsinput("add",C),a.cancel&&l.length&&l.autocomplete("close")}),n.on("itemRemoved",function(a){!a.item||a.options&&a.options.skipRemoveCheck||socket.emit("topics.canRemoveTag",{tag:a.item},function(u,C){if(u)return w.error(u);C||(w.error("[[error:cant-remove-system-tag]]"),n.tagsinput("add",a.item,{skipAddCheck:!0}))})}),n.on("itemAdded",function(a){if(!(a.options&&a.options.skipAddCheck)){var u=r.hasOwnProperty("cid")?r.cid:ajaxify.data.cid;socket.emit("topics.isTagAllowed",{tag:a.item,cid:u||0},function(C,I){if(C)return w.error(C);if(!I)return n.tagsinput("remove",a.item,{skipRemoveCheck:!0});$(window).trigger("action:tag.added",{cid:u,tagEl:n,tag:a.item,inputAutocomplete:l}),l.length&&l.autocomplete("close")})}})}),l.attr("tabIndex",n.attr("tabIndex")),l.on("blur",function(){m(l)}),$('[component="composer/tag/dropdown"]').on("click","li",function(){var a=$(this).attr("data-tag");return a&&D([a],n),!1})}},E.isEnoughTags=function(c){return E.getTags(c).length>=A},E.minTagCount=function(){return A},E.onChangeCategory=function(c,r,n,l){var a=c.find('[component="composer/tag/dropdown"]');a.length&&(p(c,r,l),a.toggleClass("hidden",!l.tagWhitelist||!l.tagWhitelist.length),l.tagWhitelist&&app.parseAndTranslate("composer","tagWhitelist",{tagWhitelist:l.tagWhitelist},function(u){a.find(".dropdown-menu").html(u)}))};function p(c,r,n){var l=c.find(".tags"),a=c.find(".bootstrap-tagsinput input");a.length&&(n.hasOwnProperty("minTags")&&(A=n.minTags),n.hasOwnProperty("maxTags")&&(b=n.maxTags),n.tagWhitelist&&n.tagWhitelist.length?(a.attr("readonly",""),a.attr("placeholder",""),l.tagsinput("items").slice().forEach(function(u){n.tagWhitelist.indexOf(u)===-1&&l.tagsinput("remove",u)})):(a.removeAttr("readonly"),a.attr("placeholder",c.find("input.tags").attr("placeholder"))),c.find(".tags-container").toggleClass("haswhitelist",!!(n.tagWhitelist&&n.tagWhitelist.length)),c.find(".tags-container").toggleClass("hidden",n.privileges&&n.privileges.hasOwnProperty("topics:tag")&&!n.privileges["topics:tag"]||b===0&&!r&&!r.tags&&!r.tags.length),n.privileges&&n.privileges.hasOwnProperty("topics:tag")&&!n.privileges["topics:tag"]&&l.tagsinput("removeAll"),$(window).trigger("action:tag.toggleInput",{postContainer:c,tagWhitelist:n.tagWhitelist,tagsInput:a}))}function m(c){var r=jQuery.Event("keypress");r.which=13,r.keyCode=13,setTimeout(function(){c.trigger(r)},100)}function D(c,r){if(c&&c.length)for(var n=0;n{var L,T;L=[s(89596),s(13342),s(17459),s(29930),s(43103),s(64061)],T=function(w,E,A,b,p){var m={inProgress:{}},D="";m.initialize=function(d){l(d),a(d),c(d),r(d),A.translate("[[modules:composer.uploading, 0%]]",function(f){D=f})};function c(d){var f=$('.composer[data-uuid="'+d+'"]');f.find("#files").on("change",function(y){var O=(y.target||{}).files||($(this).val()?[{name:$(this).val(),type:utils.fileMimeType($(this).val())}]:null);O&&I({files:O,post_uuid:d,route:"/api/post/upload"})})}function r(d){var f=$('.composer[data-uuid="'+d+'"]');f.on("click",".topic-thumb-clear-btn",function(y){f.find("input#topic-thumb-url").val("").trigger("change"),n(f.find("input#topic-thumb-file")),$(this).addClass("hide"),y.preventDefault()}),f.on("paste change keypress","input#topic-thumb-url",function(){var y=$(this);setTimeout(function(){var O=y.val();O?f.find(".topic-thumb-clear-btn").removeClass("hide"):(n(f.find("input#topic-thumb-file")),f.find(".topic-thumb-clear-btn").addClass("hide")),f.find("img.topic-thumb-preview").attr("src",O)},100)})}function n(d){d.wrap("
").closest("form").get(0).reset(),d.unwrap()}function l(d){var f=$('.composer[data-uuid="'+d+'"]');p.handleDragDrop({container:f,callback:function(y){I({files:y.files,post_uuid:d,route:"/api/post/upload",formData:y.formData})}})}function a(d){var f=$('.composer[data-uuid="'+d+'"]');p.handlePaste({container:f,callback:function(y){I({files:y.files,fileNames:y.fileNames,post_uuid:d,route:"/api/post/upload",formData:y.formData})}})}function u(d){return d.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}function C(d,f,y){return d.slice(0,f)+y+d.slice(f)}function I(d){var f=[...d.files],y=d.post_uuid,O=$('.composer[data-uuid="'+y+'"]'),U=O.find("textarea"),i=U.val(),W=O.find("#fileForm"),G=!1;W.attr("action",config.relative_path+d.route);var h=E.getSelectedCid();!h&&ajaxify.data.cid&&(h=ajaxify.data.cid);var g=0,x=!1;for(g=0;gparseInt(config.maximumFileSize,10)*1024)return W[0].reset(),b.error("[[error:file-too-big, "+config.maximumFileSize+"]]");ne+=(x?"!":"")+"["+V[g]+"]("+D+") "}const oe=U.getCursorPosition(),se=i.length;i=C(i,oe,ne),W.length&&O.find('[data-action="post"]').prop("disabled",!0),U.val(i),$(window).trigger("action:composer.uploadStart",{post_uuid:y,files:V.map(function(q,F){return{filename:q.replace(/^\d+_\d{13}_/,""),isImage:/image./.test(f[F].type)}}),text:D}),W.off("submit").submit(function(){function q(F,N,R){var _;R&&(_=F.replace(/^\d+_\d{13}_/,""));var te=U.val(),Z=new RegExp(u(F)+"]\\([^)]+\\)","g");U.val(te.replace(Z,(_||F)+"]("+N+")")),$(window).trigger("action:composer.uploadUpdate",{post_uuid:y,filename:F,text:N})}return m.inProgress[y]=m.inProgress[y]||[],m.inProgress[y].push(1),d.formData&&d.formData.append("cid",h),$(this).ajaxSubmit({headers:{"x-csrf-token":config.csrf_token},resetForm:!0,clearForm:!0,formData:d.formData,data:{cid:h},error:function(F){G=!0,O.find('[data-action="post"]').prop("disabled",!1);const N=k(F,y);for(var R=0;R{var L,T;L=[s(65348),s(14063),s(49897)],T=function(w,E,A){var b={},p;b.init=function(r,n){var l=r.find(".category-list-container");l.length&&(r.on("action:composer.resize",function(){m(r)}),b.updateTaskbar(r,n),p=w.init(l.find('[component="category-selector"]'),{privilege:"topics:create",states:["watching","tracking","notwatching","ignoring"],onSelect:function(a){n.hasOwnProperty("cid")&&c(r,n,a)}}),p&&(n.cid&&n.category?p.selectedCategory={cid:n.cid,name:n.category.name}:ajaxify.data.template.compose&&ajaxify.data.selectedCategory&&(p.selectedCategory={cid:ajaxify.data.cid,name:ajaxify.data.selectedCategory}),r.find(".category-name").translateHtml(p.selectedCategory?p.selectedCategory.name:"[[modules:composer.select-category]]").on("click",function(){w.modal({privilege:"topics:create",states:["watching","tracking","notwatching","ignoring"],openOnLoad:!0,showLinks:!1,onSubmit:function(a){r.find(".category-name").text(a.name),p.selectCategory(a.cid),n.hasOwnProperty("cid")&&c(r,n,a)}})}),m(r)))};function m(r){r.find('.category-list-container [component="category-selector"]').toggleClass("dropup",r.outerHeight()<$(window).height()/2)}b.getSelectedCid=function(){var r;return p&&(r=p.getSelectedCategory()),r?r.cid:0},b.updateTaskbar=function(r,n){parseInt(n.cid,10)&&A.get(`/categories/${n.cid}`,{}).then(function(l){D(r,l)})};function D(r,n){if(n){var l=r.attr("data-uuid");E.update("composer",l,{image:n.backgroundImage,color:n.color,"background-color":n.bgColor,icon:n.icon&&n.icon.slice(3)})}}async function c(r,n,l){n.cid=l.cid;const a=await window.fetch(`${config.relative_path}/api/category/${l.cid}`).then(u=>u.json());n.category=a,D(r,a),s.e(56382).then(function(){var u=[s(72573),s(52543),s(92762)];(function(C,I,k){C.onChangeCategory(a),I.onChangeCategory(r,n,l.cid,a),k.onChangeCategory(r,n),$(window).trigger("action:composer.changeCategory",{postContainer:r,postData:n,selectedCategory:l,categoryData:a})}).apply(null,u)}).catch(s.oe)}return b}.apply(j,L),T!==void 0&&(B.exports=T)},49641:(B,j,s)=>{var L,T;L=[s(14063),s(17459),s(31494),s(449),s(74566),s(52543),s(13342),s(89596),s(99594),s(88518),s(72573),s(92762),s(41088),s(36159),s(49897),s(40027),s(29930),s(91749),s(10870),s(69749),s(51916)],T=function(w,E,A,b,p,m,D,c,r,n,l,a,u,C,I,k,d,f,y,O,U){var i={active:void 0,posts:{},bsEnvironment:void 0,formatting:void 0};$(window).off("resize",G).on("resize",G),G(),$(window).on("action:composer.topics.post",function(e,t){localStorage.removeItem("category:"+t.data.cid+":bookmark"),localStorage.removeItem("category:"+t.data.cid+":bookmark:clicked")}),$(window).on("popstate",function(){var e=utils.findBootstrapEnvironment();if(i.active&&(e==="xs"||e==="sm")){if(!i.posts[i.active].modified){i.discard(i.active),i.discardConfirm&&i.discardConfirm.length&&(i.discardConfirm.modal("hide"),delete i.discardConfirm);return}E.translate("[[modules:composer.discard]]",function(t){i.discardConfirm=k.confirm(t,function(o){o?i.discard(i.active):i.posts[i.active].modified=!0}),i.posts[i.active].modified=!1})}});function W(){var e=i.bsEnvironment;(ajaxify.data.template.compose===!0||e==="xs"||e==="sm")&&history.back()}function G(){var e=utils.findBootstrapEnvironment(),t=e==="xs"||e==="sm";c.toggle&&(c.env!==e&&t&&(c.env=e,c.toggle(!1)),c.env=e),i.active!==void 0&&(r.reposition($('.composer[data-uuid="'+i.active+'"]')),!t&&window.location.pathname.startsWith(config.relative_path+"/compose")?history.back():t&&!window.location.pathname.startsWith(config.relative_path+"/compose")&&oe()),i.bsEnvironment=e}function h(e){var t,o;e.hasOwnProperty("cid")?t="cid":e.hasOwnProperty("tid")?t="tid":e.hasOwnProperty("pid")&&(t="pid"),o=e[t];for(var v in i.posts)if(i.posts[v].hasOwnProperty(t)&&o===i.posts[v][t])return v;return!1}function g(e){if(e){var t=utils.generateUUID(),o=h(e);if(o)return w.updateActive(o),i.load(o);var v="[[topic:composer.new-topic]]";e.action==="posts.reply"?v="[[topic:composer.replying-to]]":e.action==="posts.edit"&&(v="[[topic:composer.editing-in]]"),E.translate(v,function(S){w.push("composer",t,{title:S.replace("%1",'"'+e.title+'"')})}),i.posts[t]=e,i.load(t)}}async function x(e,t){$('.composer[data-uuid="'+e+'"]').find(".composer-submit").removeAttr("disabled");const{showAlert:o}=await f.fire("filter:composer.error",{post_uuid:e,message:t,showAlert:!0});o&&d.alert({type:"danger",timeout:1e4,title:"",message:t,alert_id:"post_error"})}i.findByTid=function(e){for(var t in i.posts)if(i.posts.hasOwnProperty(t)&&i.posts[t].hasOwnProperty("tid")&&parseInt(i.posts[t].tid,10)===parseInt(e,10))return t;return null},i.addButton=function(e,t,o){b.addButton(e,t,o)},i.newTopic=async e=>{let t={save_id:e.save_id,action:"topics.post",cid:e.cid,handle:e.handle,title:e.title||"",body:e.body||"",tags:e.tags||[],modified:!!(e.title&&e.title.length||e.body&&e.body.length),isMain:!0};({pushData:t}=await f.fire("filter:composer.topic.push",{data:e,pushData:t})),g(t)},i.addQuote=function(e){e.uuid=e.uuid||i.active;var t=(e.title||"").replace(/([\\`*_{}[\]()#+\-.!])/g,"\\$1").replace(/\[/g,"[").replace(/\]/g,"]").replace(/%/g,"%").replace(/,/g,",");e.body&&(e.body="> "+e.body.replace(/\n/g,` > `)+` `);var o="["+t+"]("+config.relative_path+"/post/"+encodeURIComponent(e.selectedPid||e.toPid)+")";if(e.uuid===void 0){e.title&&(e.selectedPid||e.toPid)?i.newReply({tid:e.tid,toPid:e.toPid,title:e.title,body:"[[modules:composer.user-said-in, "+e.username+", "+o+`]] `+e.body}):i.newReply({tid:e.tid,toPid:e.toPid,title:e.title,body:"[[modules:composer.user-said, "+e.username+`]] `+e.body});return}else e.uuid!==i.active&&i.load(e.uuid);var v=$('.composer[data-uuid="'+e.uuid+'"]'),S=v.find("textarea"),P=S.val();e.title&&(e.selectedPid||e.toPid)?E.translate("[[modules:composer.user-said-in, "+e.username+", "+o+`]] `,config.defaultLang,M):E.translate("[[modules:composer.user-said, "+e.username+`]] `,config.defaultLang,M);function M(X){i.posts[e.uuid].body=(P.length?P+` `:"")+X+e.body,S.val(i.posts[e.uuid].body),R(v),c.render(v)}},i.newReply=function(e){E.translate(e.body,config.defaultLang,function(t){g({save_id:e.save_id,action:"posts.reply",tid:e.tid,toPid:e.toPid,title:e.title,body:t,modified:!!(t&&t.length),isMain:!1})})},i.editPost=function(e){socket.emit("plugins.composer.push",e.pid,function(t,o){if(t)return d.error(t);o.save_id=e.save_id,o.action="posts.edit",o.pid=e.pid,o.modified=!1,e.body&&(o.body=e.body,o.modified=!0),e.title&&(o.title=e.title,o.modified=!0),g(o)})},i.load=function(e){var t=$('.composer[data-uuid="'+e+'"]');t.length?(N(e),r.reposition(t),R(t),te()):i.formatting?ne(e):socket.emit("plugins.composer.getFormattingOptions",function(o,v){if(o)return d.error(o);i.formatting=v,ne(e)})},i.enhance=function(e,t,o){!t&&!o&&(t=utils.generateUUID(),i.posts[t]=ajaxify.data,o=ajaxify.data,e.attr("data-uuid",t)),D.init(e,i.posts[t]),l.init(e,i.posts),b.addHandler(e),b.addComposerButtons(),c.handleToggler(e),a.showAlert(e,o),A.initialize(t),m.init(e,i.posts[t]),n.init(e,t),e.on("change","input, textarea",function(){i.posts[t].modified=!0}),e.on("click",".composer-submit",function(P){P.preventDefault(),P.stopPropagation(),$(this).attr("disabled",!0),_(t)}),s.e(6411).then(function(){var P=[s(6411)];(function(M){M(e.get(0)).bind("mod+enter",function(){e.find(".composer-submit").attr("disabled",!0),_(t)})}).apply(null,P)}).catch(s.oe),e.find(".composer-discard").on("click",function(P){if(P.preventDefault(),!i.posts[t].modified)return i.discard(t),W();b.exitFullscreen();var M=$(this).prop("disabled",!0);E.translate("[[modules:composer.discard]]",function(X){k.confirm(X,function(ee){ee&&(i.discard(t),W()),M.prop("disabled",!1)})})}),e.find(".composer-minimize, .minimize .trigger").on("click",function(P){P.preventDefault(),P.stopPropagation(),i.minimize(t)});const v=e.find("textarea");v.on("input propertychange",utils.debounce(function(){c.render(e)},250)),v.on("scroll",function(){c.matchScroll(e)}),p.init(e,o);const S=p.get(o.save_id);c.render(e,function(){c.matchScroll(e)}),o.action==="posts.edit"&&!utils.isNumber(o.pid)&&se(e),q(e),F(e),R(e),o.action==="posts.edit"&&i.updateThumbCount(t,e),U.isEnabled||$('[data-format="zen"]').parent().addClass("hidden"),f.fire("action:composer.enhanced",{postContainer:e,postData:o,draft:S})};async function V(e){const{template:t}=ajaxify.data,o=parseInt(e.cid,10);if((t.category||t.world)&&o===parseInt(ajaxify.data.cid,10))return ajaxify.data;if(o){const v=o!==-1?`/api/category/${e.cid}`:"/api/world";return await I.get(v,{})}return null}async function ne(e){var t=i.posts[e],o=t?t.hasOwnProperty("cid"):!1,v=t?!!t.isMain:!1,S=t?!!t.pid:!1,P=t?parseInt(t.uid,10)===0:!1;const M=t.timestamp>Date.now();var X=t.title.replace(/%/g,"%").replace(/,/g,",");t.category=await V(t);const ee=t.category?t.category.privileges:ajaxify.data.privileges;var z={topicTitle:X,titleLength:X.length,body:E.escape(utils.escapeHTML(t.body)),mobile:i.bsEnvironment==="xs"||i.bsEnvironment==="sm",resizable:!0,thumb:t.thumb,isTopicOrMain:o||v,maximumTitleLength:config.maximumTitleLength,maximumPostLength:config.maximumPostLength,minimumTagLength:config.minimumTagLength,maximumTagLength:config.maximumTagLength,"composer:showHelpTab":config["composer:showHelpTab"],isTopic:o,isEditing:S,canSchedule:!!(v&&ee&&(ee["topics:schedule"]&&!S||M&&ee.view_scheduled)),canUploadImage:app.user.privileges["upload:post:image"]&&(config.maximumFileSize>0||app.user.isAdmin),canUploadFile:app.user.privileges["upload:post:file"]&&(config.maximumFileSize>0||app.user.isAdmin),showHandleInput:config.allowGuestHandles&&(app.user.uid===0||S&&P&&app.user.isAdmin),handle:t?t.handle||"":void 0,formatting:i.formatting,tagWhitelist:t.category?t.category.tagWhitelist:ajaxify.data.tagWhitelist,privileges:app.user.privileges,selectedCategory:t.category,submitOptions:[]};z.mobile&&(oe(),app.toggleNavbar(!1)),t.mobile=i.bsEnvironment==="xs"||i.bsEnvironment==="sm",{postData:t,createData:z}=await f.fire("filter:composer.create",{postData:t,createData:z}),app.parseAndTranslate("composer",z,function(H){if(!$('.composer.composer[data-uuid="'+e+'"]').length){H=$(H),H.find(".title").each(function(){$(this).text(E.unescape($(this).text()))}),H.attr("data-uuid",e),$(document.body).append(H);var K=$(H[0]);if(r.reposition(K),i.enhance(K,e,t),N(e),K.on("click",function(){w.isActive(e)||w.updateActive(e)}),r.handleResize(K),i.bsEnvironment==="xs"||i.bsEnvironment==="sm"){var Y=K.find(".composer-submit"),Q=K.find(".mobile-navbar .composer-submit"),ae=K.find(".write"),ie=ae.attr("tabindex");Y.removeAttr("tabindex"),Q.attr("tabindex",parseInt(ie,10)+1)}$(window).trigger("action:composer.loaded",{postContainer:K,post_uuid:e,composerData:i.posts[e],formatting:i.formatting}),u.apply(K.find(".write")),R(K),te()}})}function oe(){var e="compose?p="+window.location.pathname,t=window.location.pathname.slice(1)+window.location.search;t.startsWith(config.relative_path.slice(1))&&(t=t.slice(config.relative_path.length)),window.history.replaceState({url:null,returnPath:t},t,config.relative_path+"/"+t),window.history.pushState({url:e},e,`${config.relative_path}/${t}`)}function se(e){d.alert({title:"[[modules:composer.remote-pid-editing]]",message:"[[modules:composer.remote-pid-content-immutable]]",timeout:15e3});var t=e.find(".write-container");t.addClass("hidden")}function q(e){const t=e.find('[data-action="help"]');t.on("click",async function(){const o=await socket.emit("plugins.composer.renderHelp");o&&o.length>0&&k.dialog({size:"large",message:o,onEscape:!0,backdrop:!0,onHidden:function(){t.focus()}})})}function F(e){var t=e.attr("data-uuid"),o=i.posts[t]&&i.posts[t].action==="posts.edit",v=utils.findBootstrapEnvironment(),S=v==="xs"||v==="sm";o||S||O.enableQuickSearch({searchElements:{inputEl:e.find("input.title"),resultEl:e.find(".quick-search-container")},searchOptions:{composer:1},hideOnNoMatches:!0,hideDuringSearch:!0})}function N(e){i.active&&i.active!==e&&i.minimize(i.active),i.active=e;const t=$('.composer[data-uuid="'+e+'"]');t.css("visibility","visible"),$(window).trigger("action:composer.activate",{post_uuid:e,postContainer:t})}function R(e){setTimeout(function(){var t=e.find("input.title");t.length?t.focus():e.find("textarea").focus().putCursorAtEnd()},20)}async function _(e){var t=i.posts[e],o=$('.composer[data-uuid="'+e+'"]'),v=o.find(".handle"),S=o.find(".title"),P=o.find("textarea"),M=o.find("input#topic-thumb-url"),X=t.hasOwnProperty("template")&&t.template.compose===!0;const ee=o.find(".composer-submit");S.val(S.val().trim()),P.val(utils.rtrim(P.val())),M.length&&M.val(M.val().trim());var z=t.action,H=(t.hasOwnProperty("cid")||parseInt(t.pid,10))&&o.find("input.title").length,K=!H||H&&parseInt(t.cid,10),Y={post_uuid:e,postData:t,postContainer:o,titleEl:S,titleLen:S.val().length,bodyEl:P,bodyLen:P.val().length};if(await f.fire("filter:composer.check",Y),$(window).trigger("action:composer.check",Y),Y.error)return x(e,Y.error);if(A.inProgress[e]&&A.inProgress[e].length)return x(e,"[[error:still-uploading]]");if(H&&Y.titleLenparseInt(config.maximumTitleLength,10))return x(e,"[[error:title-too-long, "+config.maximumTitleLength+"]]");if(z==="topics.post"&&!K)return x(e,"[[error:category-not-selected]]");if(Y.bodyLenparseInt(config.maximumPostLength,10))return x(e,"[[error:content-too-long, "+config.maximumPostLength+"]]");if(H&&!m.isEnoughTags(e))return x(e,"[[error:not-enough-tags, "+m.minTagCount()+"]]");if(l.isActive()&&l.getTimestamp()<=Date.now())return x(e,"[[error:scheduling-to-past]]");let Q={uuid:e},ae="post",ie="";z==="topics.post"?(ie="/topics",Q={...Q,handle:v?v.val():void 0,title:S.val(),content:P.val(),thumb:M.val()||"",cid:D.getSelectedCid(),tags:m.getTags(e),timestamp:l.getTimestamp()}):z==="posts.reply"?(ie=`/topics/${t.tid}`,Q={...Q,tid:t.tid,handle:v?v.val():void 0,content:P.val(),toPid:t.toPid}):z==="posts.edit"&&(ae="put",ie=`/posts/${encodeURIComponent(t.pid)}`,Q={...Q,pid:t.pid,handle:v?v.val():void 0,content:P.val(),title:S.val(),thumb:M.val()||"",tags:m.getTags(e),timestamp:l.getTimestamp()});var re={composerEl:o,action:z,composerData:Q,postData:t,redirect:!0};await f.fire("filter:composer.submit",re),f.fire("action:composer.submit",Object.freeze(re));var le=$('#taskbar .composer[data-uuid="'+e+'"] i'),ce=o.find(".write");le.removeClass("fa-plus").addClass("fa-circle-o-notch fa-spin"),i.minimize(e),ce.prop("readonly",!0),I[ae](ie,Q).then(J=>{ee.removeAttr("disabled"),t.submitted=!0,i.discard(e),p.removeDraft(t.save_id),J.queued?d.alert({type:"success",title:"[[global:alert.success]]",message:J.message,timeout:1e4,clickfn:function(){ajaxify.go(`/post-queue/${J.id}`)}}):z==="topics.post"?re.redirect&&ajaxify.go("topic/"+J.slug,void 0,X||i.bsEnvironment==="xs"||i.bsEnvironment==="sm"):z==="posts.reply"?X||i.bsEnvironment==="xs"||i.bsEnvironment==="sm"?window.history.back():re.redirect&&(ajaxify.data.template.name!=="topic"||ajaxify.data.template.topic&&parseInt(t.tid,10)!==parseInt(ajaxify.data.tid,10))&&ajaxify.go("post/"+J.pid):W(),f.fire("action:composer."+z,{composerData:Q,data:J})}).catch(J=>{if(i.load(e),ce.prop("readonly",!1),J.message==="[[error:email-not-confirmed]]")return y.showEmailConfirmWarning(J.message);x(e,J.message)})}function te(){$("html").addClass("composing")}function Z(){$("#content").css({paddingBottom:0}),$("html").removeClass("composing"),app.toggleNavbar(!0),b.exitFullscreen()}return i.discard=function(e){if(i.posts[e]){var t=i.posts[e],o=$('.composer[data-uuid="'+e+'"]');o.remove(),p.removeDraft(t.save_id),C.deleteAll(e),w.discard("composer",e),$('[data-action="post"]').removeAttr("disabled"),f.fire("action:composer.discard",{post_uuid:e,postData:t}),delete i.posts[e],i.active=void 0}l.reset(),Z()},i.close=i.discard,i.minimize=function(e){var t=$('.composer[data-uuid="'+e+'"]');t.css("visibility","hidden"),i.active=void 0,w.minimize("composer",e),$(window).trigger("action:composer.minimize",{post_uuid:e}),Z()},i.minimizeActive=function(){i.active&&i.miminize(i.active)},i.updateThumbCount=function(e,t){const o=i.posts[e];if(o.action==="topics.post"||o.action==="posts.edit"&&o.isMain){const v=[C.get(e)];o.pid&&v.push(C.getByPid(o.pid)),Promise.all(v).then(S=>{const P=S.flat().length;t.find('[data-format="thumbs"]').find(".badge").text(P).toggleClass("hidden",!P)})}},i}.apply(j,L),T!==void 0&&(B.exports=T)},54516:(B,j,s)=>{var L,T;L=[s(89596),s(34405)],T=function(w,E){var A={_active:{}};return $(window).on("action:composer.discard",function(b,p){A._active.hasOwnProperty(p.post_uuid)&&(A._active[p.post_uuid].destroy(),delete A._active[p.post_uuid])}),A.init=function(b,p){var m=b.find(".write"),D="composer-autocomplete-dropdown-"+p,c;if(m.length){var r={element:m,strategies:[],options:{style:{"z-index":2e4},className:D+" dropdown-menu textcomplete-dropdown"}};m.on("keyup",function(){clearTimeout(c),c=setTimeout(function(){var n=document.querySelector("."+D);if(n){var l=n.getBoundingClientRect(),a=parseFloat(n.style.marginTop,10)||0,u=window.innerHeight+a-10-l.bottom;n.style.marginTop=Math.min(u,0)+"px"}},0)}),$(window).trigger("composer:autocomplete:init",r),A._active[p]=E.setup(r),r.element.on("textComplete:select",function(){w.render(b)})}},A}.apply(j,L),T!==void 0&&(B.exports=T)},59367:(B,j,s)=>{var L,T;L=[s(81335),s(40027),s(29930),s(17459)],T=function(w,E,A,b){const p={},m={timestamp:0,open:!1,edit:!1,posts:{}};let D=[],c,r,n,l;const a={el:null,defaultText:"",activeText:""},u={el:null,icon:null,defaultText:"",activeText:""};let C,I;$(window).on("action:composer.activate",y),p.init=function(h,g){m.timestamp=0,m.posts=g,b.translateKeys(["[[topic:composer.post-later]]","[[modules:composer.change-schedule-date]]"]).then(x=>{a.defaultText=x[0],a.activeText=x[1]}),D=h[0].querySelectorAll(".display-scheduler"),c=h[0].querySelectorAll(".display-scheduler i"),a.el=h[0].querySelector(".dropdown-item.display-scheduler"),r=h[0].querySelector(".dropdown-item.cancel-scheduling"),n=h.find('[component="composer/submit/container"]'),l=h.find('[component="composer/submit/options/container"]'),u.el=h[0].querySelector(".composer-submit:not(.btn-sm)"),u.icon=u.el.querySelector("i"),u.defaultText=u.el.lastChild.textContent,u.activeText=u.el.getAttribute("data-text-variant"),r.addEventListener("click",i),D.forEach(x=>x.addEventListener("click",k))},p.getTimestamp=function(){return!p.isActive()||isNaN(m.timestamp)?0:m.timestamp},p.isActive=function(){return m.timestamp>0},p.isOpen=function(){return m.open},p.reset=function(){m.timestamp=0},p.onChangeCategory=function(h){G(h.privileges["topics:schedule"]),W(!1);const g=h.privileges["topics:schedule"]||l.attr("data-submit-options")>0;n.find(".composer-submit").toggleClass("rounded-1",!g),l.toggleClass("hidden",!g),p.reset()};async function k(){const h=await w.render("modals/topic-scheduler");E.dialog({message:h,title:"[[modules:composer.schedule-for]]",className:"topic-scheduler",onShown:d,onHidden:f,onEscape:!0,buttons:{cancel:{label:m.timestamp?"[[modules:composer.cancel-scheduling]]":"[[modules:bootbox.cancel]]",className:(m.timestamp?"btn-warning":"btn-outline-secondary")+(m.edit?" hidden":""),callback:i},set:{label:"[[modules:composer.set-schedule-date]]",className:"btn-primary",callback:U}}})}function d(h){m.open=!0;const g=h.target.querySelector(".datetime-picker");C=g.querySelector('input[type="date"]'),I=g.querySelector('input[type="time"]'),O()}function f(){m.open=!1}function y(h,{post_uuid:g}){m.edit=!1;const x=m.posts[g];x&&x.isMain&&x.timestamp>Date.now()&&(m.timestamp=x.timestamp,m.edit=!0,W())}function O(){const h=new Date,g=new Date(h.getTime()-h.getTimezoneOffset()*6e4).toJSON();if(C.setAttribute("min",g.slice(0,10)),I.setAttribute("min",g.slice(11,-8)),p.isActive()){const x=new Date(m.timestamp-h.getTimezoneOffset()*6e4).toJSON();C.value=x.slice(0,10),I.value=x.slice(11,-8)}}function U(){const h=C.value&&I.value,g=new Date(`${C.value} ${I.value}`).getTime();if(!h||isNaN(g)||gg.classList.toggle("active",h)),u.icon&&(u.icon.classList.toggle("fa-check",!h),u.icon.classList.toggle("fa-clock-o",h)),a.el&&(a.el.textContent=h?a.activeText:a.defaultText,r.classList.toggle("hidden",!h)),u.el.lastChild.textContent=h?u.activeText:u.defaultText}function G(h){D.forEach(g=>g.classList.toggle("hidden",!h))}return p}.apply(j,L),T!==void 0&&(B.exports=T)},94252:(B,j)=>{var s,L;s=[],L=function(){const T={};return T.showAlert=async function(w,E){const A=w.find('[component="composer/post-queue/alert"]');if(!config.postQueue||app.user.isAdmin||app.user.isGlobalMod||app.user.isMod){A.remove();return}const b=await socket.emit("plugins.composer.shouldQueue",{postData:E});A.toggleClass("show",b),A.toggleClass("pe-none",!b)},T.onChangeCategory=async function(w,E){config.postQueue&&T.showAlert(w,E)},T}.apply(j,s),L!==void 0&&(B.exports=L)}}]);