diff --git a/app/javascript/mastodon/features/antenna_setting/components/radio_panel.jsx b/app/javascript/mastodon/features/antenna_setting/components/radio_panel.jsx index 64f7db0660..d80350e280 100644 --- a/app/javascript/mastodon/features/antenna_setting/components/radio_panel.jsx +++ b/app/javascript/mastodon/features/antenna_setting/components/radio_panel.jsx @@ -13,7 +13,7 @@ class RadioPanel extends PureComponent { static propTypes = { values: ImmutablePropTypes.list.isRequired, - value: PropTypes.string.isRequired, + value: PropTypes.object.isRequired, intl: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, }; diff --git a/app/javascript/mastodon/features/antenna_setting/index.jsx b/app/javascript/mastodon/features/antenna_setting/index.jsx index dede69e6cc..e6df8900bb 100644 --- a/app/javascript/mastodon/features/antenna_setting/index.jsx +++ b/app/javascript/mastodon/features/antenna_setting/index.jsx @@ -59,8 +59,8 @@ const messages = defineMessages({ const mapStateToProps = (state, props) => ({ antenna: state.getIn(['antennas', props.params.id]), lists: state.get('lists'), - domains: state.getIn(['antennas', props.params.id, 'domains']) || ImmutableList(), - keywords: state.getIn(['antennas', props.params.id, 'keywords']) || ImmutableList(), + domains: state.getIn(['antennas', props.params.id, 'domains']) || ImmutableMap(), + keywords: state.getIn(['antennas', props.params.id, 'keywords']) || ImmutableMap(), }); class AntennaSetting extends PureComponent { @@ -75,9 +75,9 @@ class AntennaSetting extends PureComponent { columnId: PropTypes.string, multiColumn: PropTypes.bool, antenna: PropTypes.oneOfType([ImmutablePropTypes.map, PropTypes.bool]), - lists: ImmutablePropTypes.list, - domains: ImmutablePropTypes.list, - keywords: ImmutablePropTypes.list, + lists: ImmutablePropTypes.map, + domains: ImmutablePropTypes.map, + keywords: ImmutablePropTypes.map, intl: PropTypes.object.isRequired, }; diff --git a/app/javascript/mastodon/reducers/antennas.js b/app/javascript/mastodon/reducers/antennas.js index babc5c140f..e6075dde90 100644 --- a/app/javascript/mastodon/reducers/antennas.js +++ b/app/javascript/mastodon/reducers/antennas.js @@ -74,7 +74,7 @@ export default function antennas(state = initialState, action) { case ANTENNA_EDITOR_REMOVE_EXCLUDE_DOMAIN_SUCCESS: return state.updateIn([action.antennaId, 'domains', 'exclude_domains'], domains => (ImmutableList(domains || [])).filterNot(domain => domain === action.domain)); case ANTENNA_EDITOR_FETCH_DOMAINS_SUCCESS: - return state.setIn([action.id, 'domains'], ImmutableMap(action.domains)); + return state.setIn([action.id, 'domains'], ImmutableMap({ domains: ImmutableList(action.domains.domains), exclude_domains: ImmutableList(action.domains.exclude_domains) })); case ANTENNA_EDITOR_ADD_KEYWORD_SUCCESS: return state.setIn([action.antennaId, 'keywords_count'], state.getIn([action.antennaId, 'keywords_count']) + 1).updateIn([action.antennaId, 'keywords', 'keywords'], keywords => (ImmutableList(keywords || [])).push(action.keyword)); case ANTENNA_EDITOR_REMOVE_KEYWORD_SUCCESS: @@ -84,7 +84,7 @@ export default function antennas(state = initialState, action) { case ANTENNA_EDITOR_REMOVE_EXCLUDE_KEYWORD_SUCCESS: return state.updateIn([action.antennaId, 'keywords', 'exclude_keywords'], keywords => (ImmutableList(keywords || [])).filterNot(keyword => keyword === action.keyword)); case ANTENNA_EDITOR_FETCH_KEYWORDS_SUCCESS: - return state.setIn([action.id, 'keywords'], ImmutableMap(action.keywords)); + return state.setIn([action.id, 'keywords'], ImmutableMap({ keywords: ImmutableList(action.keywords.keywords), exclude_keywords: ImmutableList(action.keywords.exclude_keywords) })); default: return state; }