Skip to content

Commit

Permalink
fix: adapted change-device to new callstate-setup
Browse files Browse the repository at this point in the history
  • Loading branch information
malmen237 committed Dec 16, 2024
1 parent cc1c6b7 commit 6c3a9ae
Showing 1 changed file with 29 additions and 19 deletions.
48 changes: 29 additions & 19 deletions src/components/production-line/production-line.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import { useParams } from "react-router-dom";
import { SubmitHandler, useForm } from "react-hook-form";
import { useGlobalState } from "../../global-state/context-provider.tsx";
import { useAudioInput } from "./use-audio-input.ts";
import { useRtcConnection } from "./use-rtc-connection.ts";
import { useEstablishSession } from "./use-establish-session.ts";
import { UserList } from "./user-list.tsx";
import {
MicMuted,
Expand All @@ -16,7 +14,6 @@ import {
} from "../../assets/icons/icon.tsx";
import {
ActionButton,
SecondaryButton,
DecorativeLabel,
FormLabel,
FormContainer,
Expand Down Expand Up @@ -159,15 +156,7 @@ export const ProductionLine = ({
isSingleCall,
}: TProductionLine) => {
const { productionId: paramProductionId, lineId: paramLineId } = useParams();
const [
{
joinProductionOptions,
dominantSpeaker,
audioLevelAboveThreshold,
devices,
},
dispatch,
] = useGlobalState();
const [{ devices }, dispatch] = useGlobalState();
const [connectionActive, setConnectionActive] = useState(true);
const [isInputMuted, setIsInputMuted] = useState(true);
const [isOutputMuted, setIsOutputMuted] = useState(false);
Expand Down Expand Up @@ -236,6 +225,12 @@ export const ProductionLine = ({
refresh,
});

useEffect(() => {
if (joinProductionOptions) {
setConnectionActive(true);
}
}, [joinProductionOptions]);

useEffect(() => {
if (connectionState === "connected") {
playEnterSound();
Expand Down Expand Up @@ -333,19 +328,34 @@ export const ProductionLine = ({
payload.audioinput === joinProductionOptions?.audioinput &&
payload.audiooutput === joinProductionOptions?.audiooutput;
if (joinProductionOptions && !unchangedPayload) {
setConnectionActive(false);
resetAudioInput();
muteInput(true);
setSessionId(null);

const newJoinProductionOptions = {
...payload,
productionId: joinProductionOptions.productionId,
lineId: joinProductionOptions.lineId,
username: joinProductionOptions.username,
};

dispatch({
type: "UPDATE_JOIN_PRODUCTION_OPTIONS",
type: "UPDATE_CALL",
payload: {
productionId: payload.productionId,
lineId: payload.lineId,
username: joinProductionOptions.username,
audioinput: payload.audioinput,
audiooutput: payload.audiooutput,
id,
updates: {
devices: null,
joinProductionOptions: newJoinProductionOptions,
mediaStreamInput: null,
dominantSpeaker: null,
audioLevelAboveThreshold: false,
connectionState: null,
audioElements: null,
sessionId: null,
},
},
});

setShowDeviceSettings(false);
}
};
Expand Down

0 comments on commit 6c3a9ae

Please sign in to comment.