cleanup
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import React, { useCallback, useContext, useEffect, useMemo, useRef } from 'react';
|
import React, { useCallback, useContext, useEffect, useMemo, useRef } from 'react';
|
||||||
import { useMediaDevices, useMount } from 'react-use';
|
import { useMediaDevices, useMount } from 'react-use';
|
||||||
|
|
||||||
|
import TwilioAccessToken from '@nirvana/core/src/functions/response/TwilioAccessToken.response';
|
||||||
import { getTwilioAccessToken } from '../firebase/functions';
|
import { getTwilioAccessToken } from '../firebase/functions';
|
||||||
import { useImmer } from 'use-immer';
|
import { useImmer } from 'use-immer';
|
||||||
import { useSnackbar } from 'notistack';
|
import { useSnackbar } from 'notistack';
|
||||||
@@ -8,14 +9,6 @@ import { useSnackbar } from 'notistack';
|
|||||||
// device ids for different types of content
|
// device ids for different types of content
|
||||||
type DeviceSelections = { audio?: string; video?: string };
|
type DeviceSelections = { audio?: string; video?: string };
|
||||||
|
|
||||||
interface ICommunicationsContext {
|
|
||||||
userLocalStream?: MediaStream;
|
|
||||||
|
|
||||||
userDeviceSelections?: DeviceSelections;
|
|
||||||
}
|
|
||||||
|
|
||||||
const CommunicationsContext = React.createContext<ICommunicationsContext>({});
|
|
||||||
|
|
||||||
function useUserDevices() {
|
function useUserDevices() {
|
||||||
const devices = useMemo(() => {
|
const devices = useMemo(() => {
|
||||||
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
|
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
|
||||||
@@ -57,6 +50,14 @@ function useUserDevices() {
|
|||||||
return { audioOutputDevices, audioInputDevices, videoInputDevices };
|
return { audioOutputDevices, audioInputDevices, videoInputDevices };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface ICommunicationsContext {
|
||||||
|
userLocalStream?: MediaStream;
|
||||||
|
|
||||||
|
userDeviceSelections?: DeviceSelections;
|
||||||
|
}
|
||||||
|
|
||||||
|
const CommunicationsContext = React.createContext<ICommunicationsContext>({});
|
||||||
|
|
||||||
// todo save the selected devices in localstorage
|
// todo save the selected devices in localstorage
|
||||||
export function CommunicationsProvider({ children }: { children: React.ReactNode }) {
|
export function CommunicationsProvider({ children }: { children: React.ReactNode }) {
|
||||||
const { enqueueSnackbar } = useSnackbar();
|
const { enqueueSnackbar } = useSnackbar();
|
||||||
@@ -67,16 +68,17 @@ export function CommunicationsProvider({ children }: { children: React.ReactNode
|
|||||||
const getAuthToken = useCallback(async () => {
|
const getAuthToken = useCallback(async () => {
|
||||||
try {
|
try {
|
||||||
const result = await getTwilioAccessToken();
|
const result = await getTwilioAccessToken();
|
||||||
console.log(result);
|
const data = result.data as TwilioAccessToken;
|
||||||
|
|
||||||
enqueueSnackbar('got token data');
|
enqueueSnackbar('got token data');
|
||||||
|
|
||||||
|
return data.token;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
enqueueSnackbar('something went wrong trying to set up calls', { variant: 'error' });
|
enqueueSnackbar('something went wrong trying to set up calls', { variant: 'error' });
|
||||||
}
|
}
|
||||||
}, [enqueueSnackbar]);
|
}, [enqueueSnackbar]);
|
||||||
|
|
||||||
useMount(getAuthToken);
|
|
||||||
|
|
||||||
// const getUserAudioDevices = useMemo(() => {
|
// const getUserAudioDevices = useMemo(() => {
|
||||||
// console.log(devices);
|
// console.log(devices);
|
||||||
// }, [devices]);
|
// }, [devices]);
|
||||||
|
|||||||
Reference in New Issue
Block a user