Files
shoptime/com.twin.app.shoptime/src/features/home/homeSlice.js
2024-01-25 21:24:04 +09:00

85 lines
1.8 KiB
JavaScript

import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import { URLS } from "../../api/apiConfig";
import { TAxios } from "../../api/TAxios";
// 약관 정보 조회 IF-LGSP-005
export const getHomeTerms = createAsyncThunk(
"home/getHomeTerms",
async (props, thunkAPI) => {
const { trmsTpCdList, mbrNo } = props;
const onSuccess = (response) => {
console.log("getHomeTerms onSuccess ", response.data);
thunkAPI.dispatch(homeSlice.actions.updateTermsData(response.data));
};
const onFail = (error) => {
console.error("getHomeTerms onFail ", error);
};
TAxios(
thunkAPI.dispatch,
thunkAPI.getState,
"get",
URLS.GET_HOME_TERMS,
{ trmsTpCdList, mbrNo },
{},
onSuccess,
onFail
);
}
);
// 메뉴 목록 조회 IF-LGSP-044
export const getHomeMenu = createAsyncThunk(
"home/getHomeMenu",
async (_, thunkAPI) => {
const onSuccess = (response) => {
console.log("getHomeMenu onSuccess ", response.data);
thunkAPI.dispatch(homeSlice.actions.updateMenuData(response.data));
};
const onFail = (error) => {
console.error("getHomeMenu onFail ", error);
};
TAxios(
thunkAPI.dispatch,
thunkAPI.getState,
"get",
URLS.GET_HOME_MENU,
{},
{},
onSuccess,
onFail
);
}
);
const initialState = {
termsData: {},
menuData: {},
};
export const homeSlice = createSlice({
name: "home",
initialState,
reducers: {
updateTermsData: (state, action) => {
state.termsData = action.payload;
},
updateMenuData: (state, action) => {
//임시코드
state.menuData = action.payload;
},
},
});
export const { updateTermsData, updateMenuData } = homeSlice.actions;
export default homeSlice.reducer;