mirror of https://github.com/mastodon/mastodon
Add dropdown for boost privacy in boost confirmation modal (#15704)
* Various dropdown code quality fixes * Prepare support for privacy selection in boost modal * Add dropdown for boost privacy in boost confirmation modalpull/15560/head
parent
8b8c6726ce
commit
07b46cb332
@ -0,0 +1,29 @@
|
|||||||
|
import { openModal } from './modal';
|
||||||
|
|
||||||
|
export const BOOSTS_INIT_MODAL = 'BOOSTS_INIT_MODAL';
|
||||||
|
export const BOOSTS_CHANGE_PRIVACY = 'BOOSTS_CHANGE_PRIVACY';
|
||||||
|
|
||||||
|
export function initBoostModal(props) {
|
||||||
|
return (dispatch, getState) => {
|
||||||
|
const default_privacy = getState().getIn(['compose', 'default_privacy']);
|
||||||
|
|
||||||
|
const privacy = props.status.get('visibility') === 'private' ? 'private' : default_privacy;
|
||||||
|
|
||||||
|
dispatch({
|
||||||
|
type: BOOSTS_INIT_MODAL,
|
||||||
|
privacy
|
||||||
|
});
|
||||||
|
|
||||||
|
dispatch(openModal('BOOST', props));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function changeBoostPrivacy(privacy) {
|
||||||
|
return dispatch => {
|
||||||
|
dispatch({
|
||||||
|
type: BOOSTS_CHANGE_PRIVACY,
|
||||||
|
privacy,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
import Immutable from 'immutable';
|
||||||
|
|
||||||
|
import {
|
||||||
|
BOOSTS_INIT_MODAL,
|
||||||
|
BOOSTS_CHANGE_PRIVACY,
|
||||||
|
} from 'mastodon/actions/boosts';
|
||||||
|
|
||||||
|
const initialState = Immutable.Map({
|
||||||
|
new: Immutable.Map({
|
||||||
|
privacy: 'public',
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
export default function mutes(state = initialState, action) {
|
||||||
|
switch (action.type) {
|
||||||
|
case BOOSTS_INIT_MODAL:
|
||||||
|
return state.withMutations((state) => {
|
||||||
|
state.setIn(['new', 'privacy'], action.privacy);
|
||||||
|
});
|
||||||
|
case BOOSTS_CHANGE_PRIVACY:
|
||||||
|
return state.setIn(['new', 'privacy'], action.privacy);
|
||||||
|
default:
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue