Rev 1 | Rev 6396 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { feedActionTypes } from "./feed.types";const initialState = {timelineUrl: "",allFeeds: [],currentFeed: null,loading: false,currentPage: 1,pages: 1,};const feedReducer = (state = initialState, { type, payload }) => {switch (type) {case feedActionTypes.SET_TIMELINE_URL:const newTimelineUrl = payload;return { ...state, timelineUrl: newTimelineUrl };case feedActionTypes.LOAD_FEEDS:return { ...state, loading: true };case feedActionTypes.LOAD_FEEDS_SUCCESS:const { feeds, currentPage, pages } = payload;return {...state,allFeeds: feeds,currentPage: currentPage,pages: pages,loading: false,};case feedActionTypes.LOAD_FEEDS_FAILURE:return state;case feedActionTypes.ADD_FEED:if(payload.feedSharedId){const newFeed = payload.feed;const oldFeeds = state.allFeeds.map((feed)=> {if(feed.feed_unique === payload.feedSharedId){feed.owner_shared = (parseInt(feed.owner_shared) + 1).toString()}return feed});const newAllFeeds = [newFeed, ...oldFeeds];return { ...state, allFeeds: newAllFeeds };}else {const newFeed = payload.feed;const newAllFeeds = [newFeed, ...state.allFeeds];return { ...state, allFeeds: newAllFeeds };}case feedActionTypes.DELETE_FEED:const feedIdToDelete = payload;return {...state,allFeeds: state.allFeeds.filter((feed) => feed.feed_unique !== feedIdToDelete),};case feedActionTypes.ADD_CURRENT_FEED:return { ...state, currentFeed: payload };case feedActionTypes.SET_CURRENT_PAGE:const newCurrentPage = payload;return { ...state, currentPage: newCurrentPage };default:return state;}};export default feedReducer;