Added image picker and cleaned up main and job list screens.

This commit is contained in:
Patrick Fic
2021-02-09 23:12:52 -08:00
parent 2437808c33
commit 29bd2bc03e
29 changed files with 703 additions and 114 deletions

View File

@@ -2,7 +2,7 @@ import { useFocusEffect } from "@react-navigation/native";
import { Camera } from "expo-camera";
import * as FileSystem from "expo-file-system";
import React, { useEffect, useRef, useState } from "react";
import { SafeAreaView, Text, View } from "react-native";
import { Text, View } from "react-native";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import {
@@ -45,10 +45,8 @@ export function ScreenCamera({ cameraJobId, addPhoto }) {
useEffect(() => {
(async () => {
const { status: cameraStatus } = await Camera.requestPermissionsAsync();
setHasPermission(cameraStatus === "granted");
console.log("Camera Perms:", await Camera.getPermissionsAsync());
const { status } = await Camera.requestPermissionsAsync();
setHasPermission(status === "granted");
})();
}, []);
@@ -77,13 +75,6 @@ export function ScreenCamera({ cameraJobId, addPhoto }) {
to: newUri,
});
setState({ ...state, capturing: false });
console.log("Add Photo Object", {
...photo,
id: filename,
uri: newUri,
jobId: cameraJobId,
video: false,
});
addPhoto({
...photo,
id: filename,
@@ -107,7 +98,13 @@ export function ScreenCamera({ cameraJobId, addPhoto }) {
to: newUri,
});
setState({ ...state, capturing: false });
console.log("Adding Photo", {
...video,
id: filename,
uri: newUri,
jobId: cameraJobId,
video: true,
});
addPhoto({
...video,
id: filename,
@@ -129,34 +126,32 @@ export function ScreenCamera({ cameraJobId, addPhoto }) {
const { flashMode, cameraType, capturing } = state;
return (
<SafeAreaView style={{ display: "flex", flex: 1 }}>
<Camera
style={{ flex: 1, display: "flex" }}
type={state.cameraType}
ref={cameraRef}
ratio={"16:9"}
<Camera
style={{ flex: 1, display: "flex" }}
type={state.cameraType}
ref={cameraRef}
ratio={"16:9"}
>
<View
style={{
flex: 1,
}}
>
<View
style={{
flex: 1,
}}
>
<CameraSelectJob />
<CameraSelectJob />
<CameraControls
capturing={capturing}
flashMode={flashMode}
cameraType={cameraType}
setFlashMode={setFlashMode}
setCameraType={setCameraType}
onCaptureIn={handleCaptureIn}
onCaptureOut={handleCaptureOut}
onLongCapture={handleLongCapture}
onShortCapture={handleShortCapture}
/>
</View>
</Camera>
</SafeAreaView>
<CameraControls
capturing={capturing}
flashMode={flashMode}
cameraType={cameraType}
setFlashMode={setFlashMode}
setCameraType={setCameraType}
onCaptureIn={handleCaptureIn}
onCaptureOut={handleCaptureOut}
onLongCapture={handleLongCapture}
onShortCapture={handleShortCapture}
/>
</View>
</Camera>
);
}
export default connect(mapStateToProps, mapDispatchToProps)(ScreenCamera);