Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma] / priv / static / packs / flavours / glitch / async / home_timeline.js.map
1 {"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/home_timeline/index.js"],"names":["messages","defineMessages","filter_regex","settings","ColumnSettings","injectIntl","render","this","props","onChange","intl","className","id","defaultMessage","prefix","settingPath","label","formatMessage","React","PureComponent","connect","state","getIn","dispatch","path","checked","changeSetting","onSave","saveSettings","title","HomeTimeline","hasUnread","isPartial","columnId","removeColumn","addColumn","dir","moveColumn","column","scrollTop","c","maxId","expandHomeTimeline","componentDidMount","_checkIfReloadNeeded","componentDidUpdate","prevProps","componentWillUnmount","_stopPolling","wasPartial","polling","setInterval","clearInterval","multiColumn","pinned","ref","setRef","name","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","trackScroll","scrollKey","onLoadMore","handleLoadMore","timelineId","emptyMessage","values","public","Link","to"],"mappings":"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","file":"flavours/glitch/async/home_timeline.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\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 };\n\n render () {\n const { settings, onChange, intl } = this.props;\n\n return (\n <div>\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.basic' defaultMessage='Basic' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reblog']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show boosts' />} />\n </div>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />\n </div>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'direct']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_direct' defaultMessage='Show DMs' />} />\n </div>\n\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>\n\n <div className='column-settings__row'>\n <SettingText prefix='home_timeline' settings={settings} settingPath={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />\n </div>\n </div>\n );\n }\n\n}\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 { 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';\n\nconst messages = defineMessages({\n title: { id: 'column.home', defaultMessage: 'Home' },\n});\n\nconst mapStateToProps = state => ({\n hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0,\n isPartial: state.getIn(['timelines', 'home', 'isPartial']),\n});\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass HomeTimeline extends React.PureComponent {\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 };\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 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 render () {\n const { intl, hasUnread, columnId, multiColumn } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='home' label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='home'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`home_timeline-${columnId}`}\n onLoadMore={this.handleLoadMore}\n timelineId='home'\n emptyMessage={<FormattedMessage id='empty_column.home' defaultMessage='Your home timeline is empty! Visit {public} or use search to get started and meet other users.' values={{ public: <Link to='/timelines/public'><FormattedMessage id='empty_column.home.public_timeline' defaultMessage='the public timeline' /></Link> }} />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}