adding in tuning in but just doesn't work with polyfill error on accesing memberstate
This commit is contained in:
@@ -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(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user