diff options
author | Takeshi Umeda <noel.yoshiba@gmail.com> | 2020-04-19 04:52:39 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-18 21:52:39 +0200 |
commit | 2c7128c7f0ee3073acb9897cda88255982368193 (patch) | |
tree | c9036cd0d7a023f0532ad35e9362ebb3f19d2af4 /app/javascript/mastodon/features/hashtag_timeline | |
parent | a1ce9cbb67facf705379355b9c8ec19c521b419c (diff) |
Add local only to hashtag timeline (#13502)
Diffstat (limited to 'app/javascript/mastodon/features/hashtag_timeline')
-rw-r--r-- | app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js | 7 | ||||
-rw-r--r-- | app/javascript/mastodon/features/hashtag_timeline/index.js | 16 |
2 files changed, 15 insertions, 8 deletions
diff --git a/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js b/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js index 9c39b158a..956f16734 100644 --- a/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js +++ b/app/javascript/mastodon/features/hashtag_timeline/components/column_settings.js @@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import Toggle from 'react-toggle'; import AsyncSelect from 'react-select/async'; +import SettingToggle from '../../notifications/components/setting_toggle'; const messages = defineMessages({ placeholder: { id: 'hashtag.column_settings.select.placeholder', defaultMessage: 'Enter hashtags…' }, @@ -87,6 +88,8 @@ class ColumnSettings extends React.PureComponent { }; render () { + const { settings, onChange } = this.props; + return ( <div> <div className='column-settings__row'> @@ -106,6 +109,10 @@ class ColumnSettings extends React.PureComponent { {this.modeSelect('none')} </div> )} + + <div className='column-settings__row'> + <SettingToggle settings={settings} settingPath={['local']} onChange={onChange} label={<FormattedMessage id='community.column_settings.local_only' defaultMessage='Local only' />} /> + </div> </div> ); } diff --git a/app/javascript/mastodon/features/hashtag_timeline/index.js b/app/javascript/mastodon/features/hashtag_timeline/index.js index 28200e6c2..3e06e3652 100644 --- a/app/javascript/mastodon/features/hashtag_timeline/index.js +++ b/app/javascript/mastodon/features/hashtag_timeline/index.js @@ -98,21 +98,21 @@ class HashtagTimeline extends React.PureComponent { componentDidMount () { const { dispatch } = this.props; - const { id, tags } = this.props.params; + const { id, tags, local } = this.props.params; this._subscribe(dispatch, id, tags); - dispatch(expandHashtagTimeline(id, { tags })); + dispatch(expandHashtagTimeline(id, { tags, local })); } componentWillReceiveProps (nextProps) { const { dispatch, params } = this.props; - const { id, tags } = nextProps.params; + const { id, tags, local } = nextProps.params; - if (id !== params.id || !isEqual(tags, params.tags)) { + if (id !== params.id || !isEqual(tags, params.tags) || !isEqual(local, params.local)) { this._unsubscribe(); this._subscribe(dispatch, id, tags); - this.props.dispatch(clearTimeline(`hashtag:${id}`)); - this.props.dispatch(expandHashtagTimeline(id, { tags })); + dispatch(clearTimeline(`hashtag:${id}`)); + dispatch(expandHashtagTimeline(id, { tags, local })); } } @@ -125,8 +125,8 @@ class HashtagTimeline extends React.PureComponent { } handleLoadMore = maxId => { - const { id, tags } = this.props.params; - this.props.dispatch(expandHashtagTimeline(id, { maxId, tags })); + const { id, tags, local } = this.props.params; + this.props.dispatch(expandHashtagTimeline(id, { maxId, tags, local })); } render () { |