import { useState } from 'react'; import { WebCamera } from '../WebCamera'; import { Box, Button, Dialog, DialogContent, DialogTitle, Typography, } from '@mui/material'; import { useCameraController } from '../useCameraController'; import CameraOff from '@mui/icons-material/NoPhotography'; import { CameraAlt, FlipCameraAndroid } from '@mui/icons-material'; import CloseIcon from '@mui/icons-material/Close'; import SaveIcon from '@mui/icons-material/Save'; import ShowMobileGallery from './ShowMobileGallery'; import { CameraLayoutProps } from '../camera.types'; export function MobileLayout({ images, open, setImages, setCropImageUrl, closeHandler, cropImageUrl, uischemaData, path, }: CameraLayoutProps) { const [showGallery, setShowGallery] = useState(false); const { cameraRef, facingMode, cameraError, isSaving, captureImage, switchCamera, saveImage, setCameraError, deleteImage, } = useCameraController( setImages, uischemaData, path, images, setCropImageUrl, closeHandler, ); const hasImages = images.length > 0; return ( {cameraError ? ( ) : ( !cropImageUrl && ( setCameraError(true)} /> ) )} hasImages && setShowGallery(true)} > {hasImages && ( Latest captured )} {showGallery && ( )} ); } export function CameraMessage({ text }: { text: string }) { return ( {text} ); }