useExtensions fixed (extensions in context)

This commit is contained in:
Jan Prochazka
2020-11-21 20:20:47 +01:00
parent 5ec39054a3
commit 6ed3eaa896
3 changed files with 29 additions and 22 deletions

View File

@@ -2,14 +2,22 @@ import React from 'react';
import { usePlugins } from '../plugins/PluginsProvider';
import { buildFileFormats } from './fileformats';
export default function useExtensions() {
const ExtensionsContext = React.createContext(buildExtensions([]));
export function ExtensionsProvider({ children }) {
const plugins = usePlugins();
const extensions = React.useMemo(
() => ({
plugins,
fileFormats: buildFileFormats(plugins),
}),
[plugins]
);
const extensions = React.useMemo(() => buildExtensions(plugins), [plugins]);
return <ExtensionsContext.Provider value={extensions}>{children}</ExtensionsContext.Provider>;
}
export function buildExtensions(plugins) {
const extensions = {
plugins,
fileFormats: buildFileFormats(plugins),
};
return extensions;
}
export default function useExtensions() {
return React.useContext(ExtensionsContext);
}