import { useQuery } from "@apollo/client"; import { Picker } from "native-base"; import React from "react"; import { useTranslation } from "react-i18next"; import { View } from "react-native"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { logImEXEvent } from "../../firebase/firebase.utils"; import { QUERY_ALL_ACTIVE_JOBS } from "../../graphql/jobs.queries"; import { setCameraJob, setCameraJobId } from "../../redux/app/app.actions"; import { selectCurrentCameraJobId } from "../../redux/app/app.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors"; import ErrorDisplay from "../error-display/error-display.component"; import LoadingDisplay from "../loading-display/loading-display.component"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, cameraJobId: selectCurrentCameraJobId, }); const mapDispatchToProps = (dispatch) => ({ setCameraJobId: (id) => dispatch(setCameraJobId(id)), setCameraJob: (job) => dispatch(setCameraJob(job)), }); export function CameraSelectJob({ bodyshop, cameraJobId, setCameraJobId, setCameraJob, }) { const { loading, error, data } = useQuery(QUERY_ALL_ACTIVE_JOBS, { variables: { statuses: bodyshop.md_ro_statuses.active_statuses || ["Open", "Open*"], }, skip: !bodyshop, }); const { t } = useTranslation(); if (loading) return ; if (error) return ; console.log("Picker Render"); return ( { logImEXEvent("imexmobile_setcamerajobid"); setCameraJobId(value); setCameraJob(data.jobs[idx]); }} > {data.jobs.map((j) => { return ( ); })} ); } export default connect(mapStateToProps, mapDispatchToProps)(CameraSelectJob);