{"version":3,"sources":["webpack:///app/javascript/opt/mastodon/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.jsx","webpack:///app/javascript/opt/mastodon/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js","webpack:///app/javascript/opt/mastodon/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx","webpack:///app/javascript/opt/mastodon/app/javascript/flavours/glitch/features/getting_started/containers/announcements_container.js","webpack:///app/javascript/opt/mastodon/app/javascript/flavours/glitch/features/home_timeline/index.jsx","webpack:///./app/javascript/images/elephant_ui_plane.svg"],"names":["messages","defineMessages","filter_regex","settings","ColumnSettings","React","PureComponent","render","onChange","intl","this","props","_jsx","className","FormattedMessage","id","defaultMessage","SettingToggle","prefix","settingPath","label","SettingText","formatMessage","injectIntl","connect","state","getIn","dispatch","path","checked","changeSetting","onSave","saveSettings","close","previous","next","Content","ImmutablePureComponent","constructor","arguments","setRef","c","node","onMentionClick","mention","e","context","router","button","ctrlKey","metaKey","preventDefault","history","push","get","onHashtagClick","hashtag","replace","onStatusClick","status","handleMouseEnter","_ref","currentTarget","autoPlayGif","emojis","querySelectorAll","i","length","emoji","src","getAttribute","handleMouseLeave","_ref2","componentDidMount","_updateLinks","componentDidUpdate","links","link","classList","contains","add","announcement","find","item","href","addEventListener","bind","setAttribute","textContent","previousSibling","text","createElement","ref","dangerouslySetInnerHTML","__html","onMouseEnter","onMouseLeave","contextTypes","PropTypes","object","propTypes","ImmutablePropTypes","map","isRequired","Emoji","emojiMap","hovered","unicodeMapping","filename","shortCode","title","draggable","alt","assetHost","Reaction","handleClick","reaction","announcementId","addReaction","removeReaction","setState","classNames","active","onClick","style","AnimatedNumber","value","string","func","ReactionsBar","handleEmojiPick","data","native","willEnter","scale","reduceMotion","willLeave","spring","stiffness","damping","reactions","visibleReactions","filter","x","styles","key","toArray","TransitionMotion","items","isEmpty","_ref3","transform","position","size","EmojiPickerDropdown","onPickEmoji","Icon","list","Announcement","unread","selected","startsAt","Date","endsAt","now","hasTimeRange","skipYear","getFullYear","skipEndDate","getDate","getMonth","skipTime","FormattedDate","hour12","year","undefined","month","day","hour","minute","bool","Announcements","index","handleChangeIndex","announcements","handleNextClick","handlePrevClick","static","_markAnnouncementAsRead","dismissAnnouncement","mascot","elephantUIPlane","ReactSwipeableViews","animateHeight","animateTransitions","onChangeIndex","idx","disabled","disableSwiping","IconButton","icon","customEmojiMap","createSelector","reduce","set","ImmutableMap","name","show_announcements","hide_announcements","HomeTimeline","handlePin","columnId","removeColumn","addColumn","handleMove","dir","moveColumn","handleHeaderClick","column","scrollTop","handleLoadMore","maxId","expandHomeTimeline","handleToggleAnnouncementsClick","stopPropagation","toggleShowAnnouncements","setTimeout","fetchAnnouncements","_checkIfReloadNeeded","isPartial","prevProps","componentWillUnmount","_stopPolling","wasPartial","polling","setInterval","clearInterval","hasUnread","multiColumn","hasAnnouncements","unreadAnnouncements","showAnnouncements","pinned","signedIn","identity","announcementsButton","IconWithBadge","count","Column","bindToDocument","ColumnHeader","onPin","onMove","extraButton","appendContent","AnnouncementsContainer","ColumnSettingsContainer","StatusListContainer","trackScroll","scrollKey","onLoadMore","timelineId","emptyMessage","values","suggestions","Link","to","regex","NotSignedInIndicator","Helmet","content"],"mappings":"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","file":"js/flavours/glitch/async/home_timeline-c8bfbb42717ef7a82d50.chunk.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';\nimport SettingText from 'flavours/glitch/components/setting_text';\n\nconst messages = defineMessages({\n filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },\n settings: { id: 'home.settings', defaultMessage: 'Column settings' },\n});\n\nclass ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { settings, onChange, intl } = this.props;\n\n return (\n
\n \n\n
\n } />\n
\n\n
\n } />\n
\n\n
\n } />\n
\n\n \n\n
\n \n
\n
\n );\n }\n\n}\n\nexport default injectIntl(ColumnSettings);\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'home']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (path, checked) {\n dispatch(changeSetting(['home', ...path], checked));\n },\n\n onSave () {\n dispatch(saveSettings());\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport Icon from 'flavours/glitch/components/icon';\nimport { defineMessages, injectIntl, FormattedMessage, FormattedDate } from 'react-intl';\nimport { autoPlayGif, reduceMotion, disableSwiping, mascot } from 'flavours/glitch/initial_state';\nimport elephantUIPlane from 'mastodon/../images/elephant_ui_plane.svg';\nimport unicodeMapping from 'flavours/glitch/features/emoji/emoji_unicode_mapping_light';\nimport classNames from 'classnames';\nimport EmojiPickerDropdown from 'flavours/glitch/features/compose/containers/emoji_picker_dropdown_container';\nimport AnimatedNumber from 'flavours/glitch/components/animated_number';\nimport TransitionMotion from 'react-motion/lib/TransitionMotion';\nimport spring from 'react-motion/lib/spring';\nimport { assetHost } from 'flavours/glitch/utils/config';\n\nconst messages = defineMessages({\n close: { id: 'lightbox.close', defaultMessage: 'Close' },\n previous: { id: 'lightbox.previous', defaultMessage: 'Previous' },\n next: { id: 'lightbox.next', defaultMessage: 'Next' },\n});\n\nclass Content extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n announcement: ImmutablePropTypes.map.isRequired,\n };\n\n setRef = c => {\n this.node = c;\n };\n\n componentDidMount () {\n this._updateLinks();\n }\n\n componentDidUpdate () {\n this._updateLinks();\n }\n\n _updateLinks () {\n const node = this.node;\n\n if (!node) {\n return;\n }\n\n const links = node.querySelectorAll('a');\n\n for (var i = 0; i < links.length; ++i) {\n let link = links[i];\n\n if (link.classList.contains('status-link')) {\n continue;\n }\n\n link.classList.add('status-link');\n\n let mention = this.props.announcement.get('mentions').find(item => link.href === item.get('url'));\n\n if (mention) {\n link.addEventListener('click', this.onMentionClick.bind(this, mention), false);\n link.setAttribute('title', mention.get('acct'));\n } else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {\n link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false);\n } else {\n let status = this.props.announcement.get('statuses').find(item => link.href === item.get('url'));\n if (status) {\n link.addEventListener('click', this.onStatusClick.bind(this, status), false);\n }\n link.setAttribute('title', link.href);\n link.classList.add('unhandled-link');\n }\n\n link.setAttribute('target', '_blank');\n link.setAttribute('rel', 'noopener noreferrer');\n }\n }\n\n onMentionClick = (mention, e) => {\n if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {\n e.preventDefault();\n this.context.router.history.push(`/@${mention.get('acct')}`);\n }\n };\n\n onHashtagClick = (hashtag, e) => {\n hashtag = hashtag.replace(/^#/, '');\n\n if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {\n e.preventDefault();\n this.context.router.history.push(`/tags/${hashtag}`);\n }\n };\n\n onStatusClick = (status, e) => {\n if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {\n e.preventDefault();\n this.context.router.history.push(`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`);\n }\n };\n\n handleMouseEnter = ({ currentTarget }) => {\n if (autoPlayGif) {\n return;\n }\n\n const emojis = currentTarget.querySelectorAll('.custom-emoji');\n\n for (var i = 0; i < emojis.length; i++) {\n let emoji = emojis[i];\n emoji.src = emoji.getAttribute('data-original');\n }\n };\n\n handleMouseLeave = ({ currentTarget }) => {\n if (autoPlayGif) {\n return;\n }\n\n const emojis = currentTarget.querySelectorAll('.custom-emoji');\n\n for (var i = 0; i < emojis.length; i++) {\n let emoji = emojis[i];\n emoji.src = emoji.getAttribute('data-static');\n }\n };\n\n render () {\n const { announcement } = this.props;\n\n return (\n \n );\n }\n\n}\n\nclass Emoji extends React.PureComponent {\n\n static propTypes = {\n emoji: PropTypes.string.isRequired,\n emojiMap: ImmutablePropTypes.map.isRequired,\n hovered: PropTypes.bool.isRequired,\n };\n\n render () {\n const { emoji, emojiMap, hovered } = this.props;\n\n if (unicodeMapping[emoji]) {\n const { filename, shortCode } = unicodeMapping[this.props.emoji];\n const title = shortCode ? `:${shortCode}:` : '';\n\n return (\n \n );\n } else if (emojiMap.get(emoji)) {\n const filename = (autoPlayGif || hovered) ? emojiMap.getIn([emoji, 'url']) : emojiMap.getIn([emoji, 'static_url']);\n const shortCode = `:${emoji}:`;\n\n return (\n \n );\n } else {\n return null;\n }\n }\n\n}\n\nclass Reaction extends ImmutablePureComponent {\n\n static propTypes = {\n announcementId: PropTypes.string.isRequired,\n reaction: ImmutablePropTypes.map.isRequired,\n addReaction: PropTypes.func.isRequired,\n removeReaction: PropTypes.func.isRequired,\n emojiMap: ImmutablePropTypes.map.isRequired,\n style: PropTypes.object,\n };\n\n state = {\n hovered: false,\n };\n\n handleClick = () => {\n const { reaction, announcementId, addReaction, removeReaction } = this.props;\n\n if (reaction.get('me')) {\n removeReaction(announcementId, reaction.get('name'));\n } else {\n addReaction(announcementId, reaction.get('name'));\n }\n };\n\n handleMouseEnter = () => this.setState({ hovered: true });\n\n handleMouseLeave = () => this.setState({ hovered: false });\n\n render () {\n const { reaction } = this.props;\n\n let shortCode = reaction.get('name');\n\n if (unicodeMapping[shortCode]) {\n shortCode = unicodeMapping[shortCode].shortCode;\n }\n\n return (\n \n );\n }\n\n}\n\nclass ReactionsBar extends ImmutablePureComponent {\n\n static propTypes = {\n announcementId: PropTypes.string.isRequired,\n reactions: ImmutablePropTypes.list.isRequired,\n addReaction: PropTypes.func.isRequired,\n removeReaction: PropTypes.func.isRequired,\n emojiMap: ImmutablePropTypes.map.isRequired,\n };\n\n handleEmojiPick = data => {\n const { addReaction, announcementId } = this.props;\n addReaction(announcementId, data.native.replace(/:/g, ''));\n };\n\n willEnter () {\n return { scale: reduceMotion ? 1 : 0 };\n }\n\n willLeave () {\n return { scale: reduceMotion ? 0 : spring(0, { stiffness: 170, damping: 26 }) };\n }\n\n render () {\n const { reactions } = this.props;\n const visibleReactions = reactions.filter(x => x.get('count') > 0);\n\n const styles = visibleReactions.map(reaction => ({\n key: reaction.get('name'),\n data: reaction,\n style: { scale: reduceMotion ? 1 : spring(1, { stiffness: 150, damping: 13 }) },\n })).toArray();\n\n return (\n \n {items => (\n
\n {items.map(({ key, data, style }) => (\n \n ))}\n\n {visibleReactions.size < 8 && } />}\n
\n )}\n
\n );\n }\n\n}\n\nclass Announcement extends ImmutablePureComponent {\n\n static propTypes = {\n announcement: ImmutablePropTypes.map.isRequired,\n emojiMap: ImmutablePropTypes.map.isRequired,\n addReaction: PropTypes.func.isRequired,\n removeReaction: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n selected: PropTypes.bool,\n };\n\n state = {\n unread: !this.props.announcement.get('read'),\n };\n\n componentDidUpdate () {\n const { selected, announcement } = this.props;\n if (!selected && this.state.unread !== !announcement.get('read')) {\n this.setState({ unread: !announcement.get('read') });\n }\n }\n\n render () {\n const { announcement } = this.props;\n const { unread } = this.state;\n const startsAt = announcement.get('starts_at') && new Date(announcement.get('starts_at'));\n const endsAt = announcement.get('ends_at') && new Date(announcement.get('ends_at'));\n const now = new Date();\n const hasTimeRange = startsAt && endsAt;\n const skipYear = hasTimeRange && startsAt.getFullYear() === endsAt.getFullYear() && endsAt.getFullYear() === now.getFullYear();\n const skipEndDate = hasTimeRange && startsAt.getDate() === endsAt.getDate() && startsAt.getMonth() === endsAt.getMonth() && startsAt.getFullYear() === endsAt.getFullYear();\n const skipTime = announcement.get('all_day');\n\n return (\n
\n \n \n {hasTimeRange && ยท - }\n \n\n \n\n \n\n {unread && }\n
\n );\n }\n\n}\n\nclass Announcements extends ImmutablePureComponent {\n\n static propTypes = {\n announcements: ImmutablePropTypes.list,\n emojiMap: ImmutablePropTypes.map.isRequired,\n dismissAnnouncement: PropTypes.func.isRequired,\n addReaction: PropTypes.func.isRequired,\n removeReaction: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n index: 0,\n };\n\n static getDerivedStateFromProps(props, state) {\n if (props.announcements.size > 0 && state.index >= props.announcements.size) {\n return { index: props.announcements.size - 1 };\n } else {\n return null;\n }\n }\n\n componentDidMount () {\n this._markAnnouncementAsRead();\n }\n\n componentDidUpdate () {\n this._markAnnouncementAsRead();\n }\n\n _markAnnouncementAsRead () {\n const { dismissAnnouncement, announcements } = this.props;\n const { index } = this.state;\n const announcement = announcements.get(index);\n if (!announcement.get('read')) dismissAnnouncement(announcement.get('id'));\n }\n\n handleChangeIndex = index => {\n this.setState({ index: index % this.props.announcements.size });\n };\n\n handleNextClick = () => {\n this.setState({ index: (this.state.index + 1) % this.props.announcements.size });\n };\n\n handlePrevClick = () => {\n this.setState({ index: (this.props.announcements.size + this.state.index - 1) % this.props.announcements.size });\n };\n\n render () {\n const { announcements, intl } = this.props;\n const { index } = this.state;\n\n if (announcements.isEmpty()) {\n return null;\n }\n\n return (\n
\n \n\n
\n \n {announcements.map((announcement, idx) => (\n \n ))}\n \n\n {announcements.size > 1 && (\n
\n \n {index + 1} / {announcements.size}\n \n
\n )}\n
\n
\n );\n }\n\n}\n\nexport default injectIntl(Announcements);\n","import { connect } from 'react-redux';\nimport { addReaction, removeReaction, dismissAnnouncement } from 'flavours/glitch/actions/announcements';\nimport Announcements from '../components/announcements';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\n\nconst customEmojiMap = createSelector([state => state.get('custom_emojis')], items => items.reduce((map, emoji) => map.set(emoji.get('shortcode'), emoji), ImmutableMap()));\n\nconst mapStateToProps = state => ({\n announcements: state.getIn(['announcements', 'items']),\n emojiMap: customEmojiMap(state),\n});\n\nconst mapDispatchToProps = dispatch => ({\n dismissAnnouncement: id => dispatch(dismissAnnouncement(id)),\n addReaction: (id, name) => dispatch(addReaction(id, name)),\n removeReaction: (id, name) => dispatch(removeReaction(id, name)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Announcements);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { expandHomeTimeline } from 'flavours/glitch/actions/timelines';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { Link } from 'react-router-dom';\nimport { fetchAnnouncements, toggleShowAnnouncements } from 'flavours/glitch/actions/announcements';\nimport AnnouncementsContainer from 'flavours/glitch/features/getting_started/containers/announcements_container';\nimport classNames from 'classnames';\nimport IconWithBadge from 'flavours/glitch/components/icon_with_badge';\nimport NotSignedInIndicator from 'flavours/glitch/components/not_signed_in_indicator';\nimport { Helmet } from 'react-helmet';\n\nconst messages = defineMessages({\n title: { id: 'column.home', defaultMessage: 'Home' },\n show_announcements: { id: 'home.show_announcements', defaultMessage: 'Show announcements' },\n hide_announcements: { id: 'home.hide_announcements', defaultMessage: 'Hide announcements' },\n});\n\nconst mapStateToProps = state => ({\n hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0,\n isPartial: state.getIn(['timelines', 'home', 'isPartial']),\n hasAnnouncements: !state.getIn(['announcements', 'items']).isEmpty(),\n unreadAnnouncements: state.getIn(['announcements', 'items']).count(item => !item.get('read')),\n showAnnouncements: state.getIn(['announcements', 'show']),\n regex: state.getIn(['settings', 'home', 'regex', 'body']),\n});\n\nclass HomeTimeline extends React.PureComponent {\n\n static contextTypes = {\n identity: PropTypes.object,\n };\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hasUnread: PropTypes.bool,\n isPartial: PropTypes.bool,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasAnnouncements: PropTypes.bool,\n unreadAnnouncements: PropTypes.number,\n showAnnouncements: PropTypes.bool,\n regex: PropTypes.string,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HOME', {}));\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 setRef = c => {\n this.column = c;\n };\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandHomeTimeline({ maxId }));\n };\n\n componentDidMount () {\n setTimeout(() => this.props.dispatch(fetchAnnouncements()), 700);\n this._checkIfReloadNeeded(false, this.props.isPartial);\n }\n\n componentDidUpdate (prevProps) {\n this._checkIfReloadNeeded(prevProps.isPartial, this.props.isPartial);\n }\n\n componentWillUnmount () {\n this._stopPolling();\n }\n\n _checkIfReloadNeeded (wasPartial, isPartial) {\n const { dispatch } = this.props;\n\n if (wasPartial === isPartial) {\n return;\n } else if (!wasPartial && isPartial) {\n this.polling = setInterval(() => {\n dispatch(expandHomeTimeline());\n }, 3000);\n } else if (wasPartial && !isPartial) {\n this._stopPolling();\n }\n }\n\n _stopPolling () {\n if (this.polling) {\n clearInterval(this.polling);\n this.polling = null;\n }\n }\n\n handleToggleAnnouncementsClick = (e) => {\n e.stopPropagation();\n this.props.dispatch(toggleShowAnnouncements());\n };\n\n render () {\n const { intl, hasUnread, columnId, multiColumn, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props;\n const pinned = !!columnId;\n const { signedIn } = this.context.identity;\n\n let announcementsButton = null;\n\n if (hasAnnouncements) {\n announcementsButton = (\n \n \n \n );\n }\n\n return (\n \n }\n >\n \n \n\n {signedIn ? (\n }} />}\n bindToDocument={!multiColumn}\n regex={this.props.regex}\n />\n ) : }\n\n \n {intl.formatMessage(messages.title)}\n \n \n \n );\n }\n\n}\n\nexport default connect(mapStateToProps)(injectIntl(HomeTimeline));\n","export default __webpack_public_path__ + \"media/images/elephant_ui_plane-72f8702db120a51a1cdbc4fb7f5ef59d.svg\";"],"sourceRoot":""}