aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-01-15 20:53:49 -0500
committerIvan Chen <ivan@tagg.id>2021-01-15 20:53:49 -0500
commit33b3bff63969e9da23722e8a70f60c5b94fe3cfb (patch)
treefe3902f4b6c33d3058145c257f7e044900120767
parentc2f9dfe523f446104bbf1ae08648f0527d5264b3 (diff)
not fetching data in child component
-rw-r--r--src/components/notifications/Notification.tsx10
-rw-r--r--src/screens/main/NotificationsScreen.tsx9
2 files changed, 12 insertions, 7 deletions
diff --git a/src/components/notifications/Notification.tsx b/src/components/notifications/Notification.tsx
index 301a3c90..94937053 100644
--- a/src/components/notifications/Notification.tsx
+++ b/src/components/notifications/Notification.tsx
@@ -2,15 +2,16 @@ import {useNavigation} from '@react-navigation/native';
import React, {useEffect, useState} from 'react';
import {Image, StyleSheet, Text, View} from 'react-native';
import {TouchableWithoutFeedback} from 'react-native-gesture-handler';
-import {useDispatch, useSelector, useStore} from 'react-redux';
+import {useDispatch, useStore} from 'react-redux';
import {loadAvatar, loadMomentThumbnail} from '../../services';
import {RootState} from '../../store/rootReducer';
-import {NotificationType, ScreenType} from '../../types';
+import {MomentType, NotificationType, ScreenType} from '../../types';
import {fetchUserX, SCREEN_HEIGHT, userXInStore} from '../../utils';
interface NotificationProps {
item: NotificationType;
screenType: ScreenType;
+ moments: MomentType[];
}
const Notification: React.FC<NotificationProps> = (props) => {
@@ -23,14 +24,11 @@ const Notification: React.FC<NotificationProps> = (props) => {
unread,
},
screenType,
+ moments: loggedInUserMoments,
} = props;
const navigation = useNavigation();
const state: RootState = useStore().getState();
const dispatch = useDispatch();
- const {moments: loggedInUserMoments} =
- notification_type === 'CMT'
- ? useSelector((state: RootState) => state.moments)
- : {moments: undefined};
const [avatarURI, setAvatarURI] = useState<string | undefined>(undefined);
const [momentURI, setMomentURI] = useState<string | undefined>(undefined);
diff --git a/src/screens/main/NotificationsScreen.tsx b/src/screens/main/NotificationsScreen.tsx
index da1e7a2b..219a0be9 100644
--- a/src/screens/main/NotificationsScreen.tsx
+++ b/src/screens/main/NotificationsScreen.tsx
@@ -18,6 +18,9 @@ import {getDateAge, SCREEN_HEIGHT} from '../../utils';
const NotificationsScreen: React.FC = () => {
const {user: loggedInUser} = useSelector((state: RootState) => state.user);
+ const {moments: loggedInUserMoments} = useSelector(
+ (state: RootState) => state.moments,
+ );
const [refreshing, setRefreshing] = useState(false);
// used for figuring out which ones are unread
const [lastViewed, setLastViewed] = useState<moment.Moment | undefined>(
@@ -96,7 +99,11 @@ const NotificationsScreen: React.FC = () => {
}, [lastViewed, notifications]);
const renderNotification = ({item}: {item: NotificationType}) => (
- <Notification item={item} screenType={ScreenType.Notifications} />
+ <Notification
+ item={item}
+ screenType={ScreenType.Notifications}
+ moments={item.notification_type === 'CMT' ? loggedInUserMoments : []}
+ />
);
const renderSectionHeader = ({section: {title, data}}) =>