Commit 31b2dc9a authored by Suryaprasadh M's avatar Suryaprasadh M 🏸
Browse files

meetings code split

parent 7591e81e
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
import { useRouter } from "next/router";
import React from "react";
import ConferenceScreen from "./ConferenceScreen";
import useBlueJeansMeeting from "./hooks/blueJeans-provider/useBlueJeansMeeting";

function BlueJeansWrapper() {
  const router = useRouter();

  const {
    meetingLink,
    passcode,
    name,
    login,
    isShareScreen,
    isStartMeeting,
    setOpenShareScreen,
  } = router.query;

  const { meetingStatus, leaveMeeting, startShare, stopShare } =
    useBlueJeansMeeting(
      meetingLink,
      passcode,
      name,
      login,
      isShareScreen,
      isStartMeeting,
      setOpenShareScreen
    );

  return (
    <div>
      <ConferenceScreen
        meetingControls={{ meetingStatus, leaveMeeting, startShare, stopShare }}
      />
    </div>
  );
}

export default BlueJeansWrapper;
+17 −40
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ const mockData = {
  login: false,
  isShareScreen: false,
  isStartMeeting: false,
  setOpenShareScreen: () => {}
  setOpenShareScreen: () => {},
};

function getURL(meetingLink) {
@@ -56,44 +56,11 @@ const useMeetingConnector = {
  zoom: useZoomMeeting,
  webex: useWebexMeeting,
  jitsi: useJitsiMeeting,
  blueJeans: useBlueJeansMeeting
  blueJeans: useBlueJeansMeeting,
};

export default function ConferenceScreen({
  meetingLink,
  meetingPasscode,
  provider
}) {
  const {
    meetingIdOrLink,
    passcode,
    name,
    login,
    isShareScreen,
    isStartMeeting,
    setOpenShareScreen
  } = mockData;

  const meetingConnector = useMeetingConnector[provider];

  const meetingDetails = useMemo(() => {
    return getMeetingIdAndPasscode(meetingLink, meetingPasscode, provider);
  }, [meetingLink, meetingPasscode, provider]);
  console.log("meetingDetails", meetingDetails);
  if (!meetingConnector) {
    return <div>Invalid provider.</div>;
  }

  const { meetingStatus, leaveMeeting, startShare, stopShare } =
    meetingConnector(
      meetingDetails.linkOrId,
      meetingDetails.password,
      name,
      login,
      isShareScreen,
      isStartMeeting,
      setOpenShareScreen
    );
export default function ConferenceScreen({ meetingControls }) {
  const { meetingStatus, leaveMeeting } = meetingControls;

  return (
    <div>
@@ -105,11 +72,21 @@ export default function ConferenceScreen({
          backgroundColor: "red",
          cursor: "pointer",
          border: "none",
          borderRadius: "10px"
          borderRadius: "10px",
        }}
        onClick={() => {
          leaveMeeting();
          Router.reload(window.location.pathname);
          leaveMeeting()
            .then(() =>
              Router.push({
                pathname: "/",
              })
            )
            .catch((err) => {
              console.log("err", err);
              Router.push({
                pathname: "/",
              });
            });
        }}
      >
        End Meeting
+39 −0
Original line number Diff line number Diff line
import { useRouter } from "next/router";
import React from "react";
import ConferenceScreen from "./ConferenceScreen";
import useJitsiMeeting from "./hooks/jitsi-provider/useJitsiMeeting";

function JitsiWrapper() {
  const router = useRouter();

  const {
    meetingLink,
    passcode,
    name,
    login,
    isShareScreen,
    isStartMeeting,
    setOpenShareScreen,
  } = router.query;

  const { meetingStatus, leaveMeeting, startShare, stopShare } =
    useJitsiMeeting(
      meetingLink,
      passcode,
      name,
      login,
      isShareScreen,
      isStartMeeting,
      setOpenShareScreen
    );

  return (
    <div>
      <ConferenceScreen
        meetingControls={{ meetingStatus, leaveMeeting, startShare, stopShare }}
      />
    </div>
  );
}

export default JitsiWrapper;
+39 −0
Original line number Diff line number Diff line
import { useRouter } from "next/router";
import React from "react";
import ConferenceScreen from "./ConferenceScreen";
import useTeamsMeeting from "./hooks/teams-provider/useTeamsMeeting";

function TeamsWrapper() {
  const router = useRouter();

  const {
    meetingLink,
    passcode,
    name,
    login,
    isShareScreen,
    isStartMeeting,
    setOpenShareScreen,
  } = router.query;

  const { meetingStatus, leaveMeeting, startShare, stopShare } =
    useTeamsMeeting(
      meetingLink,
      passcode,
      name,
      login,
      isShareScreen,
      isStartMeeting,
      setOpenShareScreen
    );

  return (
    <div>
      <ConferenceScreen
        meetingControls={{ meetingStatus, leaveMeeting, startShare, stopShare }}
      />
    </div>
  );
}

export default TeamsWrapper;
+39 −0
Original line number Diff line number Diff line
import { useRouter } from "next/router";
import React from "react";
import ConferenceScreen from "./ConferenceScreen";
import useWebexMeeting from "./hooks/webex-provider/useWebexMeeting";

function WebexWrapper() {
  const router = useRouter();

  const {
    meetingLink,
    passcode,
    name,
    login,
    isShareScreen,
    isStartMeeting,
    setOpenShareScreen,
  } = router.query;

  const { meetingStatus, leaveMeeting, startShare, stopShare } =
    useWebexMeeting(
      meetingLink,
      passcode,
      name,
      login,
      isShareScreen,
      isStartMeeting,
      setOpenShareScreen
    );

  return (
    <div>
      <ConferenceScreen
        meetingControls={{ meetingStatus, leaveMeeting, startShare, stopShare }}
      />
    </div>
  );
}

export default WebexWrapper;
Loading