Skip to content

Commit d492c41

Browse files
- Don't reassing if same values
- Rename interface.
1 parent 8fe1a17 commit d492c41

3 files changed

Lines changed: 15 additions & 10 deletions

File tree

react-demo-app/src/components/Video/ActiveVideoConversationsTable.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useDispatch, useSelector } from "react-redux";
22
import { GuxButton, GuxRadialLoading, GuxTable } from "genesys-spark-components-react";
33
import useSdk from "../../hooks/useSdk.ts";
44
import {
5-
IActiveVideoConversationsState, setCurrentlyDisplayedConversation,
5+
IActiveVideoConversationState, setCurrentlyDisplayedConversation,
66
toggleAudioMute,
77
toggleVideoMute, updateConversationMediaStreams
88
} from "../../features/videoConversationsSlice.ts";
@@ -13,7 +13,7 @@ import { VideoMediaSession } from "genesys-cloud-webrtc-sdk";
1313
import { AppDispatch, RootState } from "../../types/store.ts";
1414

1515
export default function ActiveVideoConversationsTable() {
16-
const videoConversations: IActiveVideoConversationsState[] = useSelector(
16+
const videoConversations: IActiveVideoConversationState[] = useSelector(
1717
(state: RootState) => state.videoConversations.activeVideoConversations
1818
);
1919
const dispatch = useDispatch<AppDispatch>();
@@ -83,7 +83,7 @@ export default function ActiveVideoConversationsTable() {
8383
session.stopScreenShare && session.stopScreenShare();
8484
}
8585

86-
const selectConvButton = (convo: IActiveVideoConversationsState) => {
86+
const selectConvButton = (convo: IActiveVideoConversationState) => {
8787
return (
8888
<GuxButton onClick={() => handleConversationSwitch(convo.conversationId)}
8989
disabled={currentlyDisplayedConversationId === convo.conversationId}>
@@ -149,7 +149,7 @@ export default function ActiveVideoConversationsTable() {
149149
</tr>
150150
</thead>
151151
<tbody>
152-
{videoConversations.map((convo: IActiveVideoConversationsState, index: number) => {
152+
{videoConversations.map((convo: IActiveVideoConversationState, index: number) => {
153153
const session = getSession(convo.conversationId)
154154
return (
155155
<tr key={`${convo.conversationId}${session.id}`}>

react-demo-app/src/components/Video/Video.css

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,13 @@ video {
3030
}
3131

3232
.video-call-card > .card-content > div > form {
33-
margin: 0.3rem 0 1rem 0;
33+
margin: 0.1rem 0 0.5rem 0;
3434
padding: 0;
3535
width: 100%;
3636
}
3737

3838
.video-call-card > .card-content > div > form > input {
3939
margin: 0;
40-
padding: 0;
4140
width: 100%;
4241
box-sizing: border-box;
4342
}

react-demo-app/src/features/videoConversationsSlice.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { IParticipantsUpdate } from "genesys-cloud-webrtc-sdk";
22
import { createAsyncThunk, createSlice, Draft } from "@reduxjs/toolkit";
33
import { RootState } from "../types/store.ts";
44

5-
export interface IActiveVideoConversationsState { // rename this to remove the 's'?
5+
export interface IActiveVideoConversationState {
66
conversationId: string;
77
participantsUpdate?: IParticipantsUpdate;
88
loadingVideo: boolean;
@@ -11,11 +11,11 @@ export interface IActiveVideoConversationsState { // rename this to remove the '
1111
outboundStream?: MediaStream;
1212
screenOutboundStream?: MediaStream;
1313
activeParticipant?: string;
14-
usersTalking?: {[userId: string]: boolean};
14+
usersTalking?: { [userId: string]: boolean };
1515
}
1616

1717
export interface IVideoConversationsState {
18-
activeVideoConversations: IActiveVideoConversationsState[];
18+
activeVideoConversations: IActiveVideoConversationState[];
1919
currentlyDisplayedConversationId: string | null;
2020
}
2121

@@ -108,7 +108,13 @@ export const videoConversationsSlice = createSlice({
108108
setUsersTalking: (state, action) => {
109109
const conv = findConversationInState(state, action.payload.conversationId);
110110
if (conv) {
111-
conv.usersTalking = action.payload.usersTalking;
111+
const usersTalkingObj = action.payload.usersTalking;
112+
for (const userId in usersTalkingObj) {
113+
if (conv.usersTalking && conv.usersTalking[userId] !== usersTalkingObj[userId]) {
114+
conv.usersTalking = action.payload.usersTalking;
115+
break;
116+
}
117+
}
112118
}
113119
}
114120
},

0 commit comments

Comments
 (0)