about summary refs log tree commit diff
path: root/app/javascript/mastodon/reducers/settings.js
diff options
context:
space:
mode:
authorchr v1.x <chr@chronal.net>2018-06-15 02:15:15 -0700
committerEugen Rochko <eugen@zeonfederated.com>2018-06-15 11:15:15 +0200
commit4f42238c294f92dbd87db3d83f9514344fcd1f8a (patch)
tree75d29a726c8f16fedd92db07ba8411c143243ca6 /app/javascript/mastodon/reducers/settings.js
parentf972815f1bdc7a9ca198da938471c1299a96b401 (diff)
Put "Media Only" option in column settings instead of content area headline (#7801)
* Action/reducer for changing column settings takes a path and a value
instead of a javascript object

* Settings menu version and column headline version working simultaneously

* remove column headline entirely

* remove css for headlines that aren't possible now

* Remove commented out code from unfruitful attempt at this feature

* Give direct timeline its own column settings bc it doesn't have a media only option

* Fix typo in public timeline code that was preventing per-column settings from working properly

* Fix codeclimate issues

* Missing semicolons

* Use redux state to set onlyMedia, let that do the update instead of a callback. Consequently, unpinned setting works without history modification

* Unused import
Diffstat (limited to 'app/javascript/mastodon/reducers/settings.js')
-rw-r--r--app/javascript/mastodon/reducers/settings.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/app/javascript/mastodon/reducers/settings.js b/app/javascript/mastodon/reducers/settings.js
index 0a034d739..12bcc2583 100644
--- a/app/javascript/mastodon/reducers/settings.js
+++ b/app/javascript/mastodon/reducers/settings.js
@@ -93,11 +93,11 @@ const moveColumn = (state, uuid, direction) => {
     .set('saved', false);
 };
 
-const changeColumnParams = (state, uuid, params) => {
+const changeColumnParams = (state, uuid, path, value) => {
   const columns = state.get('columns');
   const index   = columns.findIndex(item => item.get('uuid') === uuid);
 
-  const newColumns = columns.update(index, column => column.update('params', () => fromJS(params)));
+  const newColumns = columns.update(index, column => column.updateIn(['params', ...path], () => value));
 
   return state
     .set('columns', newColumns)
@@ -127,7 +127,7 @@ export default function settings(state = initialState, action) {
   case COLUMN_MOVE:
     return moveColumn(state, action.uuid, action.direction);
   case COLUMN_PARAMS_CHANGE:
-    return changeColumnParams(state, action.uuid, action.params);
+    return changeColumnParams(state, action.uuid, action.path, action.value);
   case EMOJI_USE:
     return updateFrequentEmojis(state, action.emoji);
   case SETTING_SAVE: