uppy/examples/react/src/ScreenCapture.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.1 KiB
TypeScript

import { useScreenCapture } from '@uppy/react'
import { useEffect } from 'react'
import MediaCapture from './MediaCapture.tsx'
export interface ScreenCaptureProps {
close: () => void
}
export function ScreenCapture({ close }: ScreenCaptureProps) {
const {
start,
stop,
getVideoProps,
getScreenshotButtonProps,
getRecordButtonProps,
getStopRecordingButtonProps,
getSubmitButtonProps,
getDiscardButtonProps,
state,
} = useScreenCapture({ onSubmit: close })
useEffect(() => {
start()
return () => {
stop()
}
}, [start, stop])
return (
<MediaCapture
title="Screen Capture"
close={close}
mediaError={state.screenRecError}
getVideoProps={getVideoProps}
getPrimaryActionButtonProps={getScreenshotButtonProps}
primaryActionButtonLabel="Screenshot"
getRecordButtonProps={getRecordButtonProps}
getStopRecordingButtonProps={getStopRecordingButtonProps}
getSubmitButtonProps={getSubmitButtonProps}
getDiscardButtonProps={getDiscardButtonProps}
/>
)
}
export default ScreenCapture