2022-08-28 21:25:49 -05:00
|
|
|
import { createContext, Dispatch, SetStateAction } from 'react'
|
|
|
|
|
2022-08-31 09:55:57 -05:00
|
|
|
import { AlertOptions } from 'models/shell'
|
2022-10-31 21:40:44 -05:00
|
|
|
import { AudioState, Peer } from 'models/chat'
|
2022-08-31 09:55:57 -05:00
|
|
|
|
2022-08-28 21:25:49 -05:00
|
|
|
interface ShellContextProps {
|
2022-08-29 22:05:56 -05:00
|
|
|
numberOfPeers: number
|
2022-09-27 00:10:31 +11:00
|
|
|
tabHasFocus: boolean
|
2022-09-01 21:28:45 -05:00
|
|
|
setDoShowPeers: Dispatch<SetStateAction<boolean>>
|
2022-08-31 09:55:57 -05:00
|
|
|
setNumberOfPeers: Dispatch<SetStateAction<number>>
|
|
|
|
setTitle: Dispatch<SetStateAction<string>>
|
|
|
|
showAlert: (message: string, options?: AlertOptions) => void
|
2022-10-05 01:08:38 +11:00
|
|
|
isPeerListOpen: boolean
|
|
|
|
setIsPeerListOpen: Dispatch<SetStateAction<boolean>>
|
|
|
|
peerList: Peer[]
|
|
|
|
setPeerList: Dispatch<SetStateAction<Peer[]>>
|
2022-10-31 21:40:44 -05:00
|
|
|
audioState: AudioState
|
|
|
|
setAudioState: Dispatch<SetStateAction<AudioState>>
|
2022-08-28 21:25:49 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
export const ShellContext = createContext<ShellContextProps>({
|
2022-08-29 22:05:56 -05:00
|
|
|
numberOfPeers: 1,
|
2022-09-27 00:10:31 +11:00
|
|
|
tabHasFocus: true,
|
2022-09-01 21:28:45 -05:00
|
|
|
setDoShowPeers: () => {},
|
2022-08-31 09:55:57 -05:00
|
|
|
setNumberOfPeers: () => {},
|
|
|
|
setTitle: () => {},
|
|
|
|
showAlert: () => {},
|
2022-10-05 01:08:38 +11:00
|
|
|
isPeerListOpen: false,
|
|
|
|
setIsPeerListOpen: () => {},
|
|
|
|
peerList: [],
|
|
|
|
setPeerList: () => {},
|
2022-10-31 21:40:44 -05:00
|
|
|
audioState: AudioState.STOPPED,
|
|
|
|
setAudioState: () => {},
|
2022-08-28 21:25:49 -05:00
|
|
|
})
|