import React, { useState } from 'react'; import { View, Image, TouchableOpacity, Alert, Text } from 'react-native'; import * as ImagePicker from 'expo-image-picker'; import { Modal } from '../Modal'; import { Input } from '../Input'; import { styles } from './style'; import AddSVG from '../../../assets/icons/add.svg'; import TrashSVG from '../../../assets/icons/trash.svg'; interface AddPhotoProps { isModalVisible: boolean; initialImagePath?: string | null; initialImageDescription?: string; closeModal: () => void; } const AddPhoto: React.FC = ({ isModalVisible, initialImagePath, initialImageDescription, closeModal }) => { const [image, setImage] = useState(initialImagePath); const [description, setDescription] = useState(initialImageDescription ?? ''); const handleDelete = () => { Alert.alert('Delete Image', 'Are you sure you want to delete this image?', [ { text: 'Cancel' }, { text: 'Delete', onPress: () => { setImage(null); }}, ]); }; const handleImagePick = async () => { const { status } = await ImagePicker.requestMediaLibraryPermissionsAsync(); if (status !== 'granted') { Alert.alert('Permission Denied', 'Sorry, we need media library permissions to make this work!'); return; } let result = await ImagePicker.launchImageLibraryAsync({ mediaTypes: ImagePicker.MediaTypeOptions.Images, quality: 1, }); if (!result.canceled) { setImage(result.assets[0].uri); } }; return ( {image ? ( <> ) : ( Upload Photo )} ); }; export default AddPhoto;