Commit 45857fab by Ravindra Kanojiya

updated header slice

1 parent d4a59b1e
// store/HeaderSlice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit"; import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import axios from "axios"; import axios from "axios";
import qs from "qs"; import qs from "qs";
export const fetchHeader = createAsyncThunk( export const fetchHeader = createAsyncThunk(
"HeaderSlice/fetchHeader", "Header/fetchHeader",
async () => { async () => {
const query = { const query = {
populate: [ populate: ["headerLeft", "headerRight.image"],
"headerLeft", };
"headerRight.image",
], const queryString = qs.stringify(query, {
}; encodeValuesOnly: true,
const queryString = qs.stringify(query, { });
encodeValuesOnly: true,
}); const endpoint = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/headers?${queryString}`;
const endpoint = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/headers?${queryString}`;
const response = await axios.get(endpoint); const response = await axios.get(endpoint);
return response.data.data;
} return response.data.data;
}
); );
const HeaderSlice = createSlice({ const HeaderSlice = createSlice({
name: "Header", name: "Header",
initialState: { initialState: {
status: "idle", status: "idle",
data: [], data: [],
error: null, error: null,
}, },
reducers: {}, reducers: {},
extraReducers: (builder) => { extraReducers: (builder) => {
builder builder
.addCase(fetchHeader.pending, (state) => { .addCase(fetchHeader.pending, (state) => {
state.status = "loading"; state.status = "loading";
}) })
.addCase(fetchHeader.fulfilled, (state, action) => { .addCase(fetchHeader.fulfilled, (state, action) => {
state.status = "succeeded"; state.status = "succeeded";
state.data = action.payload; state.data = action.payload;
}) })
.addCase(fetchHeader.rejected, (state, action) => { .addCase(fetchHeader.rejected, (state, action) => {
state.status = "failed"; state.status = "failed";
state.error = action.error.message; state.error = action.error.message;
}); });
}, },
}); });
export default HeaderSlice.reducer;
export default HeaderSlice.reducer;
\ No newline at end of file \ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!