@uppy/react
Version:
React component wrappers around Uppy's official UI plugins.
11 lines (10 loc) • 568 B
JavaScript
import { createScreenCaptureController, } from '@uppy/components';
import { useMemo } from 'react';
import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';
import { useUppyContext } from './headless/UppyContextProvider.js';
export function useScreenCapture({ onSubmit, }) {
const { uppy } = useUppyContext();
const controller = useMemo(() => createScreenCaptureController(uppy, onSubmit), [uppy, onSubmit]);
const store = useSyncExternalStore(controller.subscribe, controller.getSnapshot, controller.getSnapshot);
return store;
}