let userProfileData=window.getProfileData();const headers=window.baseHeadersJsonApi,commentCharactersCount=1500,siteWrap=document.querySelector(".site_wrap"),threadCountElement=document.querySelector(".js_threadCount"),commentTextarea=document.querySelector(".js_postTextarea"),mentionContainer=document.getElementById("mentionContainer"),sendButton=document.querySelector(".js_sendButton"),commentsWrap=document.querySelector(".list_comments"),reportSelector=".thread_comment__report",mentionListSelector=".mention-list",noMatchSelector="ul.no-match";let threadCount=threadCountElement?Number(threadCountElement.innerText):0,globalCursorPosition=-1,globalSearchTerm="",globalSearchTermWithSimbol="";function isElementInViewport(e){var t,n,o=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top",a=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0;return!!e&&(t=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight,"top"===o?0<=t.top&&t.top<=n+a:"bottom"===o&&0<=t.bottom&&t.bottom<=n+a)}function checkAndSetTruncatedClass(){var e=document.querySelectorAll(".js_verifiedUser");e.length&&e.forEach(e=>{e.classList.toggle("has-truncated-username",e.scrollWidth>e.clientWidth)})}function setEndOfContenteditable(e){let t;var n;document.createRange?((t=document.createRange()).selectNodeContents(e),t.collapse(!1),(n=window.getSelection()).removeAllRanges(),n.addRange(t)):document.selection&&((t=document.body.createTextRange()).moveToElementText(e),t.collapse(!1),t.select())}function toggleHtmlOverflow(){var e=document.documentElement;e&&(e.style.overflow="hidden"===e.style.overflow?"auto":"hidden")}function unhideReportButtons(){const r=(new Date).getTime();var e=document.querySelectorAll(".posted-by-user");e.length&&e.forEach(e=>{var t,n,o,a=e.getAttribute("data-created-date");a&&(t=new Date(a).getTime(),n=r-t,o=e.querySelector(reportSelector))&&o.classList.toggle("hidden",6e5<=n)})}function handleOutsideClick(n){var e=document.querySelectorAll(reportSelector+" .dropdown-menu");e.length&&e.forEach(e=>{var t=e.closest(reportSelector);e.classList.contains("hidden")||!t||t.contains(n.target)||e.classList.add("hidden")})}function toggleDropdownSortMenu(e){var t,n;e&&(t=document.querySelector(".js_dropdownBg"),n=e.querySelector(".dropdown_close"),e.classList.toggle("hidden"),window.isMob&&t&&(t.classList.toggle("hidden"),t.addEventListener("click",()=>toggleDropdownSortMenu(e)),n.addEventListener("click",()=>toggleDropdownSortMenu(e))),toggleHtmlOverflow())}function setupSorting(){const a=document.querySelector(".js_sortDropdown"),r=document.querySelector(".js_sortMenu");if(a&&r){const i=r.querySelectorAll(".js_sortItem"),s=new URLSearchParams(window.location.search),n=s.get("redoslijed");a.addEventListener("click",()=>toggleDropdownSortMenu(r)),i.forEach(e=>{var t;e.classList.toggle("is-active",e.dataset.sortType===n||!n&&"relevantni"===e.dataset.sortType),e.classList.contains("is-active")&&(t=a.querySelector("span"))&&(t.textContent=e.textContent)}),i.forEach(o=>{o.addEventListener("click",()=>{i.forEach(e=>e.classList.remove("is-active")),o.classList.add("is-active");var e,t,n=a.querySelector("span");n&&(n.textContent=o.textContent),e=o.dataset.sortType,s.set("redoslijed",e),t=window.location.pathname+"?"+s.toString(),window.location.assign(t),r.classList.add("hidden")})})}}function setLoadingSpinner(e){e.disabled=!0;var t=document.createElement("div");t.classList.add("loader"),e.insertBefore(t,e.firstChild)}function stripHtml(e){var t=document.createElement("div");return t.innerHTML=e,t.textContent||t.innerText||""}function toggleReactionElements(e){var t,n,o;e&&(t=e.classList.contains("active"),n=e.querySelector(".js_ownHasOwn"),o=e.querySelector(".js_withoutOwn"),null!=n&&n.classList.toggle("hide",!t),null!=o)&&o.classList.toggle("hide",t)}function setCommentsOwnReactions(){document.querySelectorAll(".thread_comment .like").forEach(toggleReactionElements),document.querySelectorAll(".thread_comment .dislike").forEach(toggleReactionElements)}async function addReaction(n,o){var a=window.getUserToken();if(a){var r=document.querySelector(".js_like-"+n),i=document.querySelector(".js_dislike-"+n);if(r&&i){var s=r.querySelector(".js_commentsLikeCount"),l=i.querySelector(".js_commentsDislikeCount");if(s&&l){let e=Number(s.innerText),t=Number(l.innerText);var d="like"===o&&r.classList.contains("active")||"dislike"===o&&i.classList.contains("active"),c=window.baseApiUrl+`/comments/${n}/`+o;headers.Authorization="Bearer "+a;try{var m=await fetch(c,{method:"POST",headers:headers,body:JSON.stringify({data:{attributes:{likes:e,dislikes:t,undo:d}}})});m.ok?(console.log("[Comments] Reaction updated successfully for comment "+n),"like"===o?d?(e--,r.classList.remove("active")):(e++,r.classList.add("active"),i.classList.contains("active")&&(t--,i.classList.remove("active"))):"dislike"===o&&(d?(t--,i.classList.remove("active")):(t++,i.classList.add("active"),r.classList.contains("active")&&(e--,r.classList.remove("active")))),toggleReactionElements(r),toggleReactionElements(i),s.innerText=0===e?"":e,l.innerText=0===t?"":t):(console.error(`[Comments] endpoint '${c}' returned status ${m.status}! Data not parsed.`),403===m.status&&window.showSnackbar("Reagiranje ti nije dozvoljeno","warning"))}catch(e){window.showSnackbar("Došlo je do greške pri postavljanju komentara","error")}}}}else window.openModalWelcomeComments()}function hideOtherReportMenus(t){var e=document.querySelectorAll(reportSelector+" .dropdown-menu:not(.hidden)");e.length&&e.forEach(e=>{e.classList.contains("js_reportMenu-"+t)||e.classList.add("hidden")})}function toggleReportButton(e){var t,n,o=document.querySelector("#comment-"+e);o&&(t=o.querySelector(".background"),(n=o.querySelector(".js_reportMenu-"+e))&&n.classList.toggle("hidden"),t&&window.isMob&&(t.classList.toggle("hidden"),toggleHtmlOverflow()),hideOtherReportMenus(e))}async function reportComment(e){var t=window.getUserToken();if(t){var n=window.baseApiUrl+`/comments/${e}/report`,o=document.querySelector(".js_report-"+e);if(o){var a=o.querySelector(".dropdown_flag");a&&(a.pointerEvents="none"),headers.Authorization="Bearer "+t;try{(await fetch(n,{method:"POST",headers:headers})).ok?(o.remove(),window.showSnackbar("Komentar je uspješno prijavljen","success")):window.showSnackbar("Tvoja prijava je već zaprimljena","error")}catch(e){window.showSnackbar("Došlo je do greške pri prijavi komentara","error")}finally{a&&(a.pointerEvents="auto")}toggleReportButton(e)}}}function replaceNbspWithSpace(e){return e?e.replace(/&nbsp;/g," ").replace(/\u00a0/g," "):""}function getCaretPosition(e){var t,n,o=window.getSelection();return 0===o.rangeCount?-1:((n=(t=o.getRangeAt(0)).cloneRange()).selectNodeContents(e),n.setEnd(t.startContainer,t.startOffset),n.toString().length)}function findAtPosition(e){if(!e)return-1;var t=document.createElement("div");t.innerHTML=e;let s=-1,l=0;const d=[];return function e(t){if(t.nodeType===Node.TEXT_NODE){for(var n,o=t.textContent.replace(/\u00a0/g," "),a=/(?:^|\s|&nbsp;)@(\w*)/g;null!==(n=a.exec(o));){var r=l+n.index,i=r+n[0].length;r<=globalCursorPosition&&i>=globalCursorPosition&&d.push({start:r,end:i}),s=Math.max(s,r)}l+=o.length}else t.nodeType===Node.ELEMENT_NODE&&("mark"===t.tagName.toLowerCase()?l+=t.textContent.length:t.childNodes.forEach(e))}(t),d.length?(d.sort((e,t)=>{return Math.abs(globalCursorPosition-e.start)-Math.abs(globalCursorPosition-t.start)}),d[0].start):s}function insertMention(e,t){var n=mentionContainer.querySelector(mentionListSelector);n&&(n.innerHTML="",n.style.display="none"),mentionContainer.classList.add("hidden"),commentTextarea.focus();try{var o,a,r,i,s,l,d=commentTextarea.innerHTML,c=findAtPosition(d);-1!==c&&(o=/(?:^|\s|&nbsp;)@(\w+)/,a=d.substring(c).match(o))&&(r=c+a.index,i=d.substring(0,r),s=d.substring(r+globalSearchTermWithSimbol.length),l=`<mark data-id="${t}" contenteditable="false">@${e}</mark>`,commentTextarea.innerHTML=i+l+s)}catch(e){console.error("Error in insertMention function:",e)}}function createMentionListElement(e,t){var n=t.querySelector("ul"+mentionListSelector);n&&t.removeChild(n);const w=document.createElement("ul"),v=(w.className="mention-list",document.getElementById("mention-template").content);e.forEach((n,e)=>{var t,o,a,r,i,s,l,d,c,m,u,h,g=document.importNode(v,!0),p=g.querySelector("li");g&&p&&(p.dataset.index=e,(o=p.querySelector(".thread_comment__avatar"))&&n.attributes&&(null!=(a=n.attributes)&&a.avatar?((i=document.createElement("img")).src=n.attributes.avatar,o.append(i)):null!=(r=n.attributes)&&r.avatar_info&&(o.style.color=null==(s=n.attributes)||null==(l=s.avatar_info)?void 0:l.font_color,o.style.backgroundColor=null==(d=n.attributes)||null==(c=d.avatar_info)?void 0:c.background_color,o.textContent=null==(m=n.attributes)||null==(u=m.avatar_info)?void 0:u.initials)),(h=p.querySelector(".mention-name"))&&(h.textContent=null==n||null==(t=n.attributes)?void 0:t.name),p.addEventListener("click",()=>{var e,t;return insertMention(null==n||null==(e=n.attributes)?void 0:e.name,null==n||null==(t=n.attributes)?void 0:t.user_id)}),w.appendChild(g))}),t.appendChild(w)}async function getMentions(e,t){var n=t.replace("@",""),o=window.getUserToken(),a=e?window.baseApiUrl+`/mentions/${e}/profiles/`+n:window.baseApiUrl+"/mentions/profiles/"+n;headers.Authorization="Bearer "+o;try{return(await(await fetch(a,{method:"GET",headers:headers})).json()).data}catch(e){console.error(e)}}function handleMentions(e){var t=mentionContainer?mentionContainer.querySelector(noMatchSelector):null,n=mentionContainer?mentionContainer.querySelector(mentionListSelector):null;e&&0<e.length?(createMentionListElement(e,mentionContainer),t&&(t.style.display="none"),n&&(n.style.display="block")):(t&&(t.style.display="block"),n&&(n.style.display="none"))}const debouncedGetMentions=window.debounce(async(e,t)=>{handleMentions(await getMentions(e,t))},500);function handleCharacterCount(e,t){var n,o=commentTextarea.innerText;1500<o.length?e.preventDefault():t&&(n=1500-o.length,t.textContent="još "+n)}function hideMentionList(e){var t=e.querySelector(mentionListSelector),n=e.querySelector(noMatchSelector);t&&(t.style.display="none",t.innerHTML=""),n&&(n.style.display="block")}function handleMentionSuggestions(e){var t,n,o,a,r,i,s;mentionContainer&&e&&(t=stripHtml(e),-1===(n=findAtPosition(e))||globalCursorPosition<n?mentionContainer.classList.add("hidden"):(o=t.substring(n).match(/(?:^|\s|&nbsp;)@(\w*)/),globalSearchTerm=o?o[1]:"",globalSearchTermWithSimbol=o?o[0]:"",a=n+o.index,r=e.replace(/<\/?[^>]+(>|$)/g,"").indexOf(globalSearchTermWithSimbol,a)+globalSearchTermWithSimbol.length,i=globalCursorPosition===r,0<=globalSearchTermWithSimbol.length&&i?(mentionContainer.classList.remove("hidden"),3<=globalSearchTerm.length?(s=mentionContainer.dataset["threadId"],s&&debouncedGetMentions(s,globalSearchTerm)):hideMentionList(mentionContainer)):(mentionContainer.classList.add("hidden"),hideMentionList(mentionContainer))))}async function editCommentInput(e){var t=document.querySelector(".js_characterCount"),n=replaceNbspWithSpace(commentTextarea.innerHTML),o=0<n.length;globalCursorPosition=getCaretPosition(commentTextarea),sendButton&&sendButton.toggleAttribute("disabled",!o),handleMentionSuggestions(n),handleCharacterCount(e,t)}function createBlockquoteElement(e){var t,n,o,a,r=document.getElementById("comment_blockquote");return r&&(t=r.content.cloneNode(!0))&&(n=t.querySelector(".js_blockquote"))?((o=t.querySelector(".js_blockquoteContent"))&&e.content&&(o.innerText=e.content),(a=t.querySelector(".js_blockquoteAuthor"))&&e.author&&(a.innerText="– "+e.author),n):null}function addBlockquoteToCommentsList(e){var t=createBlockquoteElement(e);commentsWrap&&t&&commentsWrap.prepend(t)}async function handleBlockquoteAndFetchData(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0];if(siteWrap&&!siteWrap.classList.contains("comment-detail")&&commentsWrap){var t=0===(threadCount=e||threadCount)||0===commentsWrap.childElementCount,n=document.querySelector(".list_comments .js_blockquote"),o=window.baseApiUrl+"/comments/zero-comment";if(t)try{var a,r=await fetch(o);r.ok&&(a=await r.json())&&a.data&&a.data.attributes&&addBlockquoteToCommentsList(a.data.attributes)}catch(e){console.error("Error fetching data from API:",e)}else n&&n.remove()}}async function deleteComment(e){var t=window.getUserToken();if(t){var n=window.baseApiUrl+"/comments/"+e,o=document.querySelector("#comment-"+e),a=o.querySelector(".dropdown_flag"),r=(a&&(a.style.pointerEvents="none"),{Authorization:"Bearer "+t,"Content-Type":"application/json"});try{var i,s,l,d,c=await fetch(n,{method:"DELETE",headers:r});c.ok?(o&&o.remove(),threadCountElement&&(i=threadCount-1,handleBlockquoteAndFetchData(threadCountElement.innerText=i)),window.showSnackbar("Tvoj komentar je obrisan","success")):(d=(l=await c.json())?null==(s=l.errors[0])?void 0:s.detail:null,403===c.status?window.showSnackbar("Brisanje komentara nije dopušteno nakon 10 minuta","warning"):d?window.showSnackbar(d,"warning"):window.showSnackbar("Došlo je do greške pri brisanju komentara","error"))}catch(e){window.showSnackbar("Došlo je do greške pri brisanju komentara","error")}finally{a&&(a.style.pointerEvents="auto")}}}function createCommentElement(e){var t=document.getElementById("commentPost");if(t){var n,o,a,r,i,s,l,d,c,m,u,h,g,p,w,v,y,S,b,f=t.content.cloneNode(!0);if(f)return(n=f.querySelector(".thread_comment"))&&(n.id="comment-"+e.id),a=(o=f.querySelector(".thread_comment__avatar"))?o.querySelector(".thread_comment__avatar img"):null,r=f.querySelector(".thread_comment__avatar--noimage"),(i=f.querySelector(".thread_comment__is_verified img"))&&(e.posted_by.data.is_verified?i.src="/static/img/svg/verified.svg":i.remove()),r&&o&&(e.posted_by.data.avatar&&a?(a.src=""+e.posted_by.data.avatar,a.alt=""+e.posted_by.data.display_name,a.style.display="block",r.style.display="none"):(r.textContent=e.posted_by.data.avatar_info.initials,r.style.color=e.posted_by.data.avatar_info.font_color,r.style.backgroundColor=e.posted_by.data.avatar_info.background_color,o.style.display="none",r.style.display="flex")),(s=f.querySelector(".thread_comment__username"))&&(s.textContent=e.posted_by.data.display_name),d=(l=new Date(e.created_date)).getHours().toString().padStart(2,"0"),c=l.getMinutes().toString().padStart(2,"0"),(m=f.querySelector(".thread_comment__time"))&&(m.textContent=d+":"+c),(u=f.querySelector(".thread_comment__content span"))&&(u.innerHTML=e.content),(h=f.querySelector(".thread_comment__meta_reaction.like"))&&(h.classList.add("js_like-"+e.id),h.addEventListener("click",()=>addReaction(e.id,"like"))),(g=f.querySelector(".thread_comment__meta_reaction.dislike"))&&(g.classList.add("js_dislike-"+e.id),g.addEventListener("click",()=>addReaction(e.id,"dislike"))),(p=f.querySelector(".thread_comment__reply"))&&(siteWrap&&siteWrap.classList.contains("comment-detail")?p.remove():p.setAttribute("href",""+window.location.origin+window.location.pathname+`/${e.id}/komentar`)),(w=f.querySelector(".btn__dropdown--delete"))&&w.addEventListener("click",()=>toggleReportButton(e.id)),(v=f.querySelector(".dropdown-menu"))&&v.classList.add("js_reportMenu-"+e.id),y=f.querySelector(".background"),S=v?v.querySelector(".dropdown_close"):null,window.isMob&&(y||S)&&(y.addEventListener("click",()=>toggleReportButton(e.id)),S.addEventListener("click",()=>toggleReportButton(e.id))),(b=v?v.querySelector(".dropdown_flag"):null)&&b.addEventListener("click",()=>deleteComment(e.id)),n}}function addNewCommentToCommentsList(e){var t,n=1<arguments.length&&void 0!==arguments[1]&&arguments[1];commentsWrap&&(t=createCommentElement(e),n?(commentsWrap.append(t),loadLastPage(!0)):commentsWrap.prepend(t),t.scrollIntoView({behavior:"smooth",block:"center"}))}async function postComment(e){var t=window.getUserToken();if(t){if(commentTextarea&&sendButton){var n=sendButton.dataset["isCommentsComment"],o=`<span>${commentTextarea.innerHTML.trim()}</span>`,a=n?window.baseApiUrl+"/comments/"+e:window.baseApiUrl+`/articles/${e}/comments`,r=(headers.Authorization="Bearer "+t,setLoadingSpinner(sendButton),{data:{type:"comment",attributes:{content:o}}});try{var i,s,l,d,c,m=await fetch(a,{method:"POST",body:JSON.stringify(r),headers:headers});m.ok?(i=await m.json(),s=window.kitsuCore.deserialise(i).data,commentTextarea&&(commentTextarea.innerHTML=""),threadCountElement&&(l=threadCount+1,handleBlockquoteAndFetchData(threadCountElement.innerText=l)),addNewCommentToCommentsList(s,n),window.showSnackbar("Komentar je uspješno objavljen","success")):(c=(d=await m.json())?null==d?void 0:d.errors[0].detail:null)&&window.showSnackbar(c,"warning")}catch(e){window.showSnackbar("Došlo je do greške pri postavljanju komentara","error")}finally{var u=sendButton.querySelector(".loader");u&&u.parentNode===sendButton&&sendButton.removeChild(u),sendButton.disabled=!1}}}else window.openModalWelcomeComments()}function toggleCommentsLoader(e){var t=document.querySelector("#commentsLoadingWrap");t&&(t.hidden=!e)}function loadDone(){var e;userProfileData=window.getProfileData(),toggleCommentsLoader(!1),checkAndSetTruncatedClass(),userProfileData&&(userProfileData.id&&(e=document.querySelectorAll(`.js_commentsContent mark[data-id='${userProfileData.id}']`)).length&&e.forEach(e=>e.classList.add("own-mention")),unhideReportButtons(),setCommentsOwnReactions()),window.initProcessingSubsequentlyAddedDfpSlots&&window.initProcessingSubsequentlyAddedDfpSlots(".list_comments")}function loadFirstPage(){var e,t,n=0<arguments.length&&void 0!==arguments[0]&&arguments[0];window.scrollTo({top:0,behavior:"smooth"}),n?window.Unicorn.call("comments","load_first_page"):(e=document.querySelector(".load-first-btn-wrap"),t=document.querySelector(".load-last-btn-wrap"),e&&e.classList.add("hidden"),t&&t.classList.remove("hidden"))}function loadLastPage(){var e,t;0<arguments.length&&void 0!==arguments[0]&&arguments[0]?window.Unicorn.call("comments","load_last_page"):(window.scrollTo({left:0,top:document.body.scrollHeight,behavior:"smooth"}),e=document.querySelector(".load-first-btn-wrap"),t=document.querySelector(".load-last-btn-wrap"),e&&e.classList.remove("hidden"),t&&t.classList.add("hidden"))}function showFirstOrLastPageButtons(){var e=document.querySelector(".load-first-btn-wrap"),t=document.querySelector(".load-last-btn-wrap");function n(e,t){e&&(t?e.classList.add("hidden"):e.classList.remove("hidden"))}commentsWrap.classList.contains("first-page-loaded")&&n(e,isElementInViewport(commentsWrap,"top")),commentsWrap.classList.contains("total-pages-loaded")&&n(t,isElementInViewport(commentsWrap,"bottom",50))}document.addEventListener("DOMContentLoaded",()=>{const o=document.querySelector(".js_threadFooterRight");if(window.isMob&&o&&o.classList.add("hidden"),userProfileData){var e=document.querySelectorAll(`.js_commentsContent mark[data-id='${userProfileData.id}']`);if(e.length&&userProfileData.id&&e.forEach(e=>e.classList.add("own-mention")),commentTextarea){let r=commentTextarea.innerHTML;commentTextarea.addEventListener("input",e=>{var t,n=commentTextarea.innerText.length,o=(1500<n?(commentTextarea.innerHTML=r,setEndOfContenteditable(commentTextarea)):(r=commentTextarea.innerHTML,0!==n||mentionContainer.classList.contains("hidden")||mentionContainer.classList.add("hidden")),window.getSelection().getRangeAt(0)),a=o["commonAncestorContainer"];a.nodeType===Node.TEXT_NODE&&"MARK"===a.parentElement.tagName&&(!(t=a.parentElement)||"deleteContentBackward"!==e.inputType&&"deleteContentForward"!==e.inputType?e.preventDefault():t.remove()),editCommentInput(e)}),commentTextarea.addEventListener("paste",e=>{e.preventDefault();var t,n=(e.clipboardData||window.clipboardData).getData("text/plain"),o=commentTextarea.textContent;1500<(o+n).length?(t=n.substring(0,1500-o.length),document.execCommand("insertText",!1,t)):document.execCommand("insertText",!1,n)}),document.addEventListener("click",e=>{var t=commentTextarea.contains(e.target),n=mentionContainer?mentionContainer.contains(e.target):null;t||n||(mentionContainer.classList.add("hidden"),commentTextarea.blur()),window.isMob&&(t||n)&&o&&o.classList.contains("hidden")&&o.classList.remove("hidden")})}var t=document.querySelectorAll(reportSelector);t&&(t.forEach(n=>{n.addEventListener("click",e=>{var t=n.getAttribute("data-comment-id");t&&toggleReportButton(t),e.stopPropagation()})}),document.addEventListener("click",handleOutsideClick)),window.isMob&&0<innerHtml.length&&sendButton&&(sendButton.disabled=!0),unhideReportButtons(),setCommentsOwnReactions()}document.querySelector(".js_sortDropdown")&&setupSorting(),checkAndSetTruncatedClass(),handleBlockquoteAndFetchData(),commentsWrap&&!commentsWrap.classList.contains("total-pages-loaded")&&(showFirstOrLastPageButtons(),window.addEventListener("scroll",window.debounce(()=>showFirstOrLastPageButtons(),200)))}),window.addEventListener("scroll",window.debounce(()=>{var e=document.querySelector("#commentsLoadingTrigger"),t=document.querySelector("#commentsLoadingWrap");t&&t.hidden&&window.isInViewport(e)&&(toggleCommentsLoader(!0),window.Unicorn.call("comments","load_next_page"))},200));
//# sourceMappingURL=/static/scripts/comments/comments.js.map