Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7458 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 7458 Rev 16750
Línea 1... Línea 1...
1
import { feedActionTypes } from "./feed.types";
1
import { feedActionTypes } from './feed.types'
Línea 2... Línea 2...
2
 
2
 
3
const initialState = {
3
const initialState = {
4
  timelineUrl: "",
4
  timelineUrl: '',
5
  allFeeds: [],
5
  allFeeds: [],
6
  currentFeed: null,
6
  currentFeed: null,
7
  loading: false,
7
  loading: false,
8
  currentPage: 1,
8
  currentPage: 1,
9
  pages: 1,
9
  pages: 1
Línea 10... Línea 10...
10
};
10
}
11
 
11
 
12
const feedReducer = (state = initialState, { type, payload }) => {
12
const feedReducer = (state = initialState, { type, payload }) => {
13
  switch (type) {
13
  switch (type) {
14
    case feedActionTypes.SET_TIMELINE_URL:
14
    case feedActionTypes.SET_TIMELINE_URL:
15
      const newTimelineUrl = payload;
15
      const newTimelineUrl = payload
16
      return { ...state, timelineUrl: newTimelineUrl };
16
      return { ...state, timelineUrl: newTimelineUrl }
17
    case feedActionTypes.LOAD_FEEDS:
17
    case feedActionTypes.LOAD_FEEDS:
18
      return { ...state, loading: true };
18
      return { ...state, loading: true }
19
    case feedActionTypes.LOAD_FEEDS_SUCCESS:
19
    case feedActionTypes.LOAD_FEEDS_SUCCESS:
20
      const { feeds, currentPage, pages } = payload;
20
      const { feeds, currentPage, pages } = payload
21
      return {
21
      return {
22
        ...state,
22
        ...state,
23
        allFeeds: feeds,
23
        allFeeds: feeds,
24
        currentPage: currentPage,
24
        currentPage: currentPage,
25
        pages: pages,
25
        pages: pages,
26
        loading: false,
26
        loading: false
27
      };
27
      }
28
    case feedActionTypes.LOAD_FEEDS_FAILURE:
28
    case feedActionTypes.LOAD_FEEDS_FAILURE:
29
      return state;
29
      return state
30
    case feedActionTypes.ADD_FEED:
30
    case feedActionTypes.ADD_FEED:
31
      if(payload.feedSharedId){
31
      if (payload.feedSharedId) {
32
        const newFeed = payload.feed;
32
        const newFeed = payload.feed
33
        const oldFeeds = state.allFeeds.map((feed)=> {
33
        const oldFeeds = state.allFeeds.map((feed) => {
34
          if(feed.feed_unique === payload.feedSharedId){
34
          if (feed.feed_unique === payload.feedSharedId) {
35
            feed.owner_shared = (parseInt(feed.owner_shared) + 1).toString()
35
            feed.owner_shared = (parseInt(feed.owner_shared) + 1).toString()
36
          }
36
          }
37
          return feed
37
          return feed
38
        });
38
        })
39
        const newAllFeeds = [newFeed, ...oldFeeds];
-
 
40
        return { ...state, allFeeds: newAllFeeds };
39
        const newAllFeeds = [newFeed, ...oldFeeds]
41
      }
40
        return { ...state, allFeeds: newAllFeeds }
42
      else {
41
      } else {
43
        const newFeed = payload.feed;
42
        const newFeed = payload.feed
44
        const newAllFeeds = [newFeed, ...state.allFeeds];
43
        const newAllFeeds = [newFeed, ...state.allFeeds]
45
        return { ...state, allFeeds: newAllFeeds };
44
        return { ...state, allFeeds: newAllFeeds }
46
      }
45
      }
47
    case feedActionTypes.DELETE_FEED:
46
    case feedActionTypes.DELETE_FEED:
48
      const feedIdToDelete = payload;
47
      const feedIdToDelete = payload
49
      return {
48
      return {
50
        ...state,
49
        ...state,
51
        allFeeds: state.allFeeds.filter(
50
        allFeeds: state.allFeeds.filter(
52
          (feed) => feed.feed_unique !== feedIdToDelete
51
          (feed) => feed.feed_unique !== feedIdToDelete
53
        ),
52
        )
54
      };
53
      }
55
    case feedActionTypes.ADD_CURRENT_FEED:
54
    case feedActionTypes.ADD_CURRENT_FEED:
56
      return { ...state, currentFeed: payload };
55
      return { ...state, currentFeed: payload }
57
    case feedActionTypes.SET_CURRENT_PAGE:
56
    case feedActionTypes.SET_CURRENT_PAGE:
58
      const newCurrentPage = payload;
57
      const newCurrentPage = payload
59
      return { ...state, currentPage: newCurrentPage };
58
      return { ...state, currentPage: newCurrentPage }
60
    default:
59
    default:
61
      return state;
60
      return state
Línea 62... Línea 61...
62
  }
61
  }