import {RouteProp} from '@react-navigation/core'; import {useNavigation} from '@react-navigation/native'; import React, {useEffect, useRef, useState} from 'react'; import { Image, Keyboard, KeyboardAvoidingView, Platform, StyleSheet, TouchableWithoutFeedback, View, } from 'react-native'; import {Button} from 'react-native-elements'; import {MainStackParams} from 'src/routes'; import { CaptionScreenHeader, MomentTags, SearchBackground, } from '../../components'; import {TagFriendsFooter} from '../../components/moments'; import {TAGG_LIGHT_BLUE_2} from '../../constants'; import {ProfilePreviewType} from '../../types'; import {SCREEN_WIDTH, StatusBarHeight} from '../../utils'; type TagFriendsScreenRouteProps = RouteProp< MainStackParams, 'TagFriendsScreen' >; interface TagFriendsScreenProps { route: TagFriendsScreenRouteProps; } const TagFriendsScreen: React.FC = ({route}) => { const {image, selectedUsers} = route.params; const navigation = useNavigation(); const imageRef = useRef(null); const [taggedUsers, setTaggedUsers] = useState([]); /* * Update list of tagged users from route params */ useEffect(() => { if (selectedUsers !== undefined) { setTaggedUsers(selectedUsers); } }, [selectedUsers]); /* * Navigate back to Tag Users Screen, send selected users */ const handleDone = () => { navigation.navigate('CaptionScreen', { ...route.params, selectedUsers: taggedUsers, }); }; return (