Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

modalReducer.js 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. import {
  2. CLOSE_MODAL,
  3. SET_MODAL_TYPE,
  4. TOGGLE_CREATE_CATEGORY,
  5. TOGGLE_CREATE_OFFER,
  6. TOGGLE_CREATE_REVIEW,
  7. TOGGLE_DELETE_CATEGORY,
  8. TOGGLE_DELETE_OFFER,
  9. TOGGLE_DELETE_REVIEW,
  10. TOGGLE_EDIT_CATEOGRY,
  11. TOGGLE_EDIT_OFFER,
  12. TOGGLE_EDIT_PROFILE,
  13. TOGGLE_CREATE_PAYMENT,
  14. TOGGLE_EDIT_PAYMENT,
  15. } from "../../actions/modal/modalActionConstants";
  16. import createReducer from "../../utils/createReducer";
  17. const initialState = {
  18. createOfferModal: false,
  19. editOfferModal: false,
  20. deleteOfferModal: false,
  21. createCategoryModal: false,
  22. editCategoryModal: false,
  23. deleteCategoryModal: false,
  24. createReviewModal: false,
  25. editProfile: false,
  26. toggleDeleteReview: false,
  27. createPaymentModal: false,
  28. editPaymentModal: false,
  29. props: {},
  30. };
  31. export default createReducer(
  32. {
  33. [TOGGLE_CREATE_OFFER]: toggleCreateOffer,
  34. [TOGGLE_EDIT_OFFER]: toggleEditOffer,
  35. [TOGGLE_DELETE_OFFER]: toggleDeleteOffer,
  36. [TOGGLE_CREATE_CATEGORY]: toggleCreateCategory,
  37. [TOGGLE_EDIT_CATEOGRY]: toggleEditCategory,
  38. [TOGGLE_DELETE_CATEGORY]: toggleDeleteCategory,
  39. [TOGGLE_CREATE_REVIEW]: toggleCreateReview,
  40. [TOGGLE_DELETE_REVIEW]: toggleDeleteReview,
  41. [TOGGLE_EDIT_PROFILE]: toggleEditProfile,
  42. [TOGGLE_CREATE_PAYMENT]: toggleCreatePayment,
  43. [TOGGLE_EDIT_PAYMENT]: toggleEditPayment,
  44. [SET_MODAL_TYPE]: setModalType,
  45. [CLOSE_MODAL]: closeModal,
  46. },
  47. initialState
  48. );
  49. function toggleCreateOffer(state, { payload }) {
  50. return {
  51. ...state,
  52. createOfferModal: !state.createOfferModal,
  53. props: payload,
  54. };
  55. }
  56. function toggleEditOffer(state, { payload }) {
  57. return {
  58. ...state,
  59. editOfferModal: !state.editOfferModal,
  60. props: payload,
  61. };
  62. }
  63. function toggleDeleteOffer(state, { payload }) {
  64. return {
  65. ...state,
  66. deleteOfferModal: !state.deleteOfferModal,
  67. props: payload,
  68. };
  69. }
  70. function toggleCreateCategory(state, { payload }) {
  71. return {
  72. ...state,
  73. createCategoryModal: !state.createCategoryModal,
  74. props: payload,
  75. };
  76. }
  77. function toggleEditCategory(state, { payload }) {
  78. return {
  79. ...state,
  80. editCategoryModal: !state.editCategoryModal,
  81. props: payload,
  82. };
  83. }
  84. function toggleDeleteCategory(state, { payload }) {
  85. return {
  86. ...state,
  87. deleteCategoryModal: !state.deleteCategoryModal,
  88. props: payload,
  89. };
  90. }
  91. function toggleCreateReview(state, { payload }) {
  92. return {
  93. ...state,
  94. createReviewModal: !state.createReviewModal,
  95. props: payload,
  96. };
  97. }
  98. function toggleDeleteReview(state, { payload }) {
  99. return {
  100. ...state,
  101. deleteReviewModal: !state.deleteReviewModal,
  102. props: payload,
  103. };
  104. }
  105. function toggleEditProfile(state, { payload }) {
  106. return {
  107. ...state,
  108. editProfileModal: !state.editProfileModal,
  109. props: payload,
  110. };
  111. }
  112. function toggleCreatePayment(state, { payload }) {
  113. return {
  114. ...state,
  115. createPaymentModal: !state.createPaymentModal,
  116. props: payload,
  117. };
  118. }
  119. function toggleEditPayment(state, { payload }) {
  120. return {
  121. ...state,
  122. editPaymentModal: !state.editPaymentModal,
  123. props: payload,
  124. };
  125. }
  126. function setModalType(state, { payload }) {
  127. return {
  128. ...state,
  129. type: payload,
  130. };
  131. }
  132. function closeModal() {
  133. return initialState;
  134. }