import { useCallback } from "react"; import { Button, Dialog } from "@blueprintjs/core"; import { RowCol, SettingsManager } from "Components/UserSettings"; import DataRequestItem from "./DataRequest"; import RequestsEditor from "./RequestsEditor"; import { useBool } from "@hooks"; import { CustomClasses } from "../../../constants"; const { Provider: RequestsProvider, useSettings: useRequestsSettings } = new SettingsManager<"requests">({ /* istanbul ignore next */ afterUpdate: (prevState, update) => { window?.zoteroRoam?.updateLibraries?.(update.libraries); } }); function RequestsWidget() { const [ { /*apiKeys,*/ dataRequests /*libraries*/ }, setOpts ] = useRequestsSettings(); const [isDialogOpen, { on: openDialog, off: closeDialog }] = useBool(false); const updateRequests = useCallback((val) => setOpts(_prevState => val), [setOpts]); return <> }> {dataRequests.map((req) => )} ; } export { RequestsProvider, RequestsWidget, useRequestsSettings };