react-clone-trello

Форк
0
39 строк · 1.0 Кб
1
import { PayloadAction, createSlice } from "@reduxjs/toolkit";
2

3
type TModalContent = { content: string; title: string; placeholder: string };
4

5
type TModalState = {
6
  isModalOpen: boolean;
7
  modalContent: TModalContent | null;
8
};
9

10
const initialState: TModalState = {
11
  isModalOpen: false,
12
  modalContent: null,
13
};
14

15
export const modalSlice = createSlice({
16
  name: "modal",
17
  initialState,
18
  reducers: {
19
    setModalOpen: (state, action: PayloadAction<string | undefined>) => {
20
      state.isModalOpen = !state.isModalOpen;
21
      if (action?.payload === "create-board") {
22
        state.modalContent = {
23
          content: 'create-board',
24
          title: "Create Board",
25
          placeholder: "Board Name",
26
        };
27
      } else if (action?.payload === "add-column") {
28
        state.modalContent = {
29
          content: 'add-column',
30
          title: "Add Column",
31
          placeholder: "Column name",
32
        };
33
      }
34
    },
35
  },
36
});
37

38
export const { setModalOpen } = modalSlice.actions;
39
export default modalSlice.reducer;
40

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.