import React, { createContext, useState } from 'react'; import { ExtensibleArea } from '/imports/ui/components/plugins-engine/extensible-areas/types'; import { ChatMessagesGraphqlVariablesAndQuery, PluginsContextType, UserListGraphqlVariables } from './types'; import { CHAT_MESSAGE_PUBLIC_SUBSCRIPTION } from '../../chat/chat-graphql/chat-message-list/page/queries'; export const PluginsContext = createContext({} as PluginsContextType); // eslint-disable-next-line @typescript-eslint/no-explicit-any export const PluginsContextProvider = ({ children, ...props }: any) => { const [pluginsExtensibleAreasAggregatedState, setPluginsExtensibleAreasAggregatedState] = useState( {} as ExtensibleArea, ); const [userListGraphqlVariables, setUserListGraphqlVariables] = useState( {} as UserListGraphqlVariables, ); const [domElementManipulationMessageIds, setDomElementManipulationMessageIds] = useState([]); const [ chatMessagesGraphqlVariablesAndQuery, setChatMessagesGraphqlVariablesAndQuery, ] = useState( { query: CHAT_MESSAGE_PUBLIC_SUBSCRIPTION } as ChatMessagesGraphqlVariablesAndQuery, ); return ( {children} ); };