import * as FileSystem from "expo-file-system"; import { Button, Container, Content, Spinner, Text as NBText, Thumbnail, View, } from "native-base"; import React, { useEffect, useState } from "react"; import { FlatList, StyleSheet, Text, TouchableOpacity } from "react-native"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { removeAllPhotos, uploadAllPhotos, } from "../../redux/photos/photos.actions"; import { selectPhotos, selectUploadInProgress, } from "../../redux/photos/photos.selectors"; import MediaCacheOverlay from "../media-cache-overlay/media-cache-overlay.component"; const mapStateToProps = createStructuredSelector({ photos: selectPhotos, uploadInProgress: selectUploadInProgress, }); const mapDispatchToProps = (dispatch) => ({ removeAllPhotos: () => dispatch(removeAllPhotos()), uploadAllphotos: () => dispatch(uploadAllPhotos()), }); export function ScreenMediaCache({ photos, removeAllPhotos, uploadAllphotos, uploadInProgress, }) { const [previewVisible, setPreviewVisible] = useState(false); const [imgIndex, setImgIndex] = useState(0); const [imagesInDir, setImagesInDir] = useState([]); useEffect(() => { const check = async () => { setImagesInDir( await FileSystem.readDirectoryAsync( FileSystem.documentDirectory + "photos" ) ); }; photos.length; check(); }, [photos]); console.log("upinprog", uploadInProgress); return ( {`${photos.length} Photos`} item.id} numColumns={5} renderItem={(object) => object.item.video ? ( Video ) : ( { setImgIndex(object.index); setPreviewVisible(true); }} > ) } /> ); } const styles = StyleSheet.create({ container: { flex: 1, }, actions: { display: "flex", flexDirection: "row", justifyContent: "space-evenly", }, listContentContainer: { flex: 1, }, thumbnail: { width: 10, height: 10, // backgroundColor: "tomato", }, }); export default connect(mapStateToProps, mapDispatchToProps)(ScreenMediaCache); // item.id} // renderItem={(object) => {object.item}} // />;