uppy/examples/react/src/Webcam.tsx
Mikael Finstad d31c90e443
Run biome check on main (#5896)
this time on main
closes #5891

also: fix a11y tabIndex (key event handler)
2025-08-11 10:06:21 +02:00

45 lines
1 KiB
TypeScript

import { useWebcam } from '@uppy/react'
import { useEffect } from 'react'
import MediaCapture from './MediaCapture.tsx'
export interface WebcamProps {
close: () => void
}
export function Webcam({ close }: WebcamProps) {
const {
start,
stop,
getVideoProps,
getSnapshotButtonProps,
getRecordButtonProps,
getStopRecordingButtonProps,
getSubmitButtonProps,
getDiscardButtonProps,
state,
} = useWebcam({ onSubmit: close })
useEffect(() => {
start()
return () => {
stop()
}
}, [start, stop])
return (
<MediaCapture
title="Camera"
close={close}
getVideoProps={getVideoProps}
mediaError={state.cameraError}
getPrimaryActionButtonProps={getSnapshotButtonProps}
primaryActionButtonLabel="Snapshot"
getRecordButtonProps={getRecordButtonProps}
getStopRecordingButtonProps={getStopRecordingButtonProps}
getSubmitButtonProps={getSubmitButtonProps}
getDiscardButtonProps={getDiscardButtonProps}
/>
)
}
export default Webcam