pixelfed/public/js/notifications.chunk.0c5151643e4534aa.js

1 line
49 KiB
JavaScript
Raw Permalink Normal View History

2024-02-19 08:47:57 +00:00
"use strict";(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[7744],{14329:(t,e,a)=>{a.r(e),a.d(e,{default:()=>d});var i=a(5787),n=a(28772),s=a(50085),r=a(71687),o=a(25100);function l(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);"Object"===a&&t.constructor&&(a=t.constructor.name);if("Map"===a||"Set"===a)return Array.from(t);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return c(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,i=new Array(e);a<e;a++)i[a]=t[a];return i}const d={components:{drawer:i.default,sidebar:n.default,intersect:o.default,notification:s.default,placeholder:r.default},data:function(){return{isLoaded:!1,profile:void 0,ids:[],notifications:void 0,notificationsLoaded:!1,notificationRetries:0,notificationsEmpty:!0,notificationRetryTimeout:void 0,max_id:void 0,canLoadMore:!1,isIntersecting:!1,tabIndex:0,tabs:[{id:"all",name:"All",icon:"far fa-bell",types:[]},{id:"mentions",name:"Mentions",description:"Replies to your posts and posts you were mentioned in",icon:"far fa-at",types:["comment","mention"]},{id:"likes",name:"Likes",description:"Accounts that liked your posts",icon:"far fa-heart",types:["favourite"]},{id:"followers",name:"Followers",description:"Accounts that followed you",icon:"far fa-user-plus",types:["follow"]},{id:"reblogs",name:"Reblogs",description:"Accounts that shared or reblogged your posts",icon:"far fa-retweet",types:["share"]},{id:"direct",name:"DMs",description:"Direct messages you have with other accounts",icon:"far fa-envelope",types:["direct"]}],tabSwitching:!1,filteredFeed:[],filteredLoaded:!1,filteredIsIntersecting:!1,filteredMaxId:void 0,canLoadMoreFiltered:!0,filterPaginationTimeout:void 0,filteredIterations:0,filteredEmpty:!1,followRequests:[],followRequestsChecked:!1,followRequestsPage:1}},updated:function(){},mounted:function(){this.profile=window._sharedData.user,this.isLoaded=!0,this.profile.locked&&this.fetchFollowRequests(),this.fetchNotifications()},beforeDestroy:function(){clearTimeout(this.notificationRetryTimeout)},methods:{fetchNotifications:function(){var t=this;this.notificationRetries++,axios.get("/api/pixelfed/v1/notifications?pg=true").then((function(e){var a;if(!e||!e.data||!e.data.length)return 2==t.notificationRetries?(clearTimeout(t.notificationRetryTimeout),t.canLoadMore=!1,t.notificationsLoaded=!0,void(t.notificationsEmpty=!0)):void(t.notificationRetryTimeout=setTimeout((function(){t.fetchNotifications()}),1e3));var i=e.data.filter((function(t){return!("share"==t.type&&!t.status)&&(!("comment"==t.type&&!t.status)&&(!("mention"==t.type&&!t.status)&&(!("favourite"==t.type&&!t.status)&&!("follow"==t.type&&!t.account))))})),n=e.data.map((function(t){return t.id}));t.max_id=Math.min.apply(Math,l(n)),(a=t.ids).push.apply(a,l(n)),t.notifications=i,t.notificationsLoaded=!0,t.notificationsEmpty=!1,t.canLoadMore=!0}))},enterIntersect:function(){var t=this;this.isIntersecting||isFinite(this.max_id)&&(this.isIntersecting=!0,axios.get("/api/pixelfed/v1/notifications",{params:{max_id:this.max_id}}).then((function(e){var a;e.data.length||(t.canLoadMore=!1);var i=e.data.map((function(t){return t.id}));t.max_id=Math.min.apply(Math,l(i)),(a=t.notifications).push.apply(a,l(e.data)),t.isIntersecting=!1})))},toggleTab:function(t){this.tabSwitching=!0,this.canLoadMoreFiltered=!0,this.filteredEmpty=!1,this.filteredIterations=0,this.filterFeed(this.tabs[t].id)},filterFeed:function(t){var e=this;switch(t){case"all":this.tabIndex=0,this.filteredFeed=[],this.filteredLoaded=!1,this.filteredIsIntersecting=!1,this.filteredMaxId=void 0,this.canLoadMoreFiltered=!1,this.tabSwitching=!1;break;case"mentions":this.tab