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

2 lines
13 KiB
JavaScript

(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{711:function(t,n,e){"use strict";e.r(n);var i,o,a,s,r,l,c=e(0),u=e.n(c),d=e(6),f=e.n(d),h=e(3),p=e.n(h),g=e(7),m=e.n(g),v=e(38),b=e.n(v),M=e(1),_=e.n(M),w=e(12),y=e(62),C=e(60),O=e(46),P=e(113),x=e(32),I=e(2),N=e.n(I),j=e(17),S=e.n(j),k=e(154),D=e(693),T=e(4),U=e(71),L=e(18),R=e(118),H=function(t,n,e){var i=[n];return i.push(t.formatDate(e,{hour:"2-digit",minute:"2-digit",month:"short",day:"numeric"})),i.join(", ")},F=Object(T.g)((a=o=function(t){function n(){var e,i,o;f()(this,n);for(var a=arguments.length,s=Array(a),r=0;r<a;r++)s[r]=arguments[r];return e=i=p()(this,t.call.apply(t,[this].concat(s))),i.handleMoveUp=function(){var t=i.props,n=t.notification;(0,t.onMoveUp)(n.get("id"))},i.handleMoveDown=function(){var t=i.props,n=t.notification;(0,t.onMoveDown)(n.get("id"))},i.handleOpen=function(){var t=i.props.notification;t.get("status")?i.context.router.history.push("/statuses/"+t.get("status")):i.handleOpenProfile()},i.handleOpenProfile=function(){var t=i.props.notification;i.context.router.history.push("/accounts/"+t.getIn(["account","id"]))},i.handleMention=function(t){t.preventDefault();var n=i.props,e=n.notification;(0,n.onMention)(e.get("account"),i.context.router.history)},o=e,p()(i,o)}return m()(n,t),n.prototype.getHandlers=function(){return{moveUp:this.handleMoveUp,moveDown:this.handleMoveDown,open:this.handleOpen,openProfile:this.handleOpenProfile,mention:this.handleMention,reply:this.handleMention}},n.prototype.renderFollow=function(t,n,e){var i=this.props.intl;return u()(R.HotKeys,{handlers:this.getHandlers()},void 0,u()("div",{className:"notification notification-follow focusable",tabIndex:"0","aria-label":H(i,i.formatMessage({id:"notification.follow",defaultMessage:"{name} followed you"},{name:n.get("acct")}),t.get("created_at"))},void 0,u()("div",{className:"notification__message"},void 0,u()("div",{className:"notification__favourite-icon-wrapper"},void 0,u()("i",{className:"fa fa-fw fa-user-plus"})),u()(T.b,{id:"notification.follow",defaultMessage:"{name} followed you",values:{name:e}})),u()(D.a,{id:n.get("id"),withNote:!1,hidden:this.props.hidden})))},n.prototype.renderMention=function(t){return u()(k.a,{id:t.get("status"),withDismiss:!0,hidden:this.props.hidden,onMoveDown:this.handleMoveDown,onMoveUp:this.handleMoveUp,contextType:"notifications"})},n.prototype.renderFavourite=function(t,n){var e=this.props.intl;return u()(R.HotKeys,{handlers:this.getHandlers()},void 0,u()("div",{className:"notification notification-favourite focusable",tabIndex:"0","aria-label":H(e,e.formatMessage({id:"notification.favourite",defaultMessage:"{name} favourited your status"},{name:t.getIn(["account","acct"])}),t.get("created_at"))},void 0,u()("div",{className:"notification__message"},void 0,u()("div",{className:"notification__favourite-icon-wrapper"},void 0,u()("i",{className:"fa fa-fw fa-star star-icon"})),u()(T.b,{id:"notification.favourite",defaultMessage:"{name} favourited your status",values:{name:n}})),u()(k.a,{id:t.get("status"),account:t.get("account"),muted:!0,withDismiss:!0,hidden:!!this.props.hidden})))},n.prototype.renderReblog=function(t,n){var e=this.props.intl;return u()(R.HotKeys,{handlers:this.getHandlers()},void 0,u()("div",{className:"notification notification-reblog focusable",tabIndex:"0","aria-label":H(e,e.formatMessage({id:"notification.reblog",defaultMessage:"{name} boosted your status"},{name:t.getIn(["account","acct"])}),t.get("created_at"))},void 0,u()("div",{className:"notification__message"},void 0,u()("div",{className:"notification__favourite-icon-wrapper"},void 0,u()("i",{className:"fa fa-fw fa-retweet"})),u()(T.b,{id:"notification.reblog",defaultMessage:"{name} boosted your status",values:{name:n}})),u()(k.a,{id:t.get("status"),account:t.get("account"),muted:!0,withDismiss:!0,hidden:this.props.hidden})))},n.prototype.render=function(){var t=this.props.notification,n=t.get("account"),e={__html:n.get("display_name_html")},i=u()("bdi",{},void 0,u()(U.a,{className:"notification__display-name",href:n.get("url"),title:n.get("acct"),to:"/accounts/"+n.get("id"),dangerouslySetInnerHTML:e}));switch(t.get("type")){case"follow":return this.renderFollow(t,n,i);case"mention":return this.renderMention(t);case"favourite":return this.renderFavourite(t,i);case"reblog":return this.renderReblog(t,i)}return null},n}(L.a),o.contextTypes={router:N.a.object},o.propTypes={notification:S.a.map.isRequired,hidden:N.a.bool,onMoveUp:N.a.func.isRequired,onMoveDown:N.a.func.isRequired,onMention:N.a.func.isRequired,intl:N.a.object.isRequired},i=a))||i,q=e(11),A=Object(w.connect)(function(){var t=Object(x.e)();return function(n,e){return{notification:t(n,e.notification,e.accountId)}}},function(t){return{onMention:function(n,e){t(Object(q.R)(n,e))}}})(F),K=function(t){function n(){return f()(this,n),p()(this,t.apply(this,arguments))}return m()(n,t),n.prototype.render=function(){return u()("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.props.onClick},void 0,u()("i",{className:"fa fa-eraser"})," ",u()(T.b,{id:"notifications.clear",defaultMessage:"Clear notifications"}))},n}(_.a.PureComponent),G=e(201),J=function(t){function n(){var e,i,o;f()(this,n);for(var a=arguments.length,s=Array(a),r=0;r<a;r++)s[r]=arguments[r];return e=i=p()(this,t.call.apply(t,[this].concat(s))),i.onPushChange=function(t,n){i.props.onChange(["push"].concat(t),n)},o=e,p()(i,o)}return m()(n,t),n.prototype.render=function(){var t=this.props,n=t.settings,e=t.pushSettings,i=t.onChange,o=t.onClear,a=u()(T.b,{id:"notifications.column_settings.alert",defaultMessage:"Desktop notifications"}),s=u()(T.b,{id:"notifications.column_settings.show",defaultMessage:"Show in column"}),r=u()(T.b,{id:"notifications.column_settings.sound",defaultMessage:"Play sound"}),l=e.get("browserSupport")&&e.get("isSubscribed"),c=l&&u()(T.b,{id:"notifications.column_settings.push",defaultMessage:"Push notifications"}),d=l&&u()(T.b,{id:"notifications.column_settings.push_meta",defaultMessage:"This device"});return u()("div",{},void 0,u()("div",{className:"column-settings__row"},void 0,u()(K,{onClick:o})),u()("div",{role:"group","aria-labelledby":"notifications-follow"},void 0,u()("span",{id:"notifications-follow",className:"column-settings__section"},void 0,u()(T.b,{id:"notifications.column_settings.follow",defaultMessage:"New followers:"})),u()("div",{className:"column-settings__row"},void 0,u()(G.a,{prefix:"notifications_desktop",settings:n,settingPath:["alerts","follow"],onChange:i,label:a}),l&&u()(G.a,{prefix:"notifications_push",settings:e,settingPath:["alerts","follow"],meta:d,onChange:this.onPushChange,label:c}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["shows","follow"],onChange:i,label:s}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["sounds","follow"],onChange:i,label:r}))),u()("div",{role:"group","aria-labelledby":"notifications-favourite"},void 0,u()("span",{id:"notifications-favourite",className:"column-settings__section"},void 0,u()(T.b,{id:"notifications.column_settings.favourite",defaultMessage:"Favourites:"})),u()("div",{className:"column-settings__row"},void 0,u()(G.a,{prefix:"notifications_desktop",settings:n,settingPath:["alerts","favourite"],onChange:i,label:a}),l&&u()(G.a,{prefix:"notifications_push",settings:e,settingPath:["alerts","favourite"],meta:d,onChange:this.onPushChange,label:c}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["shows","favourite"],onChange:i,label:s}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["sounds","favourite"],onChange:i,label:r}))),u()("div",{role:"group","aria-labelledby":"notifications-mention"},void 0,u()("span",{id:"notifications-mention",className:"column-settings__section"},void 0,u()(T.b,{id:"notifications.column_settings.mention",defaultMessage:"Mentions:"})),u()("div",{className:"column-settings__row"},void 0,u()(G.a,{prefix:"notifications_desktop",settings:n,settingPath:["alerts","mention"],onChange:i,label:a}),l&&u()(G.a,{prefix:"notifications_push",settings:e,settingPath:["alerts","mention"],meta:d,onChange:this.onPushChange,label:c}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["shows","mention"],onChange:i,label:s}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["sounds","mention"],onChange:i,label:r}))),u()("div",{role:"group","aria-labelledby":"notifications-reblog"},void 0,u()("span",{id:"notifications-reblog",className:"column-settings__section"},void 0,u()(T.b,{id:"notifications.column_settings.reblog",defaultMessage:"Boosts:"})),u()("div",{className:"column-settings__row"},void 0,u()(G.a,{prefix:"notifications_desktop",settings:n,settingPath:["alerts","reblog"],onChange:i,label:a}),l&&u()(G.a,{prefix:"notifications_push",settings:e,settingPath:["alerts","reblog"],meta:d,onChange:this.onPushChange,label:c}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["shows","reblog"],onChange:i,label:s}),u()(G.a,{prefix:"notifications",settings:n,settingPath:["sounds","reblog"],onChange:i,label:r}))))},n}(_.a.PureComponent),z=e(33),B=e(82),E=e(21),W=Object(T.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(T.g)(Object(w.connect)(function(t){return{settings:t.getIn(["settings","notifications"]),pushSettings:t.get("push_notifications")}},function(t,n){var e=n.intl;return{onChange:function(n,e){"push"===n[0]?t(Object(B.e)(n.slice(1),e)):t(Object(z.c)(["notifications"].concat(n),e))},onClear:function(){t(Object(E.d)("CONFIRM",{message:e.formatMessage(W.clearMessage),confirm:e.formatMessage(W.clearConfirm),onConfirm:function(){return t(Object(O.g)())}}))}}})(J)),Q=e(49),V=e(5),X=e(195),Z=e(212);e.d(n,"default",function(){return nt});var $=Object(T.f)({title:{id:"column.notifications",defaultMessage:"Notifications"}}),tt=Object(Q.createSelector)([function(t){return Object(V.List)(t.getIn(["settings","notifications","shows"]).filter(function(t){return!t}).keys())},function(t){return t.getIn(["notifications","items"])}],function(t,n){return n.filterNot(function(n){return null!==n&&t.includes(n.get("type"))})}),nt=Object(w.connect)(function(t){return{notifications:tt(t),isLoading:t.getIn(["notifications","isLoading"],!0),isUnread:t.getIn(["notifications","unread"])>0,hasMore:t.getIn(["notifications","hasMore"])}})(s=Object(T.g)((l=r=function(t){function n(){var e,i,o;f()(this,n);for(var a=arguments.length,s=Array(a),r=0;r<a;r++)s[r]=arguments[r];return e=i=p()(this,t.call.apply(t,[this].concat(s))),i.handleLoadGap=function(t){i.props.dispatch(Object(O.h)({maxId:t}))},i.handleLoadOlder=b()(function(){var t=i.props.notifications.last();i.props.dispatch(Object(O.h)({maxId:t&&t.get("id")}))},300,{leading:!0}),i.handleScrollToTop=b()(function(){i.props.dispatch(Object(O.i)(!0))},100),i.handleScroll=b()(function(){i.props.dispatch(Object(O.i)(!1))},100),i.handlePin=function(){var t=i.props,n=t.columnId,e=t.dispatch;e(n?Object(P.h)(n):Object(P.e)("NOTIFICATIONS",{}))},i.handleMove=function(t){var n=i.props,e=n.columnId;(0,n.dispatch)(Object(P.g)(e,t))},i.handleHeaderClick=function(){i.column.scrollTop()},i.setColumnRef=function(t){i.column=t},i.handleMoveUp=function(t){var n=i.props.notifications.findIndex(function(n){return null!==n&&n.get("id")===t})-1;i._selectChild(n)},i.handleMoveDown=function(t){var n=i.props.notifications.findIndex(function(n){return null!==n&&n.get("id")===t})+1;i._selectChild(n)},o=e,p()(i,o)}return m()(n,t),n.prototype.componentWillUnmount=function(){this.handleLoadOlder.cancel(),this.handleScrollToTop.cancel(),this.handleScroll.cancel(),this.props.dispatch(Object(O.i)(!1))},n.prototype._selectChild=function(t){var n=this.column.node.querySelector("article:nth-of-type("+(t+1)+") .focusable");n&&n.focus()},n.prototype.render=function(){var t=this,n=this.props,e=n.intl,i=n.notifications,o=n.shouldUpdateScroll,a=n.isLoading,s=n.isUnread,r=n.columnId,l=n.multiColumn,c=n.hasMore,d=!!r,f=u()(T.b,{id:"empty_column.notifications",defaultMessage:"You don't have any notifications yet. Interact with others to start the conversation."}),h=null;h=a&&this.scrollableContent?this.scrollableContent:i.size>0||c?i.map(function(n,e){return null===n?u()(Z.a,{disabled:a,maxId:e>0?i.getIn([e-1,"id"]):null,onClick:t.handleLoadGap},"gap:"+i.getIn([e+1,"id"])):u()(A,{notification:n,accountId:n.get("account"),onMoveUp:t.handleMoveUp,onMoveDown:t.handleMoveDown},n.get("id"))}):null,this.scrollableContent=h;var p=u()(X.a,{scrollKey:"notifications-"+r,trackScroll:!d,isLoading:a,hasMore:c,emptyMessage:f,onLoadMore:this.handleLoadOlder,onScrollToTop:this.handleScrollToTop,onScroll:this.handleScroll,shouldUpdateScroll:o},void 0,h);return _.a.createElement(y.a,{ref:this.setColumnRef,label:e.formatMessage($.title)},u()(C.a,{icon:"bell",active:s,title:e.formatMessage($.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:d,multiColumn:l},void 0,u()(Y,{})),p)},n}(_.a.PureComponent),r.defaultProps={trackScroll:!0},s=l))||s)||s}}]);
//# sourceMappingURL=notifications.js.map