X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;ds=sidebyside;f=priv%2Fstatic%2Fpacks%2Ffeatures%2Fnotifications.js.map;h=80ef6305bbc7058688e22c8935a45f596fd6f818;hb=423ea497bb2a7225f4f0d0e1ebff93466b3ec124;hp=d2b07b5560030c79d42a3074cfbe0a46f7e502a0;hpb=0fe165165f971e66be8870bfa3fc7dc95049b2d2;p=akkoma
diff --git a/priv/static/packs/features/notifications.js.map b/priv/static/packs/features/notifications.js.map
index d2b07b556..80ef6305b 100644
--- a/priv/static/packs/features/notifications.js.map
+++ b/priv/static/packs/features/notifications.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/notifications/components/notification.js","webpack:///./app/javascript/mastodon/features/notifications/containers/notification_container.js","webpack:///./app/javascript/mastodon/features/notifications/components/clear_column_button.js","webpack:///./app/javascript/mastodon/features/notifications/components/column_settings.js","webpack:///./app/javascript/mastodon/features/notifications/containers/column_settings_container.js","webpack:///./app/javascript/mastodon/features/notifications/index.js"],"names":["notificationForScreenReader","intl","message","timestamp","output","push","formatDate","hour","minute","month","day","join","notification_Notification","Object","index_es","handleMoveUp","_this$props","_this","props","notification","onMoveUp","get","handleMoveDown","_this$props2","onMoveDown","handleOpen","context","router","history","handleOpenProfile","getIn","handleMention","e","preventDefault","_this$props3","onMention","getHandlers","moveUp","this","moveDown","open","openProfile","mention","reply","renderFollow","account","link","jsx_default","lib","handlers","className","tabIndex","aria-label","formatMessage","id","defaultMessage","name","values","account_container","withNote","hidden","renderMention","status_container","withDismiss","contextType","renderFavourite","muted","renderReblog","render","displayNameHtml","__html","permalink","href","title","to","dangerouslySetInnerHTML","react_immutable_pure_component_es","contextTypes","prop_types_default","a","object","propTypes","ImmutablePropTypes_default","map","isRequired","bool","func","notification_container","es","getNotification","selectors","state","accountId","dispatch","compose","clear_column_button_ClearColumnButton","onClick","react_default","PureComponent","column_settings_ColumnSettings","onPushChange","path","checked","onChange","concat","_props","settings","pushSettings","onClear","alertStr","showStr","soundStr","showPushSettings","pushStr","pushMeta","role","aria-labelledby","setting_toggle","prefix","settingPath","label","meta","messages","clearMessage","clearConfirm","column_settings_container","_ref","push_notifications","slice","actions_settings","modal","confirm","onConfirm","actions_notifications","notifications_messages","getNotifications","reselect_lib","immutable","filter","item","keys","excludedTypes","notifications","filterNot","includes","notifications_Notifications","isLoading","isUnread","hasMore","handleLoadGap","maxId","handleLoadOlder","debounce_default","last","leading","handleScrollToTop","handleScroll","handlePin","columnId","columns","handleMove","dir","handleHeaderClick","column","scrollTop","setColumnRef","c","elementIndex","findIndex","_selectChild","componentWillUnmount","cancel","index","element","node","querySelector","focus","_this2","shouldUpdateScroll","multiColumn","pinned","emptyMessage","scrollableContent","size","load_gap","disabled","scrollContainer","scrollable_list","scrollKey","trackScroll","onLoadMore","onScrollToTop","onScroll","createElement","ref","column_header","icon","active","onPin","onMove","defaultProps"],"mappings":"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","file":"features/notifications.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport StatusContainer from '../../../containers/status_container';\nimport AccountContainer from '../../../containers/account_container';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Permalink from '../../../components/permalink';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\n\nconst notificationForScreenReader = (intl, message, timestamp) => {\n const output = [message];\n\n output.push(intl.formatDate(timestamp, { hour: '2-digit', minute: '2-digit', month: 'short', day: 'numeric' }));\n\n return output.join(', ');\n};\n\n@injectIntl\nexport default class Notification extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n notification: ImmutablePropTypes.map.isRequired,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func.isRequired,\n onMoveDown: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleMoveUp = () => {\n const { notification, onMoveUp } = this.props;\n onMoveUp(notification.get('id'));\n }\n\n handleMoveDown = () => {\n const { notification, onMoveDown } = this.props;\n onMoveDown(notification.get('id'));\n }\n\n handleOpen = () => {\n const { notification } = this.props;\n\n if (notification.get('status')) {\n this.context.router.history.push(`/statuses/${notification.get('status')}`);\n } else {\n this.handleOpenProfile();\n }\n }\n\n handleOpenProfile = () => {\n const { notification } = this.props;\n this.context.router.history.push(`/accounts/${notification.getIn(['account', 'id'])}`);\n }\n\n handleMention = e => {\n e.preventDefault();\n\n const { notification, onMention } = this.props;\n onMention(notification.get('account'), this.context.router.history);\n }\n\n getHandlers () {\n return {\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n mention: this.handleMention,\n reply: this.handleMention,\n };\n }\n\n renderFollow (notification, account, link) {\n const { intl } = this.props;\n\n return (\n \n \n \n );\n }\n\n renderMention (notification) {\n return (\n \n );\n }\n\n renderFavourite (notification, link) {\n const { intl } = this.props;\n\n return (\n \n \n \n );\n }\n\n renderReblog (notification, link) {\n const { intl } = this.props;\n\n return (\n \n \n \n );\n }\n\n render () {\n const { notification } = this.props;\n const account = notification.get('account');\n const displayNameHtml = { __html: account.get('display_name_html') };\n const link = ;\n\n switch(notification.get('type')) {\n case 'follow':\n return this.renderFollow(notification, account, link);\n case 'mention':\n return this.renderMention(notification);\n case 'favourite':\n return this.renderFavourite(notification, link);\n case 'reblog':\n return this.renderReblog(notification, link);\n }\n\n return null;\n }\n\n}\n","import { connect } from 'react-redux';\nimport { makeGetNotification } from '../../../selectors';\nimport Notification from '../components/notification';\nimport { mentionCompose } from '../../../actions/compose';\n\nconst makeMapStateToProps = () => {\n const getNotification = makeGetNotification();\n\n const mapStateToProps = (state, props) => ({\n notification: getNotification(state, props.notification, props.accountId),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n onMention: (account, router) => {\n dispatch(mentionCompose(account, router));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(Notification);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class ClearColumnButton extends React.PureComponent {\n\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n \n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport ClearColumnButton from './clear_column_button';\nimport SettingToggle from './setting_toggle';\n\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n pushSettings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n };\n\n onPushChange = (path, checked) => {\n this.props.onChange(['push', ...path], checked);\n }\n\n render () {\n const { settings, pushSettings, onChange, onClear } = this.props;\n\n const alertStr = ;\n const showStr = ;\n const soundStr = ;\n\n const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');\n const pushStr = showPushSettings && ;\n const pushMeta = showPushSettings && ;\n\n return (\n
\n
\n \n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from '../../../actions/settings';\nimport { clearNotifications } from '../../../actions/notifications';\nimport { changeAlerts as changePushNotifications } from '../../../actions/push_notifications';\nimport { openModal } from '../../../actions/modal';\n\nconst messages = defineMessages({\n clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },\n clearConfirm: { id: 'notifications.clear', defaultMessage: 'Clear notifications' },\n});\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'notifications']),\n pushSettings: state.get('push_notifications'),\n});\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onChange (path, checked) {\n if (path[0] === 'push') {\n dispatch(changePushNotifications(path.slice(1), checked));\n } else {\n dispatch(changeSetting(['notifications', ...path], checked));\n }\n },\n\n onClear () {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: () => dispatch(clearNotifications()),\n }));\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { expandNotifications, scrollTopNotifications } from '../../actions/notifications';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport NotificationContainer from './containers/notification_container';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\nimport { debounce } from 'lodash';\nimport ScrollableList from '../../components/scrollable_list';\nimport LoadGap from '../../components/load_gap';\n\nconst messages = defineMessages({\n title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n});\n\nconst getNotifications = createSelector([\n state => ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(item => !item).keys()),\n state => state.getIn(['notifications', 'items']),\n], (excludedTypes, notifications) => notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type'))));\n\nconst mapStateToProps = state => ({\n notifications: getNotifications(state),\n isLoading: state.getIn(['notifications', 'isLoading'], true),\n isUnread: state.getIn(['notifications', 'unread']) > 0,\n hasMore: state.getIn(['notifications', 'hasMore']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Notifications extends React.PureComponent {\n\n static propTypes = {\n columnId: PropTypes.string,\n notifications: ImmutablePropTypes.list.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n isLoading: PropTypes.bool,\n isUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n };\n\n static defaultProps = {\n trackScroll: true,\n };\n\n componentWillUnmount () {\n this.handleLoadOlder.cancel();\n this.handleScrollToTop.cancel();\n this.handleScroll.cancel();\n this.props.dispatch(scrollTopNotifications(false));\n }\n\n handleLoadGap = (maxId) => {\n this.props.dispatch(expandNotifications({ maxId }));\n };\n\n handleLoadOlder = debounce(() => {\n const last = this.props.notifications.last();\n this.props.dispatch(expandNotifications({ maxId: last && last.get('id') }));\n }, 300, { leading: true });\n\n handleScrollToTop = debounce(() => {\n this.props.dispatch(scrollTopNotifications(true));\n }, 100);\n\n handleScroll = debounce(() => {\n this.props.dispatch(scrollTopNotifications(false));\n }, 100);\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('NOTIFICATIONS', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setColumnRef = c => {\n this.column = c;\n }\n\n handleMoveUp = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) - 1;\n this._selectChild(elementIndex);\n }\n\n handleMoveDown = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) + 1;\n this._selectChild(elementIndex);\n }\n\n _selectChild (index) {\n const element = this.column.node.querySelector(`article:nth-of-type(${index + 1}) .focusable`);\n\n if (element) {\n element.focus();\n }\n }\n\n render () {\n const { intl, notifications, shouldUpdateScroll, isLoading, isUnread, columnId, multiColumn, hasMore } = this.props;\n const pinned = !!columnId;\n const emptyMessage = ;\n\n let scrollableContent = null;\n\n if (isLoading && this.scrollableContent) {\n scrollableContent = this.scrollableContent;\n } else if (notifications.size > 0 || hasMore) {\n scrollableContent = notifications.map((item, index) => item === null ? (\n 0 ? notifications.getIn([index - 1, 'id']) : null}\n onClick={this.handleLoadGap}\n />\n ) : (\n \n ));\n } else {\n scrollableContent = null;\n }\n\n this.scrollableContent = scrollableContent;\n\n const scrollContainer = (\n \n {scrollableContent}\n \n );\n\n return (\n \n \n \n \n\n {scrollContainer}\n \n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/components/follow_request.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/containers/follow_request_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/components/notification.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/containers/notification_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/components/clear_column_button.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/components/column_settings.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/containers/column_settings_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/components/filter_bar.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/containers/filter_bar_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/notifications/index.js"],"names":["messages","defineMessages","authorize","reject","FollowRequest","injectIntl","render","this","props","intl","hidden","account","onAuthorize","onReject","get","className","title","href","to","size","formatMessage","icon","onClick","ImmutablePureComponent","ImmutablePropTypes","map","isRequired","PropTypes","func","object","connect","getAccount","makeGetAccount","state","id","dispatch","authorizeFollowRequest","rejectFollowRequest","favourite","follow","ownPoll","poll","reblog","notificationForScreenReader","message","timestamp","output","push","formatDate","hour","minute","month","day","join","Notification","notification","onMoveUp","onMoveDown","context","router","history","handleOpenProfile","getIn","e","preventDefault","onMention","status","onFavourite","onReblog","onToggleHidden","getHandlers","reply","handleMention","handleHotkeyFavourite","boost","handleHotkeyBoost","mention","open","handleOpen","openProfile","moveUp","handleMoveUp","moveDown","handleMoveDown","toggleHidden","handleHotkeyToggleHidden","renderFollow","link","handlers","tabIndex","aria-label","name","fixedWidth","defaultMessage","values","renderFollowRequest","withNote","renderMention","withDismiss","contextType","getScrollPosition","updateScrollBottom","cachedMediaWidth","cacheMediaWidth","renderFavourite","muted","renderReblog","renderPoll","me","displayNameHtml","__html","dangerouslySetInnerHTML","bool","number","getNotification","makeGetNotification","getStatus","makeGetStatus","accountId","mentionCompose","onModalReblog","unreblog","shiftKey","boostModal","openModal","unfavourite","revealStatus","hideStatus","ClearColumnButton","React","PureComponent","ColumnSettings","path","checked","onChange","settings","pushSettings","onClear","filterShowStr","filterAdvancedStr","alertStr","showStr","soundStr","showPushSettings","pushStr","role","aria-labelledby","prefix","settingPath","label","onPushChange","clearMessage","clearConfirm","changePushNotifications","slice","changeSetting","setFilter","confirm","onConfirm","clearNotifications","tooltips","mentions","favourites","boosts","polls","follows","FilterBar","notificationType","selectFilter","selectedFilter","advancedMode","newActiveFilter","getNotifications","createSelector","ImmutableList","filter","item","keys","showFilterBar","allowedType","excludedTypes","notifications","filterNot","includes","Notifications","isLoading","isUnread","hasMore","numPending","maxId","expandNotifications","last","leading","loadPending","scrollTopNotifications","columnId","removeColumn","addColumn","dir","moveColumn","column","scrollTop","c","elementIndex","findIndex","_selectChild","componentWillMount","mountNotifications","componentWillUnmount","handleLoadOlder","cancel","handleScrollToTop","handleScroll","unmountNotifications","index","align_top","container","node","element","querySelector","offsetTop","scrollIntoView","clientHeight","offsetHeight","focus","shouldUpdateScroll","multiColumn","pinned","emptyMessage","scrollableContent","filterBarContainer","disabled","handleLoadGap","scrollContainer","scrollKey","trackScroll","showLoading","onLoadMore","onLoadPending","handleLoadPending","onScrollToTop","onScroll","bindToDocument","ref","setColumnRef","active","onPin","handlePin","onMove","handleMove","handleHeaderClick"],"mappings":"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","file":"features/notifications.js","sourcesContent":["import React, { Fragment } from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from 'mastodon/components/avatar';\nimport DisplayName from 'mastodon/components/display_name';\nimport Permalink from 'mastodon/components/permalink';\nimport IconButton from 'mastodon/components/icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },\n reject: { id: 'follow_request.reject', defaultMessage: 'Reject' },\n});\n\nexport default @injectIntl\nclass FollowRequest extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onAuthorize: PropTypes.func.isRequired,\n onReject: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { intl, hidden, account, onAuthorize, onReject } = this.props;\n\n if (!account) {\n return ;\n }\n\n if (hidden) {\n return (\n \n {account.get('display_name')}\n {account.get('username')}\n \n );\n }\n\n return (\n \n
\n
\n \n \n \n\n
\n \n \n
\n
\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { makeGetAccount } from 'mastodon/selectors';\nimport FollowRequest from '../components/follow_request';\nimport { authorizeFollowRequest, rejectFollowRequest } from 'mastodon/actions/accounts';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, props) => ({\n account: getAccount(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n onAuthorize () {\n dispatch(authorizeFollowRequest(id));\n },\n\n onReject () {\n dispatch(rejectFollowRequest(id));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(FollowRequest);\n","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { injectIntl, FormattedMessage, defineMessages } from 'react-intl';\nimport { HotKeys } from 'react-hotkeys';\nimport PropTypes from 'prop-types';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from 'mastodon/initial_state';\nimport StatusContainer from 'mastodon/containers/status_container';\nimport AccountContainer from 'mastodon/containers/account_container';\nimport FollowRequestContainer from '../containers/follow_request_container';\nimport Icon from 'mastodon/components/icon';\nimport Permalink from 'mastodon/components/permalink';\n\nconst messages = defineMessages({\n favourite: { id: 'notification.favourite', defaultMessage: '{name} favourited your status' },\n follow: { id: 'notification.follow', defaultMessage: '{name} followed you' },\n ownPoll: { id: 'notification.own_poll', defaultMessage: 'Your poll has ended' },\n poll: { id: 'notification.poll', defaultMessage: 'A poll you have voted in has ended' },\n reblog: { id: 'notification.reblog', defaultMessage: '{name} boosted your status' },\n});\n\nconst notificationForScreenReader = (intl, message, timestamp) => {\n const output = [message];\n\n output.push(intl.formatDate(timestamp, { hour: '2-digit', minute: '2-digit', month: 'short', day: 'numeric' }));\n\n return output.join(', ');\n};\n\nexport default @injectIntl\nclass Notification extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n notification: ImmutablePropTypes.map.isRequired,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func.isRequired,\n onMoveDown: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n onFavourite: PropTypes.func.isRequired,\n onReblog: PropTypes.func.isRequired,\n onToggleHidden: PropTypes.func.isRequired,\n status: ImmutablePropTypes.map,\n intl: PropTypes.object.isRequired,\n getScrollPosition: PropTypes.func,\n updateScrollBottom: PropTypes.func,\n cacheMediaWidth: PropTypes.func,\n cachedMediaWidth: PropTypes.number,\n };\n\n handleMoveUp = () => {\n const { notification, onMoveUp } = this.props;\n onMoveUp(notification.get('id'));\n }\n\n handleMoveDown = () => {\n const { notification, onMoveDown } = this.props;\n onMoveDown(notification.get('id'));\n }\n\n handleOpen = () => {\n const { notification } = this.props;\n\n if (notification.get('status')) {\n this.context.router.history.push(`/statuses/${notification.get('status')}`);\n } else {\n this.handleOpenProfile();\n }\n }\n\n handleOpenProfile = () => {\n const { notification } = this.props;\n this.context.router.history.push(`/accounts/${notification.getIn(['account', 'id'])}`);\n }\n\n handleMention = e => {\n e.preventDefault();\n\n const { notification, onMention } = this.props;\n onMention(notification.get('account'), this.context.router.history);\n }\n\n handleHotkeyFavourite = () => {\n const { status } = this.props;\n if (status) this.props.onFavourite(status);\n }\n\n handleHotkeyBoost = e => {\n const { status } = this.props;\n if (status) this.props.onReblog(status, e);\n }\n\n handleHotkeyToggleHidden = () => {\n const { status } = this.props;\n if (status) this.props.onToggleHidden(status);\n }\n\n getHandlers () {\n return {\n reply: this.handleMention,\n favourite: this.handleHotkeyFavourite,\n boost: this.handleHotkeyBoost,\n mention: this.handleMention,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n toggleHidden: this.handleHotkeyToggleHidden,\n };\n }\n\n renderFollow (notification, account, link) {\n const { intl } = this.props;\n\n return (\n \n \n \n );\n }\n\n renderFollowRequest (notification, account, link) {\n const { intl } = this.props;\n\n return (\n \n \n \n );\n }\n\n renderMention (notification) {\n return (\n \n );\n }\n\n renderFavourite (notification, link) {\n const { intl } = this.props;\n\n return (\n \n \n \n );\n }\n\n renderReblog (notification, link) {\n const { intl } = this.props;\n\n return (\n \n \n \n );\n }\n\n renderPoll (notification, account) {\n const { intl } = this.props;\n const ownPoll = me === account.get('id');\n const message = ownPoll ? intl.formatMessage(messages.ownPoll) : intl.formatMessage(messages.poll);\n\n return (\n \n \n
\n
\n \n
\n\n
\n {ownPoll ? (\n \n ) : (\n \n )}\n \n
\n\n
\n
\n \n );\n }\n\n render () {\n const { notification } = this.props;\n const account = notification.get('account');\n const displayNameHtml = { __html: account.get('display_name_html') };\n const link = ;\n\n switch(notification.get('type')) {\n case 'follow':\n return this.renderFollow(notification, account, link);\n case 'follow_request':\n return this.renderFollowRequest(notification, account, link);\n case 'mention':\n return this.renderMention(notification);\n case 'favourite':\n return this.renderFavourite(notification, link);\n case 'reblog':\n return this.renderReblog(notification, link);\n case 'poll':\n return this.renderPoll(notification, account);\n }\n\n return null;\n }\n\n}\n","import { connect } from 'react-redux';\nimport { makeGetNotification, makeGetStatus } from '../../../selectors';\nimport Notification from '../components/notification';\nimport { openModal } from '../../../actions/modal';\nimport { mentionCompose } from '../../../actions/compose';\nimport {\n reblog,\n favourite,\n unreblog,\n unfavourite,\n} from '../../../actions/interactions';\nimport {\n hideStatus,\n revealStatus,\n} from '../../../actions/statuses';\nimport { boostModal } from '../../../initial_state';\n\nconst makeMapStateToProps = () => {\n const getNotification = makeGetNotification();\n const getStatus = makeGetStatus();\n\n const mapStateToProps = (state, props) => {\n const notification = getNotification(state, props.notification, props.accountId);\n return {\n notification: notification,\n status: notification.get('status') ? getStatus(state, { id: notification.get('status') }) : null,\n };\n };\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n onMention: (account, router) => {\n dispatch(mentionCompose(account, router));\n },\n\n onModalReblog (status) {\n dispatch(reblog(status));\n },\n\n onReblog (status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));\n }\n }\n },\n\n onFavourite (status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n\n onToggleHidden (status) {\n if (status.get('hidden')) {\n dispatch(revealStatus(status.get('id')));\n } else {\n dispatch(hideStatus(status.get('id')));\n }\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(Notification);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport Icon from 'mastodon/components/icon';\n\nexport default class ClearColumnButton extends React.PureComponent {\n\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n \n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport ClearColumnButton from './clear_column_button';\nimport SettingToggle from './setting_toggle';\n\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n pushSettings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n };\n\n onPushChange = (path, checked) => {\n this.props.onChange(['push', ...path], checked);\n }\n\n render () {\n const { settings, pushSettings, onChange, onClear } = this.props;\n\n const filterShowStr = ;\n const filterAdvancedStr = ;\n const alertStr = ;\n const showStr = ;\n const soundStr = ;\n\n const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');\n const pushStr = showPushSettings && ;\n\n return (\n \n
\n \n
\n\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from '../../../actions/settings';\nimport { setFilter } from '../../../actions/notifications';\nimport { clearNotifications } from '../../../actions/notifications';\nimport { changeAlerts as changePushNotifications } from '../../../actions/push_notifications';\nimport { openModal } from '../../../actions/modal';\n\nconst messages = defineMessages({\n clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },\n clearConfirm: { id: 'notifications.clear', defaultMessage: 'Clear notifications' },\n});\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'notifications']),\n pushSettings: state.get('push_notifications'),\n});\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onChange (path, checked) {\n if (path[0] === 'push') {\n dispatch(changePushNotifications(path.slice(1), checked));\n } else if (path[0] === 'quickFilter') {\n dispatch(changeSetting(['notifications', ...path], checked));\n dispatch(setFilter('all'));\n } else {\n dispatch(changeSetting(['notifications', ...path], checked));\n }\n },\n\n onClear () {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: () => dispatch(clearNotifications()),\n }));\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Icon from 'mastodon/components/icon';\n\nconst tooltips = defineMessages({\n mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' },\n favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favourites' },\n boosts: { id: 'notifications.filter.boosts', defaultMessage: 'Boosts' },\n polls: { id: 'notifications.filter.polls', defaultMessage: 'Poll results' },\n follows: { id: 'notifications.filter.follows', defaultMessage: 'Follows' },\n});\n\nexport default @injectIntl\nclass FilterBar extends React.PureComponent {\n\n static propTypes = {\n selectFilter: PropTypes.func.isRequired,\n selectedFilter: PropTypes.string.isRequired,\n advancedMode: PropTypes.bool.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n onClick (notificationType) {\n return () => this.props.selectFilter(notificationType);\n }\n\n render () {\n const { selectedFilter, advancedMode, intl } = this.props;\n const renderedElement = !advancedMode ? (\n \n \n \n
\n ) : (\n \n \n \n \n \n \n \n
\n );\n return renderedElement;\n }\n\n}\n","import { connect } from 'react-redux';\nimport FilterBar from '../components/filter_bar';\nimport { setFilter } from '../../../actions/notifications';\n\nconst makeMapStateToProps = state => ({\n selectedFilter: state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n advancedMode: state.getIn(['settings', 'notifications', 'quickFilter', 'advanced']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n selectFilter (newActiveFilter) {\n dispatch(setFilter(newActiveFilter));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(FilterBar);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { expandNotifications, scrollTopNotifications, loadPending, mountNotifications, unmountNotifications } from '../../actions/notifications';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport NotificationContainer from './containers/notification_container';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport FilterBarContainer from './containers/filter_bar_container';\nimport { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\nimport { debounce } from 'lodash';\nimport ScrollableList from '../../components/scrollable_list';\nimport LoadGap from '../../components/load_gap';\n\nconst messages = defineMessages({\n title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n});\n\nconst getNotifications = createSelector([\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n state => ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(item => !item).keys()),\n state => state.getIn(['notifications', 'items']),\n], (showFilterBar, allowedType, excludedTypes, notifications) => {\n if (!showFilterBar || allowedType === 'all') {\n // used if user changed the notification settings after loading the notifications from the server\n // otherwise a list of notifications will come pre-filtered from the backend\n // we need to turn it off for FilterBar in order not to block ourselves from seeing a specific category\n return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type')));\n }\n return notifications.filter(item => item !== null && allowedType === item.get('type'));\n});\n\nconst mapStateToProps = state => ({\n showFilterBar: state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n notifications: getNotifications(state),\n isLoading: state.getIn(['notifications', 'isLoading'], true),\n isUnread: state.getIn(['notifications', 'unread']) > 0 || state.getIn(['notifications', 'pendingItems']).size > 0,\n hasMore: state.getIn(['notifications', 'hasMore']),\n numPending: state.getIn(['notifications', 'pendingItems'], ImmutableList()).size,\n});\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass Notifications extends React.PureComponent {\n\n static propTypes = {\n columnId: PropTypes.string,\n notifications: ImmutablePropTypes.list.isRequired,\n showFilterBar: PropTypes.bool.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n isLoading: PropTypes.bool,\n isUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n numPending: PropTypes.number,\n };\n\n static defaultProps = {\n trackScroll: true,\n };\n\n componentWillMount() {\n this.props.dispatch(mountNotifications());\n }\n\n componentWillUnmount () {\n this.handleLoadOlder.cancel();\n this.handleScrollToTop.cancel();\n this.handleScroll.cancel();\n this.props.dispatch(scrollTopNotifications(false));\n this.props.dispatch(unmountNotifications());\n }\n\n handleLoadGap = (maxId) => {\n this.props.dispatch(expandNotifications({ maxId }));\n };\n\n handleLoadOlder = debounce(() => {\n const last = this.props.notifications.last();\n this.props.dispatch(expandNotifications({ maxId: last && last.get('id') }));\n }, 300, { leading: true });\n\n handleLoadPending = () => {\n this.props.dispatch(loadPending());\n };\n\n handleScrollToTop = debounce(() => {\n this.props.dispatch(scrollTopNotifications(true));\n }, 100);\n\n handleScroll = debounce(() => {\n this.props.dispatch(scrollTopNotifications(false));\n }, 100);\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('NOTIFICATIONS', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setColumnRef = c => {\n this.column = c;\n }\n\n handleMoveUp = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) - 1;\n this._selectChild(elementIndex, true);\n }\n\n handleMoveDown = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) + 1;\n this._selectChild(elementIndex, false);\n }\n\n _selectChild (index, align_top) {\n const container = this.column.node;\n const element = container.querySelector(`article:nth-of-type(${index + 1}) .focusable`);\n\n if (element) {\n if (align_top && container.scrollTop > element.offsetTop) {\n element.scrollIntoView(true);\n } else if (!align_top && container.scrollTop + container.clientHeight < element.offsetTop + element.offsetHeight) {\n element.scrollIntoView(false);\n }\n element.focus();\n }\n }\n\n render () {\n const { intl, notifications, shouldUpdateScroll, isLoading, isUnread, columnId, multiColumn, hasMore, numPending, showFilterBar } = this.props;\n const pinned = !!columnId;\n const emptyMessage = ;\n\n let scrollableContent = null;\n\n const filterBarContainer = showFilterBar\n ? ()\n : null;\n\n if (isLoading && this.scrollableContent) {\n scrollableContent = this.scrollableContent;\n } else if (notifications.size > 0 || hasMore) {\n scrollableContent = notifications.map((item, index) => item === null ? (\n 0 ? notifications.getIn([index - 1, 'id']) : null}\n onClick={this.handleLoadGap}\n />\n ) : (\n \n ));\n } else {\n scrollableContent = null;\n }\n\n this.scrollableContent = scrollableContent;\n\n const scrollContainer = (\n \n {scrollableContent}\n \n );\n\n return (\n \n \n \n \n {filterBarContainer}\n {scrollContainer}\n \n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file