about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Yip <yipdw@member.fsf.org>2017-12-06 22:20:55 -0600
committerGitHub <noreply@github.com>2017-12-06 22:20:55 -0600
commit935c1944e27be4df9ba821a0f38fd599d1877a31 (patch)
tree9361644967707c69669131c52a47646cafac0f4c
parentde5620995175b7c1c0fc458bd78c12d8c5860aad (diff)
parent2f2467ce8e4403ef6a21d6a64ecb208124eca0ee (diff)
Merge pull request #241 from glitch-soc/no-dm-option
Add option to remove DMs from home (#126)
-rw-r--r--app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js4
-rw-r--r--app/javascript/flavours/glitch/features/ui/containers/status_list_container.js4
-rw-r--r--app/javascript/flavours/glitch/reducers/settings.js1
-rw-r--r--app/javascript/glitch/locales/en.json2
4 files changed, 11 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js
index 604a7c6dc..3ff0a1daf 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js
+++ b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js
@@ -34,6 +34,10 @@ export default class ColumnSettings extends React.PureComponent {
           <SettingToggle prefix='home_timeline' settings={settings} settingKey={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />
         </div>
 
+        <div className='column-settings__row'>
+          <SettingToggle prefix='home_timeline' settings={settings} settingKey={['shows', 'direct']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_direct' defaultMessage='Show DMs' />} />
+        </div>
+
         <span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>
 
         <div className='column-settings__row'>
diff --git a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index 69508f9ff..eca85b8e6 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
@@ -32,6 +32,10 @@ const makeGetStatusIds = () => createSelector([
       showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);
     }
 
+    if (columnSettings.getIn(['shows', 'direct']) === false) {
+      showStatus = showStatus && statusForId.get('visibility') !== 'direct';
+    }
+
     if (showStatus && regex && statusForId.get('account') !== me) {
       const searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');
       showStatus = !regex.test(searchIndex);
diff --git a/app/javascript/flavours/glitch/reducers/settings.js b/app/javascript/flavours/glitch/reducers/settings.js
index ceafbc467..6d5d71217 100644
--- a/app/javascript/flavours/glitch/reducers/settings.js
+++ b/app/javascript/flavours/glitch/reducers/settings.js
@@ -17,6 +17,7 @@ const initialState = ImmutableMap({
     shows: ImmutableMap({
       reblog: true,
       reply: true,
+      direct: true,
     }),
 
     regex: ImmutableMap({
diff --git a/app/javascript/glitch/locales/en.json b/app/javascript/glitch/locales/en.json
index 69aa29108..0276cb837 100644
--- a/app/javascript/glitch/locales/en.json
+++ b/app/javascript/glitch/locales/en.json
@@ -32,6 +32,8 @@
   "status.collapse": "Collapse",
   "status.uncollapse": "Uncollapse",
 
+  "home.column_settings.show_direct": "Show DMs",
+
   "notification.markForDeletion": "Mark for deletion",
   "notifications.clear": "Clear all my notifications",
   "notifications.marked_clear_confirmation": "Are you sure you want to permanently clear all selected notifications?",