Files
opvault.js/packages/web/src/components/VaultPicker.tsx
2021-11-05 03:17:18 -04:00

20 lines
474 B
TypeScript

import { useCallback } from "react"
export const VaultPicker: React.FC<{
setHandle(handle: FileSystemDirectoryHandle): void
}> = ({ setHandle }) => {
const onClick = useCallback(async () => {
try {
const handle = await showDirectoryPicker()
setHandle(handle)
} catch (e) {
if ((e as Error).name === "AbortError") {
return
}
alert(e)
}
}, [setHandle])
return <button onClick={onClick}>Pick a vault here.</button>
}