about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js
blob: de1db692d1d08e8d8cc27d78d4ada0b24c334dac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { connect } from 'react-redux';
import ColumnSettings from '../components/column_settings';
import { changeColumnParams } from 'flavours/glitch/actions/columns';
import api from 'flavours/glitch/util/api';

const mapStateToProps = (state, { columnId }) => {
  const columns = state.getIn(['settings', 'columns']);
  const index   = columns.findIndex(c => c.get('uuid') === columnId);

  if (!(columnId && index >= 0)) {
    return {};
  }

  return { settings: columns.get(index).get('params') };
};

const mapDispatchToProps = (dispatch, { columnId }) => ({
  onChange (key, value) {
    dispatch(changeColumnParams(columnId, key, value));
  },

  onLoad (value) {
    return api().get('/api/v2/search', { params: { q: value, type: 'hashtags' } }).then(response => {
      return (response.data.hashtags || []).map((tag) => {
        return { value: tag.name, label: `#${tag.name}` };
      });
    });
  },
});

export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);