Files
cinny/src/app/hooks/useFilePicker.ts
T

16 lines
421 B
TypeScript
Raw Normal View History

2023-06-12 21:15:23 +10:00
import { useCallback } from 'react';
import { selectFile } from '../utils/dom';
export const useFilePicker = <M extends boolean | undefined = undefined>(
onSelect: (file: M extends true ? File[] : File) => void,
multiple?: M
) =>
useCallback(
async (accept: string) => {
const file = await selectFile(accept, multiple);
if (!file) return;
onSelect(file);
},
[multiple, onSelect]
);