blogReducer.js 1.23 KB
import { FETCH_BLOGS_FAIL, FETCH_BLOGS_REQUEST, FETCH_BLOGS_SUCCESS, FETCH_BLOG_FAIL, FETCH_BLOG_REQUEST, FETCH_BLOG_SUCCESS, CLEAR_ERRORS } from "../constants/blogConstants";


export const blogsReducer = (state = { blogs: {} }, action) => {
  switch (action.type) {
    case FETCH_BLOGS_REQUEST:
      return {
        loading: true
      };

    case FETCH_BLOGS_SUCCESS:
      return {
        blogs: action.payload.data,
        // totalCount: action.payload.meta.pagination.total,
        // resultsPerPage: action.payload.meta.pagination.pageSize
      };

    case FETCH_BLOGS_FAIL:
      return {
        error: action.payload.error.message
      };

    case CLEAR_ERRORS:
      return {
        ...state,
        error: null
      };

    default:
      return state;
  }
};

export const blogReducer = (state = { blog: {} }, action) => {
  switch (action.type) {
    case FETCH_BLOG_REQUEST:
      return {
        loading: true
      };

    case FETCH_BLOG_SUCCESS:
      return {
        blog: action.payload.data
      };

    case FETCH_BLOG_FAIL:
      return {
        error: action.payload.error.message
      };

    case CLEAR_ERRORS:
      return {
        ...state,
        error: null
      };

    default:
      return state;
  }
};