(self.webpackChunkgamespot=self.webpackChunkgamespot||[]).push([[776],{5401:(t,e,n)=>{var s=n(9755);s((function(){"use strict";let t;const e="js-upvote-btn",n="js-post-render-upvote",o="upvote-in-progress",a="upvoted",i="."+e,r=".js-upvote-btn__text",c=".js-upvote-status";let u;const d={},f=function(e){return t.filter('[data-guid="'+e+'"]')},l=function(){const t=s("<span/>"),n=[e,o,"js-upvote-event-tracking"].join(" ");return function(e){let s,o,c;if(!e||e.length<1)return;const u=!e.data("userVoted");e.data("userVoted",u),s=e.find(i),u?(s.addClass(a),e.attr("action","/vote/?unvote=1")):(s.removeClass(a),e.attr("action","/vote/")),c=s.find(r);const d=c.text();c.text(c.data("successMsg")),c.data("successMsg",d),e.data("allowUnvote")||(o=t.clone(),o.addClass(s.attr("class")).removeClass(n).append(s.contents()),e.replaceWith(o),o.addClass("disabled"),e.off(".upvote"))}}(),g=function(t){t.each((function(){l(s(this))}))},h=function(t,e){let n="Upvoting isn't working right now, please try again later.";e&&e.errorMsg&&(n=e.errorMsg),Phoenix&&Phoenix.Ui&&Phoenix.Ui.showErrorMessage&&Phoenix.Ui.showErrorMessage(n,{hideDelay:3e3}),function(t){const e=t.find(i);t.removeClass(o),e.each((function(){const t=s(this).find(r),e=t.data("originalMsg");e&&t.text(e)}))}(t)},p=function(){let t;return function(e,n){t||(t={});let a,r,u,l=t[e];l||(a=n.find(i),r=n.find(".js-upvote-event-tracking"),r.trigger("customEventTracking"),u=f(e),l=s.ajax({url:n.attr("action"),type:"POST",data:n.serializeArray(),error(){h(u)},success(t){if(t.voteFailed)h(u,t);else if(t.buttonCount&&function(t,e){let n;!t||t.length<1||(n=t.next(c),!n||n.length<1||n.html(e.buttonCount))}(u,t),g(u),t.csrfToken){const e=n.find("input[data-bb]").val(t.csrfToken);if(t.csrfToken.length>43&&e.removeAttr("data-decrypted"),t.csrfTokenId){n.find("input[name*='_token_id']").val(t.csrfTokenId);const s=e.attr("data-token-id");e.attr("data-token-id",s.substring(0,s.length-t.csrfTokenId.length)+t.csrfTokenId)}}},complete(){u.removeClass(o),delete d[e],delete t[e]}}),t[e]=l)}}(),v=function(t){t.preventDefault();const e=s(this);let n;const a=e.data("guid");!!d[a]||(d[a]=e,n=f(a),function(t){const e=t.find(i);t.addClass(o),e.each((function(){const t=s(this).find(r),e=t.data("progressMsg");e&&(t.data("originalMsg")||t.data("originalMsg",t.text()),t.text(e))}))}(n),u||p(a,e))},m=function(){const e=function(t,e){const n=f(t);let o;!n||n.length<1||(n.each((function(){!function(t,e){const n=t.next(c).find(".js-upvote-status-msg"),s=e.statusMsg;s&&n.replaceWith(s),e.hasVoted}(s(this),e)})),o=d[t],e.hasVoted?b(n):o&&o.length>0&&(delete d[t],o.trigger("submit")))};return function(){PostRender.getPostRenderData("UserBundle",(function(o,a){if(u=!1,t.removeClass(n).removeAttr("data-post-render-param"),s.isEmptyObject(a))return;const i=a.upvote;s.isEmptyObject(i)||s.each(i,e)}))}}();var b=function(t){const e=t.find(r);e.data("hasVotedMsg")&&e.data("successMsg",e.data("hasVotedMsg")),g(t)};const k=function(){if(t=s(".js-upvote-form"),!t||t.length<1)return;u=t.hasClass(n);t.filter((function(){return!s(this).data("submit.upvote.bound")})).on("submit.upvote",v).data("submit.upvote.bound",!0).each((function(){const t=s(this);t.data("userVoted")&&(t.data("userVoted",!1),b(t))}))};k(),!0===u&&m(),s(document).on("ajaxSuccess",k)}))}},t=>{t.O(0,[9755],(()=>{return e=5401,t(t.s=e);var e}));t.O()}]);