|
1 | 1 | import { connect } from 'react-redux'; |
2 | 2 | import { loadFeedItems } from './../actions/index'; |
3 | 3 | import ActivityPanelView from './../components/ActivityPanel'; |
4 | | -import * as TimeUtils from './../utils/TimeUtils'; |
5 | | -import { FeedItemType } from './../utils/const'; |
6 | | -import string from '../lang'; |
7 | 4 |
|
8 | 5 | const orderFeedsByDate = feeds => { |
9 | 6 | return feeds.sortBy(feed => feed.get('date')).reverse(); |
10 | 7 | }; |
11 | 8 |
|
12 | | -const setFeedTime = (feed, field) => { |
13 | | - return feed.set(field, TimeUtils.defineTimeByToday(feed.get(field))); |
14 | | -}; |
15 | | - |
16 | 9 | const clasifyFeeds = feeds => { |
17 | 10 | const newFeeds = feeds.filter(feed => !feed.get('seen')); |
18 | 11 | const oldFeeds = feeds.filter(feed => feed.get('seen')); |
19 | 12 | return { newFeeds, oldFeeds }; |
20 | 13 | }; |
21 | 14 |
|
22 | | -const defineFeedAction = feed => { |
23 | | - switch (feed.get('type')) { |
24 | | - case FeedItemType.DOWNLOADED.value: |
25 | | - return feed.set('action', string.activity.downloaded); |
26 | | - default: |
27 | | - return feed.set('action', string.activity.opened); |
28 | | - } |
29 | | -}; |
30 | | - |
31 | | -const setFeedTitle = (state, feed) => { |
32 | | - const feedContact = state.get('contacts').get(`${feed.get('contactId')}`); |
33 | | - if (!feedContact) |
34 | | - return feed.set( |
35 | | - 'title', |
36 | | - `${string.activity.someone} ${feed.get('action')}` |
37 | | - ); |
38 | | - |
39 | | - const contactData = feedContact.toJS(); |
40 | | - const { name, email } = contactData; |
41 | | - const title = `${name || email} ${feed.get('action')}`; |
42 | | - return feed.set('title', title); |
43 | | -}; |
44 | | - |
45 | | -const populateFeeds = (state, feeds) => { |
46 | | - return feeds |
47 | | - .map(feed => { |
48 | | - const emailData = feed.get('emailData'); |
49 | | - if (emailData) { |
50 | | - feed = feed.set('isMuted', emailData.get('isMuted')); |
51 | | - feed = setFeedTime(feed, 'date'); |
52 | | - feed = defineFeedAction(feed); |
53 | | - return setFeedTitle(state, feed); |
54 | | - } |
55 | | - return null; |
56 | | - }) |
57 | | - .filter(item => item !== null); |
58 | | -}; |
59 | | - |
60 | 15 | const mapStateToProps = state => { |
61 | 16 | const feedItems = state.get('feeditems'); |
62 | 17 | const feeds = feedItems.get('list').toList(); |
63 | 18 | const orderedFeeds = orderFeedsByDate(feeds); |
64 | | - const populated = populateFeeds(state, orderedFeeds); |
65 | | - const { newFeeds, oldFeeds } = clasifyFeeds(populated); |
| 19 | + const { newFeeds, oldFeeds } = clasifyFeeds(orderedFeeds); |
66 | 20 | const newFeedsPlain = newFeeds.toJS(); |
67 | 21 | const feedItemIds = newFeedsPlain.map(feedItem => feedItem.id); |
68 | 22 | return { |
|
0 commit comments