FILE / Unmei/Frontend

src/store/ducks/modal.ts

Исходный файл и его история в репозитории.
FILE 3dc496b7a40bc7c391f3a4b8ce025f08b9cd38ec
Files
Frontend/src/store/ducks/modal.ts
T
2021-05-02 16:00:16 +03:00

38 lines
746 B
TypeScript
Executable File

import React from "react";
// Actions
const SET_MODAL = 'unmei/modal/SET_MODAL';
const HIDE_MODAL = 'unmei/modal/HIDE_MODAL';
// Reducer
const initialState: React.ReactNode | null = null;
type Action = {
type: string
modal: React.ReactNode | null
}
const reducer = (state = initialState, action: Action) => {
switch(action.type) {
case SET_MODAL: {
return action.modal;
}
case HIDE_MODAL: {
return null;
}
default:
return state;
}
}
// Action creators
const setModal = (modal: React.ReactNode | null) => ({
type: SET_MODAL,
modal
});
const hideModal = () => ({
type: HIDE_MODAL
});
export default reducer;
export { setModal, hideModal }