honkoma/priv/static/packs/features/notifications.js

2 lines
19 KiB
JavaScript

(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{702:function(t,e,i){"use strict";i.r(e);var n,o,a,s,c,l,r,p=i(1),d=i(7),u=i(0),f=i(2),b=i(54),h=i.n(b),g=i(3),O=i.n(g),j=i(20),v=i(431),m=i(429),M=i(79),_=i(207),w=i(156),C=i(5),y=i.n(C),k=i(26),P=i.n(k),x=i(632),N=i(896),I=i(6),S=i(408),F=i(24),H=i(179),W=i(33),R=function(t,e,i){var n=[e];return n.push(t.formatDate(i,{hour:"2-digit",minute:"2-digit",month:"short",day:"numeric"})),n.join(", ")},T=Object(I.g)((a=o=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return n=o.call.apply(o,[this].concat(e))||this,Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleMoveUp",function(){var t=n.props,e=t.notification;(0,t.onMoveUp)(e.get("id"))}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleMoveDown",function(){var t=n.props,e=t.notification;(0,t.onMoveDown)(e.get("id"))}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleOpen",function(){var t=n.props.notification;t.get("status")?n.context.router.history.push("/statuses/"+t.get("status")):n.handleOpenProfile()}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleOpenProfile",function(){var t=n.props.notification;n.context.router.history.push("/accounts/"+t.getIn(["account","id"]))}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleMention",function(t){t.preventDefault();var e=n.props,i=e.notification;(0,e.onMention)(i.get("account"),n.context.router.history)}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleHotkeyFavourite",function(){var t=n.props.status;t&&n.props.onFavourite(t)}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleHotkeyBoost",function(t){var e=n.props.status;e&&n.props.onReblog(e,t)}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleHotkeyToggleHidden",function(){var t=n.props.status;t&&n.props.onToggleHidden(t)}),n}Object(d.a)(t,o);var e=t.prototype;return e.getHandlers=function(){return{reply:this.handleMention,favourite:this.handleHotkeyFavourite,boost:this.handleHotkeyBoost,mention:this.handleMention,open:this.handleOpen,openProfile:this.handleOpenProfile,moveUp:this.handleMoveUp,moveDown:this.handleMoveDown,toggleHidden:this.handleHotkeyToggleHidden}},e.renderFollow=function(t,e,i){var n=this.props.intl;return Object(p.a)(H.HotKeys,{handlers:this.getHandlers()},void 0,Object(p.a)("div",{className:"notification notification-follow focusable",tabIndex:"0","aria-label":R(n,n.formatMessage({id:"notification.follow",defaultMessage:"{name} followed you"},{name:e.get("acct")}),t.get("created_at"))},void 0,Object(p.a)("div",{className:"notification__message"},void 0,Object(p.a)("div",{className:"notification__favourite-icon-wrapper"},void 0,Object(p.a)(W.a,{id:"user-plus",fixedWidth:!0})),Object(p.a)("span",{title:t.get("created_at")},void 0,Object(p.a)(I.b,{id:"notification.follow",defaultMessage:"{name} followed you",values:{name:i}}))),Object(p.a)(N.a,{id:e.get("id"),withNote:!1,hidden:this.props.hidden})))},e.renderMention=function(t){return Object(p.a)(x.a,{id:t.get("status"),withDismiss:!0,hidden:this.props.hidden,onMoveDown:this.handleMoveDown,onMoveUp:this.handleMoveUp,contextType:"notifications",getScrollPosition:this.props.getScrollPosition,updateScrollBottom:this.props.updateScrollBottom,cachedMediaWidth:this.props.cachedMediaWidth,cacheMediaWidth:this.props.cacheMediaWidth})},e.renderFavourite=function(t,e){var i=this.props.intl;return Object(p.a)(H.HotKeys,{handlers:this.getHandlers()},void 0,Object(p.a)("div",{className:"notification notification-favourite focusable",tabIndex:"0","aria-label":R(i,i.formatMessage({id:"notification.favourite",defaultMessage:"{name} favourited your status"},{name:t.getIn(["account","acct"])}),t.get("created_at"))},void 0,Object(p.a)("div",{className:"notification__message"},void 0,Object(p.a)("div",{className:"notification__favourite-icon-wrapper"},void 0,Object(p.a)(W.a,{id:"star",className:"star-icon",fixedWidth:!0})),Object(p.a)("span",{title:t.get("created_at")},void 0,Object(p.a)(I.b,{id:"notification.favourite",defaultMessage:"{name} favourited your status",values:{name:e}}))),Object(p.a)(x.a,{id:t.get("status"),account:t.get("account"),muted:!0,withDismiss:!0,hidden:!!this.props.hidden,getScrollPosition:this.props.getScrollPosition,updateScrollBottom:this.props.updateScrollBottom,cachedMediaWidth:this.props.cachedMediaWidth,cacheMediaWidth:this.props.cacheMediaWidth})))},e.renderReblog=function(t,e){var i=this.props.intl;return Object(p.a)(H.HotKeys,{handlers:this.getHandlers()},void 0,Object(p.a)("div",{className:"notification notification-reblog focusable",tabIndex:"0","aria-label":R(i,i.formatMessage({id:"notification.reblog",defaultMessage:"{name} boosted your status"},{name:t.getIn(["account","acct"])}),t.get("created_at"))},void 0,Object(p.a)("div",{className:"notification__message"},void 0,Object(p.a)("div",{className:"notification__favourite-icon-wrapper"},void 0,Object(p.a)(W.a,{id:"retweet",fixedWidth:!0})),Object(p.a)("span",{title:t.get("created_at")},void 0,Object(p.a)(I.b,{id:"notification.reblog",defaultMessage:"{name} boosted your status",values:{name:e}}))),Object(p.a)(x.a,{id:t.get("status"),account:t.get("account"),muted:!0,withDismiss:!0,hidden:this.props.hidden,getScrollPosition:this.props.getScrollPosition,updateScrollBottom:this.props.updateScrollBottom,cachedMediaWidth:this.props.cachedMediaWidth,cacheMediaWidth:this.props.cacheMediaWidth})))},e.render=function(){var t=this.props.notification,e=t.get("account"),i={__html:e.get("display_name_html")},n=Object(p.a)("bdi",{},void 0,Object(p.a)(S.a,{className:"notification__display-name",href:e.get("url"),title:e.get("acct"),to:"/accounts/"+e.get("id"),dangerouslySetInnerHTML:i}));switch(t.get("type")){case"follow":return this.renderFollow(t,e,n);case"mention":return this.renderMention(t);case"favourite":return this.renderFavourite(t,n);case"reblog":return this.renderReblog(t,n)}return null},t}(F.a),Object(f.a)(o,"contextTypes",{router:y.a.object}),Object(f.a)(o,"propTypes",{notification:P.a.map.isRequired,hidden:y.a.bool,onMoveUp:y.a.func.isRequired,onMoveDown:y.a.func.isRequired,onMention:y.a.func.isRequired,onFavourite:y.a.func.isRequired,onReblog:y.a.func.isRequired,onToggleHidden:y.a.func.isRequired,status:y.a.option,intl:y.a.object.isRequired,getScrollPosition:y.a.func,updateScrollBottom:y.a.func,cacheMediaWidth:y.a.func,cachedMediaWidth:y.a.number}),n=a))||n,q=i(50),D=i(23),U=i(56),B=i(72),L=i(22),A=Object(j.connect)(function(){var n=Object(w.e)(),o=Object(w.f)();return function(t,e){var i=n(t,e.notification,e.accountId);return{notification:i,status:i.get("status")?o(t,{id:i.get("status")}):null}}},function(i){return{onMention:function(t,e){i(Object(D.R)(t,e))},onModalReblog:function(t){i(Object(U.o)(t))},onReblog:function(t,e){t.get("reblogged")?i(Object(U.r)(t)):e.shiftKey||!L.b?this.onModalReblog(t):i(Object(q.d)("BOOST",{status:t,onReblog:this.onModalReblog}))},onFavourite:function(t){t.get("favourited")?i(Object(U.p)(t)):i(Object(U.k)(t))},onToggleHidden:function(t){t.get("hidden")?i(Object(B.k)(t.get("id"))):i(Object(B.i)(t.get("id")))}}})(T),K=function(t){function e(){return t.apply(this,arguments)||this}return Object(d.a)(e,t),e.prototype.render=function(){return Object(p.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.props.onClick},void 0,Object(p.a)(W.a,{id:"eraser"})," ",Object(p.a)(I.b,{id:"notifications.clear",defaultMessage:"Clear notifications"}))},e}(O.a.PureComponent),z=i(927),G=function(o){function t(){for(var i,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return i=o.call.apply(o,[this].concat(e))||this,Object(f.a)(Object(u.a)(Object(u.a)(i)),"onPushChange",function(t,e){i.props.onChange(["push"].concat(t),e)}),i}return Object(d.a)(t,o),t.prototype.render=function(){var t=this.props,e=t.settings,i=t.pushSettings,n=t.onChange,o=t.onClear,a=Object(p.a)(I.b,{id:"notifications.column_settings.filter_bar.show",defaultMessage:"Show"}),s=Object(p.a)(I.b,{id:"notifications.column_settings.filter_bar.advanced",defaultMessage:"Display all categories"}),c=Object(p.a)(I.b,{id:"notifications.column_settings.alert",defaultMessage:"Desktop notifications"}),l=Object(p.a)(I.b,{id:"notifications.column_settings.show",defaultMessage:"Show in column"}),r=Object(p.a)(I.b,{id:"notifications.column_settings.sound",defaultMessage:"Play sound"}),d=i.get("browserSupport")&&i.get("isSubscribed"),u=d&&Object(p.a)(I.b,{id:"notifications.column_settings.push",defaultMessage:"Push notifications"});return Object(p.a)("div",{},void 0,Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(K,{onClick:o})),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-filter-bar"},void 0,Object(p.a)("span",{id:"notifications-filter-bar",className:"column-settings__section"},void 0,Object(p.a)(I.b,{id:"notifications.column_settings.filter_bar.category",defaultMessage:"Quick filter bar"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(z.a,{id:"show-filter-bar",prefix:"notifications",settings:e,settingPath:["quickFilter","show"],onChange:n,label:a}),Object(p.a)(z.a,{id:"show-filter-bar",prefix:"notifications",settings:e,settingPath:["quickFilter","advanced"],onChange:n,label:s}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-follow"},void 0,Object(p.a)("span",{id:"notifications-follow",className:"column-settings__section"},void 0,Object(p.a)(I.b,{id:"notifications.column_settings.follow",defaultMessage:"New followers:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(z.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","follow"],onChange:n,label:c}),d&&Object(p.a)(z.a,{prefix:"notifications_push",settings:i,settingPath:["alerts","follow"],onChange:this.onPushChange,label:u}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["shows","follow"],onChange:n,label:l}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["sounds","follow"],onChange:n,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-favourite"},void 0,Object(p.a)("span",{id:"notifications-favourite",className:"column-settings__section"},void 0,Object(p.a)(I.b,{id:"notifications.column_settings.favourite",defaultMessage:"Favourites:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(z.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","favourite"],onChange:n,label:c}),d&&Object(p.a)(z.a,{prefix:"notifications_push",settings:i,settingPath:["alerts","favourite"],onChange:this.onPushChange,label:u}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["shows","favourite"],onChange:n,label:l}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["sounds","favourite"],onChange:n,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-mention"},void 0,Object(p.a)("span",{id:"notifications-mention",className:"column-settings__section"},void 0,Object(p.a)(I.b,{id:"notifications.column_settings.mention",defaultMessage:"Mentions:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(z.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","mention"],onChange:n,label:c}),d&&Object(p.a)(z.a,{prefix:"notifications_push",settings:i,settingPath:["alerts","mention"],onChange:this.onPushChange,label:u}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["shows","mention"],onChange:n,label:l}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["sounds","mention"],onChange:n,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-reblog"},void 0,Object(p.a)("span",{id:"notifications-reblog",className:"column-settings__section"},void 0,Object(p.a)(I.b,{id:"notifications.column_settings.reblog",defaultMessage:"Boosts:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(z.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","reblog"],onChange:n,label:c}),d&&Object(p.a)(z.a,{prefix:"notifications_push",settings:i,settingPath:["alerts","reblog"],onChange:this.onPushChange,label:u}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["shows","reblog"],onChange:n,label:l}),Object(p.a)(z.a,{prefix:"notifications",settings:e,settingPath:["sounds","reblog"],onChange:n,label:r}))))},t}(O.a.PureComponent),J=i(86),E=i(183),Q=Object(I.f)({clearMessage:{id:"notifications.clear_confirmation",defaultMessage:"Are you sure you want to permanently clear all your notifications?"},clearConfirm:{id:"notifications.clear",defaultMessage:"Clear notifications"}}),Y=Object(I.g)(Object(j.connect)(function(t){return{settings:t.getIn(["settings","notifications"]),pushSettings:t.get("push_notifications")}},function(i,t){var e=t.intl;return{onChange:function(t,e){"push"===t[0]?i(Object(E.e)(t.slice(1),e)):"quickFilter"===t[0]?(i(Object(J.c)(["notifications"].concat(t),e)),i(Object(M.k)("all"))):i(Object(J.c)(["notifications"].concat(t),e))},onClear:function(){i(Object(q.d)("CONFIRM",{message:e.formatMessage(Q.clearMessage),confirm:e.formatMessage(Q.clearConfirm),onConfirm:function(){return i(Object(M.h)())}}))}}})(G)),V=Object(I.f)({mentions:{id:"notifications.filter.mentions",defaultMessage:"Mentions"},favourites:{id:"notifications.filter.favourites",defaultMessage:"Favourites"},boosts:{id:"notifications.filter.boosts",defaultMessage:"Boosts"},follows:{id:"notifications.filter.follows",defaultMessage:"Follows"}}),X=Object(I.g)(s=function(t){function e(){return t.apply(this,arguments)||this}Object(d.a)(e,t);var i=e.prototype;return i.onClick=function(t){var e=this;return function(){return e.props.selectFilter(t)}},i.render=function(){var t=this.props,e=t.selectedFilter,i=t.advancedMode,n=t.intl;return i?Object(p.a)("div",{className:"notification__filter-bar"},void 0,Object(p.a)("button",{className:"all"===e?"active":"",onClick:this.onClick("all")},void 0,Object(p.a)(I.b,{id:"notifications.filter.all",defaultMessage:"All"})),Object(p.a)("button",{className:"mention"===e?"active":"",onClick:this.onClick("mention"),title:n.formatMessage(V.mentions)},void 0,Object(p.a)(W.a,{id:"at",fixedWidth:!0})),Object(p.a)("button",{className:"favourite"===e?"active":"",onClick:this.onClick("favourite"),title:n.formatMessage(V.favourites)},void 0,Object(p.a)(W.a,{id:"star",fixedWidth:!0})),Object(p.a)("button",{className:"reblog"===e?"active":"",onClick:this.onClick("reblog"),title:n.formatMessage(V.boosts)},void 0,Object(p.a)(W.a,{id:"retweet",fixedWidth:!0})),Object(p.a)("button",{className:"follow"===e?"active":"",onClick:this.onClick("follow"),title:n.formatMessage(V.follows)},void 0,Object(p.a)(W.a,{id:"user-plus",fixedWidth:!0}))):Object(p.a)("div",{className:"notification__filter-bar"},void 0,Object(p.a)("button",{className:"all"===e?"active":"",onClick:this.onClick("all")},void 0,Object(p.a)(I.b,{id:"notifications.filter.all",defaultMessage:"All"})),Object(p.a)("button",{className:"mention"===e?"active":"",onClick:this.onClick("mention")},void 0,Object(p.a)(I.b,{id:"notifications.filter.mentions",defaultMessage:"Mentions"})))},e}(O.a.PureComponent))||s,Z=Object(j.connect)(function(t){return{selectedFilter:t.getIn(["settings","notifications","quickFilter","active"]),advancedMode:t.getIn(["settings","notifications","quickFilter","advanced"])}},function(e){return{selectFilter:function(t){e(Object(M.k)(t))}}})(X),$=i(60),tt=i(4),et=i(643),it=i(653);i.d(e,"default",function(){return at});var nt=Object(I.f)({title:{id:"column.notifications",defaultMessage:"Notifications"}}),ot=Object($.a)([function(t){return t.getIn(["settings","notifications","quickFilter","show"])},function(t){return t.getIn(["settings","notifications","quickFilter","active"])},function(t){return Object(tt.List)(t.getIn(["settings","notifications","shows"]).filter(function(t){return!t}).keys())},function(t){return t.getIn(["notifications","items"])}],function(t,e,i,n){return t&&"all"!==e?n.filter(function(t){return null!==t&&e===t.get("type")}):n.filterNot(function(t){return null!==t&&i.includes(t.get("type"))})}),at=Object(j.connect)(function(t){return{showFilterBar:t.getIn(["settings","notifications","quickFilter","show"]),notifications:ot(t),isLoading:t.getIn(["notifications","isLoading"],!0),isUnread:0<t.getIn(["notifications","unread"]),hasMore:t.getIn(["notifications","hasMore"])}})(c=Object(I.g)((r=l=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return n=o.call.apply(o,[this].concat(e))||this,Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleLoadGap",function(t){n.props.dispatch(Object(M.i)({maxId:t}))}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleLoadOlder",h()(function(){var t=n.props.notifications.last();n.props.dispatch(Object(M.i)({maxId:t&&t.get("id")}))},300,{leading:!0})),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleScrollToTop",h()(function(){n.props.dispatch(Object(M.j)(!0))},100)),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleScroll",h()(function(){n.props.dispatch(Object(M.j)(!1))},100)),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handlePin",function(){var t=n.props,e=t.columnId,i=t.dispatch;i(e?Object(_.h)(e):Object(_.e)("NOTIFICATIONS",{}))}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleMove",function(t){var e=n.props,i=e.columnId;(0,e.dispatch)(Object(_.g)(i,t))}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleHeaderClick",function(){n.column.scrollTop()}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"setColumnRef",function(t){n.column=t}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleMoveUp",function(e){var t=n.props.notifications.findIndex(function(t){return null!==t&&t.get("id")===e})-1;n._selectChild(t)}),Object(f.a)(Object(u.a)(Object(u.a)(n)),"handleMoveDown",function(e){var t=n.props.notifications.findIndex(function(t){return null!==t&&t.get("id")===e})+1;n._selectChild(t)}),n}Object(d.a)(t,o);var e=t.prototype;return e.componentWillUnmount=function(){this.handleLoadOlder.cancel(),this.handleScrollToTop.cancel(),this.handleScroll.cancel(),this.props.dispatch(Object(M.j)(!1))},e._selectChild=function(t){var e=this.column.node.querySelector("article:nth-of-type("+(t+1)+") .focusable");e&&e.focus()},e.render=function(){var i=this,t=this.props,e=t.intl,n=t.notifications,o=t.shouldUpdateScroll,a=t.isLoading,s=t.isUnread,c=t.columnId,l=t.multiColumn,r=t.hasMore,d=t.showFilterBar,u=!!c,f=Object(p.a)(I.b,{id:"empty_column.notifications",defaultMessage:"You don't have any notifications yet. Interact with others to start the conversation."}),b=null,h=d?Object(p.a)(Z,{}):null;b=a&&this.scrollableContent?this.scrollableContent:0<n.size||r?n.map(function(t,e){return null===t?Object(p.a)(it.a,{disabled:a,maxId:0<e?n.getIn([e-1,"id"]):null,onClick:i.handleLoadGap},"gap:"+n.getIn([e+1,"id"])):Object(p.a)(A,{notification:t,accountId:t.get("account"),onMoveUp:i.handleMoveUp,onMoveDown:i.handleMoveDown},t.get("id"))}):null,this.scrollableContent=b;var g=Object(p.a)(et.a,{scrollKey:"notifications-"+c,trackScroll:!u,isLoading:a,showLoading:a&&0===n.size,hasMore:r,emptyMessage:f,onLoadMore:this.handleLoadOlder,onScrollToTop:this.handleScrollToTop,onScroll:this.handleScroll,shouldUpdateScroll:o},void 0,b);return O.a.createElement(v.a,{ref:this.setColumnRef,label:e.formatMessage(nt.title)},Object(p.a)(m.a,{icon:"bell",active:s,title:e.formatMessage(nt.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:u,multiColumn:l},void 0,Object(p.a)(Y,{})),h,g)},t}(O.a.PureComponent),Object(f.a)(l,"defaultProps",{trackScroll:!0}),c=r))||c)||c}}]);
//# sourceMappingURL=notifications.js.map