kopia lustrzana https://gitlab.com/soapbox-pub/soapbox
add DM filter option for Home timeline, fixes #254
rodzic
e116745e83
commit
ae608388a0
|
@ -33,6 +33,7 @@ const defaultSettings = ImmutableMap({
|
||||||
shows: ImmutableMap({
|
shows: ImmutableMap({
|
||||||
reblog: true,
|
reblog: true,
|
||||||
reply: true,
|
reply: true,
|
||||||
|
direct: false,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
regex: ImmutableMap({
|
regex: ImmutableMap({
|
||||||
|
|
|
@ -25,6 +25,10 @@ class ColumnSettings extends React.PureComponent {
|
||||||
<div className='column-settings__row'>
|
<div className='column-settings__row'>
|
||||||
<SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />
|
<SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className='column-settings__row'>
|
||||||
|
<SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'direct']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_direct' defaultMessage='Show direct messages' />} />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,10 @@ import { createSelector } from 'reselect';
|
||||||
import { debounce } from 'lodash';
|
import { debounce } from 'lodash';
|
||||||
import { dequeueTimeline } from 'soapbox/actions/timelines';
|
import { dequeueTimeline } from 'soapbox/actions/timelines';
|
||||||
import { scrollTopTimeline } from '../../../actions/timelines';
|
import { scrollTopTimeline } from '../../../actions/timelines';
|
||||||
|
import { getSettings } from 'soapbox/actions/settings';
|
||||||
|
|
||||||
const makeGetStatusIds = () => createSelector([
|
const makeGetStatusIds = () => createSelector([
|
||||||
(state, { type }) => state.getIn(['settings', type], ImmutableMap()),
|
(state, { type }) => getSettings(state).get(type, ImmutableMap()),
|
||||||
(state, { type }) => state.getIn(['timelines', type, 'items'], ImmutableList()),
|
(state, { type }) => state.getIn(['timelines', type, 'items'], ImmutableList()),
|
||||||
(state) => state.get('statuses'),
|
(state) => state.get('statuses'),
|
||||||
(state) => state.get('me'),
|
(state) => state.get('me'),
|
||||||
|
@ -26,6 +27,10 @@ const makeGetStatusIds = () => createSelector([
|
||||||
showStatus = showStatus && (statusForId.get('in_reply_to_id') === null);
|
showStatus = showStatus && (statusForId.get('in_reply_to_id') === null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (columnSettings.getIn(['shows', 'direct']) === false) {
|
||||||
|
showStatus = showStatus && (statusForId.get('visibility') !== 'direct');
|
||||||
|
}
|
||||||
|
|
||||||
return showStatus;
|
return showStatus;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Ładowanie…
Reference in New Issue