about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-12-18 18:52:37 +0100
committerThibG <thib@sitedethib.com>2018-12-18 21:39:35 +0100
commit82b01a6c9f13ab63818da3bfb8ee9cfcfda0cdd6 (patch)
tree35f67570b4c006f4a27cb322cbea863da293b4f0 /app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
parent9fc7ad7b9ce663a9daff9fdd4d934c101f6e38c0 (diff)
[Glitch] Put "Media Only" option in column settings instead of content area headline
Port 4f42238c294f92dbd87db3d83f9514344fcd1f8a to glitch-soc
Diffstat (limited to 'app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js')
-rw-r--r--app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js30
1 files changed, 20 insertions, 10 deletions
diff --git a/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js b/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
index 39387abb9..16a963dde 100644
--- a/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
+++ b/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
@@ -2,16 +2,26 @@ import { connect } from 'react-redux';
 import ColumnSettings from '../components/column_settings';
 import { changeSetting } from 'flavours/glitch/actions/settings';
 
-const mapStateToProps = state => ({
-  settings: state.getIn(['settings', 'community']),
-});
+const mapStateToProps = (state, { columnId }) => {
+  const uuid = columnId;
+  const columns = state.getIn(['settings', 'columns']);
+  const index = columns.findIndex(c => c.get('uuid') === uuid);
 
-const mapDispatchToProps = dispatch => ({
-
-  onChange (path, checked) {
-    dispatch(changeSetting(['community', ...path], checked));
-  },
-
-});
+  return {
+    settings: (uuid && index >= 0) ? columns.get(index).get('params') : state.getIn(['settings', 'community']),
+  };
+};
+ 
+const mapDispatchToProps = (dispatch, { columnId }) => {
+  return {
+    onChange (key, checked) {
+      if (columnId) {
+        dispatch(changeColumnParams(columnId, key, checked));
+      } else {
+        dispatch(changeSetting(['community', ...key], checked));
+      }
+    },
+  };
+};
 
 export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);