Lets the header's chat button and the floating one open the same chat modal,
which ChatProvider owns. Read it with useChat.
I
ChatContextValue
Provided by ChatProvider through ChatContext. The modal closes
itself, so opening is all its callers need.
-
openChat: () => void
Does nothing for a visitor.
v
ChatContext: React.Context<ChatContextValue>
Opens the chat modal. Outside ChatProvider it does nothing.
Usage
import * as mod from "src/contexts/chat/ChatContext.ts";