Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3943 | Rev 6398 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

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