Skip to content

Commit

Permalink
Rename PeerStatus to ParticipatStatus
Browse files Browse the repository at this point in the history
  • Loading branch information
kamil-stasiak committed Sep 19, 2024
1 parent cc59065 commit f1450f5
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 24 deletions.
6 changes: 3 additions & 3 deletions examples/react-client/use-camera-and-microphone/src/Badge.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import type { PeerStatus } from "@fishjam-cloud/react-client";
import type { ParticipantStatus } from "@fishjam-cloud/react-client";

type Props = {
status: PeerStatus;
status: ParticipantStatus;
};

const getBadgeColor = (status: PeerStatus) => {
const getBadgeColor = (status: ParticipantStatus) => {
switch (status) {
case "connected":
return "badge-success";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import type {
PeerStatus,
ParticipantStatus,
Device,
AudioDevice,
} from "@fishjam-cloud/react-client";

type DeviceControlsProps = {
status: PeerStatus;
status: ParticipantStatus;
} & (
| {
device: AudioDevice;
Expand Down
8 changes: 4 additions & 4 deletions packages/react-client/src/fishjamProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { DeviceManagerConfig, PeerMetadata, ScreenshareState, TrackMetadata
import { FishjamClient, type ReconnectConfig } from "@fishjam-cloud/ts-client";
import { FishjamContext } from "./hooks/useFishjamContext";
import { DeviceManager } from "./DeviceManager";
import { usePeerStatus } from "./hooks/usePeerStatus";
import { useParticipantStatus } from "./hooks/useParticipantStatus";

interface FishjamProviderProps extends PropsWithChildren {
config?: { reconnect?: ReconnectConfig | boolean };
Expand All @@ -19,18 +19,18 @@ export function FishjamProvider({ children, config, deviceManagerDefaultConfig }
const audioDeviceManagerRef = useRef(new DeviceManager("audio", deviceManagerDefaultConfig));

const screenshareState = useState<ScreenshareState>({ stream: null, trackIds: null });
const { peerStatus, getCurrentPeerStatus } = usePeerStatus(fishjamClientRef.current);
const { peerStatus, getCurrentParticipantStatus } = useParticipantStatus(fishjamClientRef.current);

const videoTrackManager = useTrackManager({
mediaManager: videoDeviceManagerRef.current,
tsClient: fishjamClientRef.current,
getCurrentPeerStatus,
getCurrentParticipantStatus,
});

const audioTrackManager = useTrackManager({
mediaManager: audioDeviceManagerRef.current,
tsClient: fishjamClientRef.current,
getCurrentPeerStatus,
getCurrentParticipantStatus,
});

const context = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@ import type { ParticipantStatus } from "../state.types";
import type { FishjamClient } from "@fishjam-cloud/ts-client";
import type { PeerMetadata, TrackMetadata } from "../types";

export const usePeerStatus = (client: FishjamClient<PeerMetadata, TrackMetadata>) => {
const [peerStatus, setPeerStatusState] = useState<ParticipantStatus>("idle");
export const useParticipantStatus = (client: FishjamClient<PeerMetadata, TrackMetadata>) => {
const [peerStatus, setParticipantStatusState] = useState<ParticipantStatus>("idle");
const peerStatusRef = useRef<ParticipantStatus>("idle");

const setPeerStatus = useCallback(
const setParticipantStatus = useCallback(
(status: ParticipantStatus) => {
peerStatusRef.current = status;
setPeerStatusState(status);
setParticipantStatusState(status);
},
[setPeerStatusState],
[setParticipantStatusState],
);

const getCurrentPeerStatus = useCallback(() => peerStatusRef.current, []);
const getCurrentParticipantStatus = useCallback(() => peerStatusRef.current, []);

useEffect(() => {
const setConnecting = () => {
setPeerStatus("connecting");
setParticipantStatus("connecting");
};
const setError = () => {
setPeerStatus("error");
setParticipantStatus("error");
};
const setJoined = () => {
setPeerStatus("connected");
setParticipantStatus("connected");
};
const setDisconnected = () => {
setPeerStatus("idle");
setParticipantStatus("idle");
};

client.on("connectionStarted", setConnecting);
Expand All @@ -46,7 +46,7 @@ export const usePeerStatus = (client: FishjamClient<PeerMetadata, TrackMetadata>
client.off("connectionError", setError);
client.off("disconnected", setDisconnected);
};
}, [client, setPeerStatus]);
}, [client, setParticipantStatus]);

return { peerStatus, getCurrentPeerStatus } as const;
return { peerStatus, getCurrentParticipantStatus } as const;
};
6 changes: 3 additions & 3 deletions packages/react-client/src/hooks/useTrackManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import type { ParticipantStatus } from "../state.types";
interface TrackManagerConfig {
mediaManager: MediaManager;
tsClient: FishjamClient<PeerMetadata, TrackMetadata>;
getCurrentPeerStatus: () => ParticipantStatus;
getCurrentParticipantStatus: () => ParticipantStatus;
}

const TRACK_TYPE_TO_DEVICE = {
video: "camera",
audio: "microphone",
} as const;

export const useTrackManager = ({ mediaManager, tsClient, getCurrentPeerStatus }: TrackManagerConfig): TrackManager => {
export const useTrackManager = ({ mediaManager, tsClient, getCurrentParticipantStatus }: TrackManagerConfig): TrackManager => {
const [currentTrackId, setCurrentTrackId] = useState<string | null>(null);
const [paused, setPaused] = useState<boolean>(false);
const clearMiddlewareFnRef = useRef<(() => void) | null>(null);
Expand Down Expand Up @@ -148,7 +148,7 @@ export const useTrackManager = ({ mediaManager, tsClient, getCurrentPeerStatus }
}

const stream = async () => {
if (getCurrentPeerStatus() !== "connected") return;
if (getCurrentParticipantStatus() !== "connected") return;

if (currentTrack?.trackId) {
await resumeStreaming();
Expand Down

0 comments on commit f1450f5

Please sign in to comment.