Proyectos de Subversion LeadersLinked - SPA

Rev

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

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