diff --git a/static/js/redux/actions/modal_actions.jsx b/static/js/redux/actions/modal_actions.jsx index 041118bdd9..2aede87b15 100644 --- a/static/js/redux/actions/modal_actions.jsx +++ b/static/js/redux/actions/modal_actions.jsx @@ -145,3 +145,5 @@ export const setUserSettingsModalVisible = () => ({ export const setUserSettingsModalHidden = () => ({ type: ActionTypes.SET_SETTINGS_MODAL_HIDDEN, }); + +export const toggleMockModal = () => ({ type: ActionTypes.TOGGLE_MOCK_MODAL}); \ No newline at end of file diff --git a/static/js/redux/constants/actionTypes.jsx b/static/js/redux/constants/actionTypes.jsx index b8d29a994b..055ea3f099 100644 --- a/static/js/redux/constants/actionTypes.jsx +++ b/static/js/redux/constants/actionTypes.jsx @@ -180,3 +180,6 @@ export const TRIGGER_TOS_MODAL = 'TRIGGER_TOS_MODAL'; export const TRIGGER_TOS_BANNER = 'TRIGGER_TOS_BANNER'; export const DISMISS_TOS_BANNER = 'DISMISS_TOS_BANNER'; export const CLOSE_TOS_MODAL = 'CLOSE_TOS_MODAL'; + +// MOCK MODAL +export const TOGGLE_MOCK_MODAL = 'TOGGLE_MOCK_MODAL'; \ No newline at end of file diff --git a/static/js/redux/reducers/mock_modal_reducer.jsx b/static/js/redux/reducers/mock_modal_reducer.jsx new file mode 100644 index 0000000000..5c3842004c --- /dev/null +++ b/static/js/redux/reducers/mock_modal_reducer.jsx @@ -0,0 +1,13 @@ + +import * as ActionTypes from '../constants/actionTypes'; + +const mockModal = (state = { isVisible: false}, action) => { + switch(action.type) { + case ActionTypes.TOGGLE_MOCK_MODAL: + return { isVisible: !state.isVisible}; + default: + return state; + } +}; + +export default mockModal; \ No newline at end of file diff --git a/static/js/redux/reducers/root_reducer.jsx b/static/js/redux/reducers/root_reducer.jsx index 1662254265..95eea77605 100644 --- a/static/js/redux/reducers/root_reducer.jsx +++ b/static/js/redux/reducers/root_reducer.jsx @@ -34,6 +34,7 @@ import customSlots from './custom_slots_reducer'; import signupModal from './signup_modal_reducer'; import peerModal from './peer_modal_reducer'; import preferenceModal from './preference_modal_reducer'; +import mockModal from './mock_modal_reducer'; import friends from './friends_reducer'; import notificationToken from './notification_token_reducer'; import integrationModal from './integration_modal_reducer'; @@ -64,6 +65,7 @@ const rootReducer = combineReducers({ optionalCourses, peerModal, preferenceModal, + mockModal, preferences, registrar, saveCalendarModal, diff --git a/static/js/redux/ui/calendar.jsx b/static/js/redux/ui/calendar.jsx index 888d58b48c..56eeb6f66d 100644 --- a/static/js/redux/ui/calendar.jsx +++ b/static/js/redux/ui/calendar.jsx @@ -23,6 +23,8 @@ import CellContainer from './containers/cell_container'; import { DAYS } from '../constants/constants'; import { ShareLink } from './master_slot'; import * as SemesterlyPropTypes from '../constants/semesterlyPropTypes'; +import preferenceModal from '../reducers/preference_modal_reducer'; +import mockModal from '../reducers/mock_modal_reducer'; const Row = (props) => { const timeText = props.displayTime ? {props.displayTime} : null; @@ -308,6 +310,28 @@ class Calendar extends React.Component { ); + const mockButton = ( +