bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/components-data/plugin-context/context.tsx

30 lines
1.0 KiB
TypeScript
Raw Normal View History

2023-09-14 01:34:48 +08:00
import React, { createContext, useState } from 'react';
import { PluginProvidedState } from '/imports/ui/components/plugins-engine/types';
import { PluginsContextType, UserListGraphqlVariables } from './types';
export const PluginsContext = createContext<PluginsContextType>({} as PluginsContextType);
2023-09-14 01:34:48 +08:00
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const PluginsContextProvider = ({ children, ...props }: any) => {
const [pluginsProvidedAggregatedState, setPluginsProvidedAggregatedState] = useState<PluginProvidedState>(
{} as PluginProvidedState,
);
const [userListGraphqlVariables, setUserListGraphqlVariables] = useState<UserListGraphqlVariables>(
{} as UserListGraphqlVariables,
);
return (
2023-09-14 01:34:48 +08:00
<PluginsContext.Provider
value={{
...props,
setPluginsProvidedAggregatedState,
pluginsProvidedAggregatedState,
userListGraphqlVariables,
setUserListGraphqlVariables,
2023-09-14 01:34:48 +08:00
}}
>
2023-09-14 01:34:48 +08:00
{children}
</PluginsContext.Provider>
);
};