import { Ionicons } from "@expo/vector-icons"; import { AssetsSelector } from "expo-images-picker"; import React, { useCallback, useState } from "react"; import { useTranslation } from "react-i18next"; import { StyleSheet, Text, View } from "react-native"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { logImEXEvent } from "../../firebase/firebase.analytics"; import { selectCurrentCameraJobId } from "../../redux/app/app.selectors"; import CameraSelectJob from "../camera-select-job/camera-select-job.component"; import UploadDeleteSwitch from "../upload-delete-switch/upload-delete-switch.component"; import UploadProgress from "../upload-progress/upload-progress.component"; const mapStateToProps = createStructuredSelector({ selectedCameraJobId: selectCurrentCameraJobId, }); export function ImageBrowserScreen({ selectedCameraJobId }) { const { t } = useTranslation(); const [uploads, setUploads] = useState(null); const [tick, setTick] = useState(0); const forceRerender = useCallback(() => { setTick((tick) => tick + 1); }, []); const onDone = (data) => { logImEXEvent("imexmobile_upload_documents", { count: data.length }); setUploads(data); }; return ( {!selectedCameraJobId && ( {t("mediabrowser.labels.selectjobassetselector")} )} {selectedCameraJobId && ( { forceRerender(); }, doneFunction: onDone, }, noAssets: { Component: function NoAsset() { return ( {t("mediabrowser.labels.nomedia")} ); }, }, }} /> )} ); } const styles = StyleSheet.create({ flex: { flex: 1, }, container: { display: "flex", // position: "relative", }, buttonStyle: { //backgroundColor: "tomato", }, // eslint-disable-next-line react-native/no-color-literals textStyle: { color: "dodgerblue", }, }); export default connect(mapStateToProps, null)(ImageBrowserScreen);