diff options
| author | Ivan Chen <ivan@tagg.id> | 2021-05-21 20:10:14 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-21 20:10:14 -0400 |
| commit | 4849c65ff2163e1a77dcb26a12ff68840df225e7 (patch) | |
| tree | 8efb8f40c23156551a3628c3eac93945980a7325 /src/components/moments/MomentPostContent.tsx | |
| parent | 9315aa31ad4d6c305e62853a3ab7e4a484ecce98 (diff) | |
| parent | 4434d06df897f844832a92d66956825ea58c2b01 (diff) | |
Merge pull request #440 from grusuTagg/tma884-moment-view-tags
Fetch momentTag objects from the backend
Diffstat (limited to 'src/components/moments/MomentPostContent.tsx')
| -rw-r--r-- | src/components/moments/MomentPostContent.tsx | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/src/components/moments/MomentPostContent.tsx b/src/components/moments/MomentPostContent.tsx index 193bf40c..e702cb68 100644 --- a/src/components/moments/MomentPostContent.tsx +++ b/src/components/moments/MomentPostContent.tsx @@ -1,19 +1,20 @@ import {useNavigation} from '@react-navigation/native'; -import React, {useEffect} from 'react'; +import React, {useEffect, useRef, useState} from 'react'; import {Image, StyleSheet, Text, View, ViewProps} from 'react-native'; import {useDispatch, useStore} from 'react-redux'; -import {getCommentsCount} from '../../services'; +import {getCommentsCount, loadMomentTags} from '../../services'; import {RootState} from '../../store/rootReducer'; -import {ScreenType, UserType} from '../../types'; +import {MomentTagType, ScreenType, UserType} from '../../types'; import { getTimePosted, navigateToProfile, + normalize, SCREEN_HEIGHT, SCREEN_WIDTH, - normalize, } from '../../utils'; import {mentionPartTypes, renderTextWithMentions} from '../../utils/comments'; import {CommentsCount} from '../comments'; +import {MomentTags} from '../common'; interface MomentPostContentProps extends ViewProps { screenType: ScreenType; @@ -30,11 +31,23 @@ const MomentPostContent: React.FC<MomentPostContentProps> = ({ dateTime, style, }) => { - const [elapsedTime, setElapsedTime] = React.useState<string>(); - const [comments_count, setCommentsCount] = React.useState(''); + const [elapsedTime, setElapsedTime] = useState(''); + const [comments_count, setCommentsCount] = useState(''); + const [tags, setTags] = useState<MomentTagType[]>([]); const state: RootState = useStore().getState(); const navigation = useNavigation(); const dispatch = useDispatch(); + const imageRef = useRef(null); + + useEffect(() => { + const loadTags = async () => { + const response = await loadMomentTags(momentId); + if (response) { + setTags(response); + } + }; + loadTags(); + }, []); useEffect(() => { const fetchCommentsCount = async () => { @@ -48,10 +61,12 @@ const MomentPostContent: React.FC<MomentPostContentProps> = ({ return ( <View style={[styles.container, style]}> <Image + ref={imageRef} style={styles.image} source={{uri: pathHash}} resizeMode={'cover'} /> + <MomentTags editing={false} tags={tags} imageRef={imageRef} /> <View style={styles.footerContainer}> <CommentsCount commentsCount={comments_count} |
