adding in tuning in but just doesn't work with polyfill error on accesing memberstate

This commit is contained in:
talksik
2022-06-11 17:46:05 -05:00
parent 8ffe5536eb
commit 2d857e1758
@@ -7,6 +7,7 @@ import {
TuneToLineRequest, TuneToLineRequest,
UntuneFromLineRequest, UntuneFromLineRequest,
} from '@nirvana/core/sockets/channels'; } from '@nirvana/core/sockets/channels';
import Conversation, { MemberState } from '@nirvana/core/models/conversation.model';
import { ConversationMap, MasterConversation } from '../util/types'; import { ConversationMap, MasterConversation } from '../util/types';
import React, { useCallback, useEffect, useState } from 'react'; import React, { useCallback, useEffect, useState } from 'react';
import { import {
@@ -16,12 +17,12 @@ import {
getConversations, getConversations,
} from '../api/NirvanaApi'; } from '../api/NirvanaApi';
import Conversation from '@nirvana/core/models/conversation.model';
import CreateConversationRequest from '@nirvana/core/requests/CreateConversationRequest.request'; import CreateConversationRequest from '@nirvana/core/requests/CreateConversationRequest.request';
import { Typography } from '@mui/material'; import { Typography } from '@mui/material';
import User from '@nirvana/core/models/user.model'; import User from '@nirvana/core/models/user.model';
import toast from 'react-hot-toast'; import toast from 'react-hot-toast';
import { useAsyncFn } from 'react-use'; import { useAsyncFn } from 'react-use';
import useAuth from './AuthProvider';
import { useImmer } from 'use-immer'; import { useImmer } from 'use-immer';
import useSockets from './SocketProvider'; import useSockets from './SocketProvider';
@@ -66,6 +67,8 @@ const ConversationContext = React.createContext<IConversationContext>({
}); });
export function ConversationProvider({ children }: { children: React.ReactNode }) { export function ConversationProvider({ children }: { children: React.ReactNode }) {
const { user } = useAuth();
// the initial persistent fetch for conversations // the initial persistent fetch for conversations
const [fetchState, doFetch] = useAsyncFn(getConversations); const [fetchState, doFetch] = useAsyncFn(getConversations);
@@ -75,6 +78,7 @@ export function ConversationProvider({ children }: { children: React.ReactNode }
const [selectedConversation, setSelectedConversation] = useState<MasterConversation>(undefined); const [selectedConversation, setSelectedConversation] = useState<MasterConversation>(undefined);
const { $ws } = useSockets(); const { $ws } = useSockets();
const { handleConnectToLine, handleTuneIntoLine, handleUntuneFromLine } = useSocketFire();
useEffect(() => { useEffect(() => {
$ws.on(ServerResponseChannels.SOMEONE_CONNECTED_TO_LINE, (res: SomeoneConnectedResponse) => { $ws.on(ServerResponseChannels.SOMEONE_CONNECTED_TO_LINE, (res: SomeoneConnectedResponse) => {
@@ -115,8 +119,21 @@ export function ConversationProvider({ children }: { children: React.ReactNode }
connectedUserIds: [], connectedUserIds: [],
}; };
}); });
handleConnectToLine(conversation._id.toString());
const currMemberForConversation = conversation.members.find(
(mem) => mem.email === user.email,
);
// if (
// currMemberForConversation &&
// currMemberForConversation.memberState === MemberState.priority
// ) {
// handleTuneIntoLine(conversation._id.toString());
// }
}, },
[setConversationMap], [setConversationMap, handleConnectToLine, handleTuneIntoLine, user],
); );
useEffect(() => { useEffect(() => {