parent
1ed1f3fd2e
commit
8492cc59e2
@ -0,0 +1,24 @@
|
||||
import React, { createContext, useContext, useState } from 'react';
|
||||
|
||||
import type { IChat } from 'soapbox/queries/chats';
|
||||
|
||||
const ChatContext = createContext<any>({
|
||||
chat: null,
|
||||
});
|
||||
|
||||
const ChatProvider: React.FC = ({ children }) => {
|
||||
const [chat, setChat] = useState<IChat>();
|
||||
|
||||
return (
|
||||
<ChatContext.Provider value={{ chat, setChat }}>{children}</ChatContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
interface IChatContext {
|
||||
chat: IChat | null
|
||||
setChat: React.Dispatch<React.SetStateAction<IChat | null>>
|
||||
}
|
||||
|
||||
const useChatContext = (): IChatContext => useContext(ChatContext);
|
||||
|
||||
export { ChatContext, ChatProvider, useChatContext };
|
@ -0,0 +1,15 @@
|
||||
import React from 'react';
|
||||
|
||||
import { ChatProvider } from 'soapbox/contexts/chat-context';
|
||||
|
||||
import ChatPane from './chat-pane';
|
||||
|
||||
const ChatWidget = () => {
|
||||
return (
|
||||
<ChatProvider>
|
||||
<ChatPane />
|
||||
</ChatProvider>
|
||||
);
|
||||
};
|
||||
|
||||
export default ChatWidget;
|
Loading…
Reference in new issue