{"version":3,"sources":["webpack:///./app/javascript/brighteon/features/trending_now_timeline/index.js","webpack:///./app/javascript/brighteon/features/trend_timeline/components/column_settings.js","webpack:///./app/javascript/brighteon/features/trend_timeline/containers/column_settings_container.js","webpack:///./app/javascript/brighteon/features/trend_timeline/index.js"],"names":["messages","defineMessages","title","TrendingNowTimeline","connect","state","trends","getIn","injectIntl","handleHeaderClick","column","scrollTop","setRef","c","handleLoadMore","componentDidMount","this","props","dispatch","fetchTrends","refreshInterval","setInterval","componentWillUnmount","clearInterval","render","intl","shouldUpdateScroll","columnId","multiColumn","other","pinned","emptyMessage","id","defaultMessage","content","map","hashtag","get","bindToDocument","ref","label","formatMessage","icon","onClick","scrollKey","onLoadMore","isLoading","size","showLoading","ImmutablePureComponent","propTypes","PropTypes","func","isRequired","object","bool","ColumnSettings","settings","onChange","className","settingPath","React","PureComponent","uuid","columns","index","findIndex","key","checked","changeColumnParams","changeSetting","TrendTimeline","onlyMedia","onlyRemote","timelineState","hasUnread","handlePin","removeColumn","addColumn","handleMove","dir","moveColumn","maxId","onlyLocal","expandTrendTimeline","disconnect","connectCommunityStream","componentDidUpdate","prevProps","active","onPin","onMove","timelineId","trackScroll","contextTypes","router","defaultProps"],"mappings":"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","file":"js/features/trend_timeline-5a9ac9f012cfda568b3c.chunk.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { connect } from 'react-redux';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport Hashtag from 'brighteon/components/hashtag';\nimport ColumnHeader from '../../components/column_header';\nimport ScrollableList from '../../components/scrollable_list';\nimport Column from '../ui/components/column';\nimport { fetchTrends } from '../../actions/trends';\n\nconst messages = defineMessages({\n title: { id: 'trends.trending_now', defineMessage: 'Trending Now' },\n});\n\nconst mapStateToProps = state => ({\n trends: state.getIn(['trends', 'items']),\n});\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass TrendingNowTimeline extends ImmutablePureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n multiColumn: PropTypes.bool,\n isLoading: PropTypes.bool,\n }\n\n componentDidMount() {\n this.props.dispatch(fetchTrends());\n this.refreshInterval = setInterval(() => this.props.dispatch(fetchTrends()), 900 * 1000);\n }\n\n componentWillUnmount() {\n if (this.refreshInterval) {\n clearInterval(this.refreshInterval);\n }\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = () => {\n\n }\n\n render() {\n const { intl, shouldUpdateScroll, columnId, multiColumn, trends, ...other } = this.props;\n const pinned = !!columnId;\n const emptyMessage = ;\n\n const content = trends.map(hashtag =>\n ,\n );\n\n return (\n \n \n\n\n \n {content}\n \n \n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport SettingToggle from '../../notifications/components/setting_toggle';\n\nexport default @injectIntl\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 columnId: PropTypes.string,\n };\n\n render () {\n const { settings, onChange } = this.props;\n\n return (\n
\n
\n } />\n } />\n
\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from '../../../actions/settings';\nimport { changeColumnParams } from '../../../actions/columns';\n\nconst mapStateToProps = (state, { columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n settings: (uuid && index >= 0) ? columns.get(index).get('params') : state.getIn(['settings', 'public']),\n };\n};\n\nconst mapDispatchToProps = (dispatch, { columnId }) => {\n return {\n onChange (key, checked) {\n if (columnId) {\n dispatch(changeColumnParams(columnId, key, checked));\n } else {\n dispatch(changeSetting(['public', ...key], checked));\n }\n },\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from '../ui/containers/status_list_container';\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { expandTrendTimeline } from '../../actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectCommunityStream } from '../../actions/streaming';\n\nconst messages = defineMessages({\n title: { id: 'column.trends', defaultMessage: 'Trends' },\n});\n\nconst mapStateToProps = (state, { columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n const onlyMedia = (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyMedia']) : state.getIn(['settings', 'public', 'other', 'onlyMedia']);\n const onlyRemote = (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyRemote']) : state.getIn(['settings', 'public', 'other', 'onlyRemote']);\n const timelineState = state.getIn(['timelines', `community${onlyMedia ? ':media' : ''}`]);\n\n return {\n hasUnread: !!timelineState && timelineState.get('unread') > 0,\n onlyMedia,\n onlyRemote,\n };\n};\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass TrendTimeline extends React.PureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static defaultProps = {\n onlyMedia: false,\n onlyLocal: true,\n };\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasUnread: PropTypes.bool,\n onlyMedia: PropTypes.bool,\n onlyRemote: PropTypes.bool,\n onlyLocal: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch, onlyMedia, onlyRemote } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn(onlyRemote ? 'REMOTE' : 'PUBLIC', { other: { onlyMedia, onlyRemote } }));\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 componentDidMount () {\n const { dispatch, onlyMedia, onlyRemote, onlyLocal } = this.props;\n\n dispatch(expandTrendTimeline({ onlyMedia, onlyRemote, onlyLocal }));\n this.disconnect = dispatch(connectCommunityStream({ onlyMedia, onlyRemote }));\n }\n\n componentDidUpdate (prevProps) {\n if (prevProps.onlyMedia !== this.props.onlyMedia || prevProps.onlyRemote !== this.props.onlyRemote) {\n const { dispatch, onlyMedia, onlyRemote, onlyLocal } = this.props;\n\n this.disconnect();\n dispatch(expandTrendTimeline({ onlyMedia, onlyRemote, onlyLocal }));\n this.disconnect = dispatch(connectCommunityStream({ onlyMedia, onlyRemote }));\n }\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { dispatch, onlyMedia, onlyRemote, onlyLocal } = this.props;\n\n dispatch(expandTrendTimeline({ maxId, onlyMedia, onlyRemote, onlyLocal }));\n }\n\n render () {\n const { intl, shouldUpdateScroll, columnId, hasUnread, multiColumn, onlyMedia, onlyRemote, onlyLocal } = this.props;\n const pinned = !!columnId;\n\n return (\n \n \n \n \n\n }\n shouldUpdateScroll={shouldUpdateScroll}\n bindToDocument={!multiColumn}\n />\n \n );\n }\n\n}\n"],"sourceRoot":""}