pixelfed/public/js/status.js

1 line
186 KiB
JavaScript
Raw Normal View History

2022-01-29 05:19:32 +00:00
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{"/jad":function(t,e,s){"use strict";var i=s("1gDp"),n=s("ngXG"),o={props:{status:{type:Object},recommended:{type:Boolean,default:!1},reactionBar:{type:Boolean,default:!0},hasTopBorder:{type:Boolean,default:!1},size:{type:String,validator:function(t){return["regular","small"].includes(t)},default:"regular"}},components:{"context-menu":i.a,"poll-card":n.a},data:function(){return{config:window.App.config,profile:{},loading:!0,replies:[],replyId:null,lightboxMedia:!1,showSuggestions:!0,showReadMore:!0,replyStatus:{},replyText:"",replyNsfw:!1,emoji:window.App.util.emoji,content:void 0}},mounted:function(){var t=this;this.profile=window._sharedData.curUser,this.content=this.status.content,this.status.emojis.forEach((function(e){var s='<img draggable="false" class="emojione custom-emoji" alt="'.concat(e.shortcode,'" title="').concat(e.shortcode,'" src="').concat(e.url,'" data-original="').concat(e.url,'" data-static="').concat(e.static_url,'" width="18" height="18" onerror="this.onerror=null;this.src=\'/storage/emoji/missing.png\';" />');t.content=t.content.replace(":".concat(e.shortcode,":"),s)}))},methods:{formatCount:function(t){return App.util.format.count(t)},statusUrl:function(t){return 1==t.local?t.url:"/i/web/post/_/"+t.account.id+"/"+t.id},profileUrl:function(t){return 1==t.local?t.account.url:"/i/web/profile/_/"+t.account.id},timestampFormat:function(t){var e=new Date(t);return e.toDateString()+" "+e.toLocaleTimeString()},shortTimestamp:function(t){return window.App.util.format.timeAgo(t)},statusCardUsernameFormat:function(t){if(1==t.account.local)return t.account.username;var e=window.App.config.username.remote.format,s=window.App.config.username.remote.custom,i=t.account.username,n=document.createElement("a");switch(n.href=t.account.url,n=n.hostname,e){case"@":return i+'<span class="text-lighter font-weight-bold">@'+n+"</span>";case"from":return i+'<span class="text-lighter font-weight-bold"> <span class="font-weight-normal">from</span> '+n+"</span>";case"custom":return i+'<span class="text-lighter font-weight-bold"> '+s+" "+n+"</span>";default:return i+'<span class="text-lighter font-weight-bold">@'+n+"</span>"}},lightbox:function(t){window.location.href=t.media_attachments[0].url},labelRedirect:function(t){var e="/i/redirect?url="+encodeURI(this.config.features.label.covid.url);window.location.href=e},likeStatus:function(t,e){if(0!=$("body").hasClass("loggedIn")){var s=t.favourites_count;t.favourited=!t.favourited,axios.post("/i/like",{item:t.id}).then((function(e){t.favourites_count=e.data.count,t.favourited=!!t.favourited})).catch((function(e){t.favourited=!!t.favourited,t.favourites_count=s,swal("Error","Something went wrong, please try again later.","error")})),window.navigator.vibrate(200),t.favourited&&setTimeout((function(){e.target.classList.add("animate__animated","animate__bounce")}),100)}},commentFocus:function(t,e){this.$emit("comment-focus",t)},commentSubmit:function(t,e){var s=this;this.replySending=!0;var i=t.id,n=this.replyText,o=this.config.uploader.max_caption_length;if(n.length>o)return this.replySending=!1,void swal("Comment Too Long","Please make sure your comment is "+o+" characters or less.","error");axios.post("/i/comment",{item:i,comment:n,sensitive:this.replyNsfw}).then((function(t){s.replyText="",s.replies.push(t.data.entity),s.$refs.replyModal.hide()})),this.replySending=!1},owner:function(t){return this.profile.id===t.account.id},admin:function(){return 1==this.profile.is_admin},ownerOrAdmin:function(t){return this.owner(t)||this.admin()},ctxMenu:function(){this.$refs.contextMenu.open()},timeAgo:function(t){return App.util.format.timeAgo(t)},statusDeleted:function(t){this.$emit("status-delete",t)},canFollow:function(t){return!!t.hasOwnProperty("relationship")&&(!(!t.hasOwnProperty("account")||!t.account.hasOwnProperty("id"))&&(t.account.id!=this.profile.id&&!t.relationship.following))},follow:function(t){var e=this;event.currentTarget.blur(),axios.post("/i/follow",{item:t}).then((function(s){e.status.relationship.following=!0,e