{"version":3,"file":"static/js/app-f10c812e_60953ea28d1bb0b3e228.js","mappings":"ulBAiBO,MAAMA,EAAwD,aACnEC,GAAAA,EAAK,CAAC,EAAC,SACPC,EAAQ,aACRC,EAAY,KACZC,EAAI,aACJC,EAAe,CAAEC,WAAY,QAASC,SAAU,WALmB,EAMhEC,E,6JAAA,CANgE,EAMhE,CALH,KACA,WACA,eACA,OACA,iBAGA,MAAMC,GAAQ,SAERC,GAAW,OAAcD,EAAME,YAAYC,KAAK,OAEtD,OACE,qBACE,mBAAC,K,EAAA,GACCP,gBACIG,G,EAFL,CAGCP,GAAI,OACES,GAAY,CAAEG,OAAQ,EAAGC,KAAM,EAAGC,MAAO,IAC1Cd,GAGL,mBAAC,KACCC,WACAD,GAAI,GAAEe,aAAc,GAAON,GAAY,CAAEO,MAAO,UAChDb,OAEC,SAAAD,K,qBAGP,C,+mBCrCJ,MA+DA,EA/D6C,aAC3Ce,MAAAA,EAAA,KACAd,EAAI,GACJH,EAAK,CAAC,EACN,UAAWkB,GAJgC,EAKxCC,E,6JAAA,CALwC,EAKxC,CAJH,QACA,OACA,KACA,YAMA,OAFiB,WAIb,SAACC,EAAA,OACC,UAAS,+BAA+BF,IACxClB,GAAI,GACFqB,MAAO,uBACPC,gBAAiB,YACjB,SAAU,CACRA,gBAAiB,cAEnBC,QAAS,OACTC,SAAU,aACVC,WAAY,SACZC,eAAgB,SAChBC,IAAMnB,GAAUA,EAAMoB,QAAQ,GAC9BZ,MAAO,cACPa,SAAU,OACVC,EAAG,KACA9B,IAEDmB,GAlBL,CAoBE,SAAAhB,MAKL,UAAC4B,EAAA,OACCC,KAAK,QACLC,kBAAgB,EAChBC,QAAQ,YACR,UAAS,+BAA+BhB,IACxClB,GAAI,GACFqB,MAAO,uBACPC,gBAAiB,YACjB,SAAU,CACRA,gBAAiB,aAEnBC,QAAS,OACTC,SAAU,aACVC,WAAY,SACZC,eAAgB,SAChBC,IAAMnB,GAAUA,EAAMoB,QAAQ,GAC9BZ,MAAO,eACJhB,IAEDmB,GAnBL,CAqBE,UAAAhB,EACAc,KACH,ECYJ,EA7D0D,EACxDkB,uBACAC,aACAC,gBAEA,MAAM,WAAEC,IAAe,WAEN,UAUD,OAAO,uBAwCrB,EClCJ,EAjC0D,EACxDC,iBACAC,uBAME,SAACC,EAAA,GACCzC,GAAI,CACFuB,QAAS,OACTC,SAAU,aACVC,WAAY,SACZC,eAAgB,eAChBgB,aAAc,UAGhB,mBAAC,GACCvC,MAAM,SAAC,MAAc,IACrBc,MAAOuB,EACPG,QAhBmB,KACvBC,OAAOC,SAASC,KAAO,GAAGF,OAAOC,SAASE,wBAAwBR,GAAgB,EAgB9EvC,GAAI,CACFsB,gBAAiB,aACjB,SAAU,CACRA,gBAAiB,eAGrB,UAAS,0BCiFjB,EAlG0C,EACxCiB,iBACAS,eACAR,mBACAL,uBACAC,aACAC,gBAGA,MAAM5B,GAAW,UAEXwC,GAAiB,QAAe,OAChC,kBAAEC,GAAsBD,EAGxBE,EADyC,SAAvBD,GAEtB,SAAC,GACCX,iBACAC,sBAGF,SAAC,GACCL,uBACAC,aACAC,cAIJ,OAAKW,GAsCH,UAACP,EAAA,GACCzC,GAAI,CACFgB,MAAO,OACPoC,OAAQ,OACR9B,gBAAiB,eACjBC,QAAS,OACTC,SAAU,aACVC,WAAY,SACZC,eAAgB,gBAChBgB,aAAc,SACdW,SAAU,OACV1B,IAAK,CAAE2B,GAAI,EAAGC,GAAI,GAClBC,GAAI,CAAEF,GAAI,EAAGC,GAAI,IAGnB,oBAACE,EAAA,GACCvB,QAAQ,KACRwB,UAAU,KACV1D,GAAI,CACFqB,MAAO,uBACPsC,aAAc,WACdC,WAAY,SACZC,SAAU,UAGX,SAAAb,IAEFG,MA/DD,UAACV,EAAA,GACCzC,GAAI,CACFgB,MAAO,OACPoC,OAAQ,OACR9B,gBAAiB,eACjBC,QAAS,OACTC,SAAU,aACVC,WAAY,SACZC,eAAgB,gBAChBgB,aAAc,SACdW,SAAU,OACV1B,IAAK,CAAE2B,GAAI,EAAGC,GAAI,GAClBC,GAAI,CAAEF,GAAI,EAAGC,GAAI,IAGnB,oBAACE,EAAA,EAAU,CAACvB,QAAQ,KAAKwB,UAAU,KACjC,mBAACI,EAAA,EAAQ,CAAC5B,QAAQ,OAAOlB,MAAM,QAAQhB,GAAI,CAAE+D,QAAS,iBAGxD,SAACD,EAAA,GACC5B,QAASzB,EAAW,WAAa,cACjCT,GAAI,CAAE+D,QAAS,YAEf,mBAAC,GACC5D,MAAM,SAAC,MAAc,IACrBc,MAAOuB,EACPxC,GAAI,CACFsB,gBAAiB,cAEnB,UAAS,oCAmCjB,E,yZCxFJ,MAAM0C,EAAiB,CACrBC,EACAC,KA7BF,UA+BE,MAAO,CACLC,QAAS,CACPC,KAAM,OACDH,EAAgBE,QAAQC,MACxB,eAAAF,OAAA,EAAAA,EAASC,cAAT,IAAkBC,MAEvBC,KAAM,OACDJ,EAAgBE,QAAQE,MACxB,eAAAH,OAAA,EAAAA,EAASC,cAAT,IAAkBE,MAEvBC,aAAc,OACTL,EAAgBE,QAAQG,cACxB,eAAAJ,OAAA,EAAAA,EAASC,cAAT,IAAkBG,eAGzBZ,UAAW,OAAKO,EAAgBP,WAAc,MAAAQ,OAAA,EAAAA,EAASR,WACxD,EAGUa,EAAc,EACzBC,aACAN,cAEA,OAAQM,GACN,IAAK,QASL,QACE,OAAOR,EAAe,IAAwBE,GARhD,IAAK,QACH,OAAOF,EAAe,IAAwBE,GAChD,IAAK,QAEL,IAAK,QACH,OAAOF,EAAe,IAAwBE,GAIlD,E,8ZC7CF,MA0DA,GA1DgD,EAC9CO,cACAD,aAAa,QACbxB,eACA0B,wBAEA,MAAM,mBAAEC,EAAkB,gBAAEC,IAAoB,WAE1C,SAAEC,IAAa,UAGfrE,GAAQ,EAAAsE,EAAA,KACRrE,GAAW,UACXsE,EAAatE,EAAW,SAAW,UAEnCuE,EAAiC,QAClC,KADkC,CAErCC,WAAY,CAAC,EACbC,iBAAkB,QACb,sBADa,CAEhBC,WAAY3E,EAAM4E,WAAWD,aAE/BE,QAAS,KACJ,eAIDC,EAAkBd,EAElBe,EAAyB9E,EAAW,GAAKuC,EAU/C,OARA,IAAAwC,YAAU,IACD,KACLZ,EAAgB,yBAA0B,CACxCa,QAASd,GACT,GAEH,CAACA,EAAoBC,KAGtB,SAACc,EAAA,GACCC,QAASlB,EACTM,aACAa,kBAAmBf,EACnBgB,yBAA0BnB,EAC1BoB,YAAad,EACbe,OAAQxB,EAAY,CAClBC,WAAYc,EACZpB,QAAS,CACPC,QAAS,CACPE,KAAM,CAAEkB,+BAIhB,EC/CJ,IArBqB,IAAAS,aAAW,CAACC,EAAOC,KAEtC,MAAMjD,GAAiB,QAAe,MAGtC,OACE,UAACR,EAAA,GACCzC,GAAI,CACFsB,gBAAiB,OACjB6E,SAAU,CAAE7C,GAAI,OAAQC,GAAI,SAC5BvC,MAAO,CAAEsC,GAAI,OAAQC,GAAI,QAE3B2C,MAEA,oBAAC,MAAI,SAAAjD,EAAemD,qBACpB,SAAC,MAAG,sBACJ,SAAC,MAAI,SAAAnD,EAAeoD,YACtB,ICoGJ,GApGsC,EACpCrD,eACAR,mBACAD,iBACAJ,uBACAC,aACAC,YACAoC,cACAC,oBACAF,aACA4B,oBACAE,UACAC,aAGA,MAAOC,EAAUC,IAAe,IAAAC,WAAkB,IAGlD,IAAAlB,YAAU,KACSe,EAAOI,OAAS,GAE/BF,GAAY,EACd,GACC,CAACF,EAAOI,SAEX,MAAMC,GAAc,IAAAC,cAAY,KAC9B,MAAMC,EAAc,KAClBL,GAAY,EAAM,EAEpB,OACE,SAACM,EAAA,GACCC,KAAMR,IAAaF,EACnBW,QAASH,EACT9G,GAAI,CAAEkH,GAAI,GACV9G,aAAc,CAAEE,SAAU,MAAOD,WAAY,QAE7C,mBAAC8G,EAAA,EAAK,CAACF,QAASH,EAAa7G,SAAS,QAAQD,GAAI,CAAEqD,SAAU,QAC3D,aAAIkD,GAAQa,KAAKC,GAAUA,EAAMC,aAEtC,GAED,CAACf,EAAQC,EAAUF,IAEtB,OACE,UAAC7D,EAAA,GACCzC,GAAI,CACFuB,QAAS,OACTC,SAAU,SACV+F,oBAAqB,OACrBC,iBAAkB,WAClBpE,OAAQ,QACRqE,UAAW,CAAEnE,GAAI,iBAAkBC,GAAI,UAGzC,oBAACd,EAAA,GACCzC,GAAI,CACF0H,WAAY,IACZC,QAAS,KAGX,mBAAC,GACC3E,eACAR,mBACAD,iBACAJ,uBACAC,aACAC,iBAGJ,UAACI,EAAA,GACCzC,GAAI,CACF0H,WAAY,IACZC,QAAS,IACTpG,QAAS,OACTC,SAAU,aACVkB,aAAc,SACdhB,eAAgB,SAChBD,WAAY,UAGb,UAAAmF,KACCnC,GAAe6B,GACf,SAACsB,EAAA,EAAgB,CAACvG,MAAM,eAExB,SAAC,IACCoD,cACAD,aACAxB,eACA0B,uBAIJ,SAACmD,EAAA,EAAQ,CAACC,GAAI1B,EAAmB2B,YAAY,aAC3C,mBAAC,GAAY,WAGnB,C,6pDCtHG,MAAM,EAAW,KACtB,sBACE,oBAAC,IAAW,CAAC/H,GAAI,CAAEoD,OAAQ,OAAQ4E,UAAW,WAC9C,SAAC,IAAW,CAAChI,GAAI,CAAEoD,OAAQ,OAAQ8D,GAAI,EAAGc,UAAW,WACrD,SAAC,IAAW,CAAChI,GAAI,CAAEoD,OAAQ,OAAQ8D,GAAI,EAAGc,UAAW,a,kSCOlD,SAASC,IAAa,eAC3B1F,EAAc,QACd2F,IAfF,MAiBE,MAAMC,GAAmB,KAAAC,iBAGlBC,EAA6BC,IAClC,KAAA5B,WAAS,IACJ6B,EAAmBC,IAAwB,KAAA9B,aAG5C,YAAE+B,EAAaC,kBAAmBC,IAAyB,SAC/D,CAAC,GAEGD,EAAoBC,IACpBC,EAAS,SAAAH,IAAcI,GAAG,SAAjB,IAAqBD,QAIlCE,cAAeC,EAAgB,iBAC/BC,EACAC,uBAAwBC,IACtB,SAAiB,CAAC,GAChBD,EAAyBC,IACzBJ,EAAgBC,KAEtB,KAAAvD,YAAU,KACR,GACEkD,GACAO,IACCL,GACDP,EAEA,OAGgC,MAAY,gCACtCW,EAAiB,CAAEG,IAAK,mBAC9Bb,GAA+B,EACjC,KAEAc,EAA2B,GAC1B,CACDJ,EACAb,EACAO,EACAO,EACAL,EACAP,KAGF,KAAA7C,YAAU,KACR,GAAIkD,GAAqBO,IAA2B1G,EAClD,OAGF,MAAM8G,EAAeP,EAAcQ,MAChCD,GAAiBA,EAAaE,KAAOhH,IAGxC,IAAK8G,EACH,OAGF,MAMMd,GANa,QAAc,CAC/BiB,KAAMtB,EAAU,QAAU,UAC1BmB,eACAT,WAGmCC,GAAG,GACxCL,EAAqBD,EAAkB,GACtC,CACDG,EACAO,EACAH,EACAF,EACArG,EACA2F,IAGF,MAAM,gBAAEuB,IAAoB,KAAAC,mBACtBC,EAAQF,EAAgB,CAC5BG,eAAgB,MAAArB,OAAA,EAAAA,EAAmBsB,QACnCC,YAAa,MAAAvB,OAAA,EAAAA,EAAmBuB,cAGlC,OAAO,SAACC,GAAA,EAAM,CAACC,IAAKL,EAAO3J,GAAI,CAAEgB,MAAO,OAAQoC,OAAQ,SAC1D,C,kQC1FA,MAiCA,EAjC4C,EAAG6G,QAAOC,cAElD,SAAC,KACClK,GAAKQ,IAAU,CACbe,QAAS,OACTC,SAAU,gBACVkB,aAAc,SACdjB,WAAY,SACZC,eAAgB,SAChBJ,gBAAiBd,EAAM6E,QAAQ8E,WAAWC,UAG5C,oBAAC,KACCpK,GAAKQ,IAAU,CACbe,QAAS,OACTC,SAAU,gBACVkB,aAAc,SACdjB,WAAY,aACZC,eAAgB,SAChB2I,GAAI,CAAE9G,GAAI,EAAGD,GAAI,GACjBgH,GAAI,CAAEhH,GAAI,GACVD,SAAU7C,EAAME,YAAY6J,OAAOC,KAGrC,oBAAC,IAAU,CAACtI,QAAQ,KAAKwB,UAAU,KAChC,SAAAuG,KAEH,SAAC,IAAG,CAACvG,UAAW,KAAc+G,MAAOP,Q","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/components/SnackbarAlert/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/VideoNavBar/NavBarButton/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/VideoNavBar/InCallNavBarButtons/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/VideoNavBar/ExistSessionButtons/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/VideoNavBar/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/VideoLocale/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/VideoComposite/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/VideoSideBar/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/VideoRoom/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Skeleton/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/SurveyAvatar/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/legalNotices/index.tsx"],"sourcesContent":["// external\nimport { FunctionComponent, ReactNode } from 'react';\nimport {\n Alert,\n AlertColor,\n Snackbar,\n SnackbarProps,\n useMediaQuery,\n useTheme,\n} from '@mui/material';\n\ninterface SnackbarAlertProps extends SnackbarProps {\n severity: AlertColor;\n alertContent: ReactNode;\n icon?: ReactNode;\n}\n\nexport const SnackbarAlert: FunctionComponent = ({\n sx = {},\n severity,\n alertContent,\n icon,\n anchorOrigin = { horizontal: 'right', vertical: 'bottom' },\n ...snackbarProps\n}) => {\n const theme = useTheme();\n\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n <>\n \n \n {alertContent}\n \n \n \n );\n};\n","import { Button, ButtonProps, IconButton } from '@mui/material';\nimport { useMobileMediaQuery } from 'hooks';\nimport { FC, ReactNode } from 'react';\n\ninterface NavBarButtonProps extends ButtonProps {\n icon: ReactNode;\n label: string | undefined;\n 'data-cy': string;\n}\n\nconst NavBarButton: FC = ({\n label,\n icon,\n sx = {},\n 'data-cy': dataCy,\n ...rest\n}) => {\n // Styling\n const isMobile = useMobileMediaQuery();\n\n if (isMobile)\n return (\n theme.spacing(1),\n width: 'max-content',\n fontSize: '15px',\n p: 1.5,\n ...sx,\n }}\n {...rest}\n >\n {icon}\n \n );\n\n return (\n theme.spacing(1),\n width: 'max-content',\n ...sx,\n }}\n {...rest}\n >\n {icon}\n {label}\n \n );\n};\nexport default NavBarButton;\n","import { FC } from 'react';\nimport { AiTwotoneCalendar, AiFillFlag } from 'react-icons/ai';\nimport { BsFillChatLeftTextFill } from 'react-icons/bs';\nimport { Box } from '@mui/material';\n\nimport { useAppDispatch } from 'store/hooks';\nimport {\n setTransitionSidebar,\n setSidebar,\n SidebarType,\n} from 'store/slices/videoRoomSlice';\n\nimport NavBarButton from '../NavBarButton';\nimport { useMixpanelEvents } from 'hooks';\n\ninterface InCallNavBarButtonsProps {\n scheduleSessionLabel: string | undefined;\n goalsLabel: string | undefined;\n chatLabel: string | undefined;\n}\n\nconst InCallNavBarButtons: FC = ({\n scheduleSessionLabel,\n goalsLabel,\n chatLabel,\n}) => {\n const { trackClick } = useMixpanelEvents();\n // Redux\n const dispatch = useAppDispatch();\n\n const handleSidebar = (sidebar: SidebarType) => {\n dispatch(setTransitionSidebar(true));\n dispatch(setSidebar(sidebar));\n };\n\n // TODO Implement calling toggles on GUIDER-580\n const isDisabled = true;\n\n if (isDisabled) return <>;\n\n return (\n ({\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n justifyContent: 'center',\n alignContent: 'center',\n gap: theme.spacing(2),\n })}\n >\n {\n trackClick('Schedule Session Button');\n handleSidebar('session');\n }}\n icon={}\n label={scheduleSessionLabel}\n data-cy={'schedule-session-toggle-button'}\n />\n {\n trackClick('Goals Button');\n handleSidebar('goal');\n }}\n icon={}\n label={goalsLabel}\n data-cy={'goals-toggle-button'}\n />\n {\n trackClick('Chat Button');\n handleSidebar('chat');\n }}\n icon={}\n label={chatLabel}\n data-cy={'chat-toggle-button'}\n />\n \n );\n};\n\nexport default InCallNavBarButtons;\n","import { FC } from 'react';\nimport { AiOutlineClose } from 'react-icons/ai';\nimport { Box } from '@mui/material';\n\nimport NavBarButton from '../NavBarButton';\n\ninterface ExistSessionButtonsProps {\n relationshipId: string;\n exitSessionLabel: string | undefined;\n}\n\nconst ExistSessionButtons: FC = ({\n relationshipId,\n exitSessionLabel,\n}) => {\n const handleEndSession = () => {\n window.location.href = `${window.location.origin}/relationships/${relationshipId}`;\n };\n return (\n \n }\n label={exitSessionLabel}\n onClick={handleEndSession}\n sx={{\n backgroundColor: 'error.main',\n ':hover': {\n backgroundColor: 'error.dark',\n },\n }}\n data-cy={'exit-session-button'}\n />\n \n );\n};\n\nexport default ExistSessionButtons;\n","import { FC } from 'react';\nimport { Box, Skeleton, Typography } from '@mui/material';\nimport { AiOutlineClose } from 'react-icons/ai';\n\nimport { useAppSelector } from 'store/hooks';\n\nimport { getVideoRoomState } from 'store/slices/videoRoomSlice';\n\nimport InCallNavBarButtons from './InCallNavBarButtons';\nimport ExistSessionButtons from './ExistSessionButtons';\nimport NavBarButton from './NavBarButton';\nimport { useMobileMediaQuery } from 'hooks';\n\nexport interface VideoNavBarProps {\n relationshipId: string;\n sessionTitle: string;\n exitSessionLabel: string | undefined;\n scheduleSessionLabel: string | undefined;\n goalsLabel: string | undefined;\n chatLabel: string | undefined;\n}\nconst VideoNavBar: FC = ({\n relationshipId,\n sessionTitle,\n exitSessionLabel,\n scheduleSessionLabel,\n goalsLabel,\n chatLabel,\n}) => {\n // Style\n const isMobile = useMobileMediaQuery();\n // Redux;\n const videoRoomState = useAppSelector(getVideoRoomState);\n const { callCompositePage } = videoRoomState;\n\n const showExitSession = callCompositePage !== ('call' || 'lobby');\n const renderButtons = showExitSession ? (\n \n ) : (\n \n );\n\n if (!sessionTitle)\n return (\n \n \n \n \n\n \n }\n label={exitSessionLabel}\n sx={{\n backgroundColor: 'error.main',\n }}\n data-cy={'exit-session-loading-button'}\n />\n \n \n );\n\n return (\n \n \n {sessionTitle}\n \n {renderButtons}\n \n );\n};\n\nexport default VideoNavBar;\n","import {\n CallCompositeStrings,\n CallWithChatCompositeStrings,\n ChatCompositeStrings,\n ComponentLocale,\n CompositeLocale,\n COMPOSITE_LOCALE_EN_GB,\n COMPOSITE_LOCALE_EN_US,\n COMPOSITE_LOCALE_FR_FR,\n} from '@azure/communication-react';\nimport { SanityLocaleText } from '@guider-global/shared-types';\n\nexport type LocaleCode = keyof SanityLocaleText;\n\ninterface Options {\n strings?: {\n chat?: Partial;\n call?: Partial;\n callWithChat?: Partial;\n };\n component?: Partial;\n}\nexport interface VideoLocale {\n localeCode: LocaleCode;\n options?: Options;\n}\n\nconst mergeComposite = (\n compositeLocale: CompositeLocale,\n options?: Options,\n): CompositeLocale => {\n return {\n strings: {\n chat: {\n ...compositeLocale.strings.chat,\n ...options?.strings?.chat,\n },\n call: {\n ...compositeLocale.strings.call,\n ...options?.strings?.call,\n },\n callWithChat: {\n ...compositeLocale.strings.callWithChat,\n ...options?.strings?.callWithChat,\n },\n },\n component: { ...compositeLocale.component, ...options?.component },\n };\n};\n\nexport const videoLocale = ({\n localeCode,\n options,\n}: VideoLocale): CompositeLocale => {\n switch (localeCode) {\n case 'en_GB':\n return mergeComposite(COMPOSITE_LOCALE_EN_GB, options);\n case 'en_US':\n return mergeComposite(COMPOSITE_LOCALE_EN_US, options);\n case 'fr_CA':\n return mergeComposite(COMPOSITE_LOCALE_FR_FR, options);\n case 'fr_FR':\n return mergeComposite(COMPOSITE_LOCALE_FR_FR, options);\n\n default:\n return mergeComposite(COMPOSITE_LOCALE_EN_GB, options);\n }\n};\n","import { FC, useEffect } from 'react';\nimport {\n AvatarPersonaData,\n CallAdapter,\n CallComposite,\n darkTheme,\n} from '@azure/communication-react';\nimport { useTheme } from '@mui/material';\nimport { useLocation } from 'react-router-dom';\nimport { PartialTheme } from '@fluentui/react';\n\nimport { LocaleCode, videoLocale } from '../VideoLocale';\nimport { useMixpanelEvents, useMobileMediaQuery } from 'hooks';\n\nexport interface VideoCompositeProps {\n callAdapter: CallAdapter;\n localeCode?: string;\n sessionTitle?: string;\n onFetchUserImages?: (userId: string) => Promise;\n}\n\nconst VideoComposite: FC = ({\n callAdapter,\n localeCode = 'en_GB',\n sessionTitle,\n onFetchUserImages,\n}) => {\n const { startTimeISOString, trackScreenTime } = useMixpanelEvents();\n // Location\n const { pathname } = useLocation();\n\n // Styles\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n const formFactor = isMobile ? 'mobile' : 'desktop';\n\n const defaultDarkTheme: PartialTheme = {\n ...darkTheme,\n components: {},\n defaultFontStyle: {\n ...darkTheme.defaultFontStyle,\n fontFamily: theme.typography.fontFamily,\n },\n palette: {\n ...darkTheme.palette,\n },\n };\n\n const typedLocaleCode = localeCode as LocaleCode;\n\n const configurationPageTitle = isMobile ? '' : sessionTitle;\n\n useEffect(() => {\n return () => {\n trackScreenTime('Video Session Duration', {\n Started: startTimeISOString,\n });\n };\n }, [startTimeISOString, trackScreenTime]);\n\n return (\n \n );\n};\n\nexport default VideoComposite;\n","import { forwardRef } from 'react';\n\nimport { Box } from '@mui/material';\n\nimport { useAppSelector } from 'store/hooks';\nimport { getVideoRoomState } from 'store/slices/videoRoomSlice';\n\nconst VideoSideBar = forwardRef((props, ref) => {\n // Redux\n const videoRoomState = useAppSelector(getVideoRoomState);\n\n // TODO add CHAT, SESSION, GOALS\n return (\n \n

{videoRoomState.transitionSidebar}

\n

SideBar

\n

{videoRoomState.sidebar}

\n \n );\n});\n\nexport default VideoSideBar;\n","import { FC, useCallback, useEffect, useState } from 'react';\n\nimport {\n Alert,\n Box,\n CircularProgress,\n Collapse,\n Snackbar,\n} from '@mui/material';\n\nimport { IError } from '@guider-global/shared-types';\n\nimport VideoNavBar, { VideoNavBarProps } from './VideoNavBar';\nimport VideoComposite, { VideoCompositeProps } from './VideoComposite';\nimport VideoSideBar from './VideoSideBar';\n\ninterface VideoRoomProps\n extends VideoNavBarProps,\n Partial {\n sessionTitle: string;\n transitionSidebar?: boolean;\n loading?: boolean;\n errors: IError[];\n}\nconst VideoRoom: FC = ({\n sessionTitle,\n exitSessionLabel,\n relationshipId,\n scheduleSessionLabel,\n goalsLabel,\n chatLabel,\n callAdapter,\n onFetchUserImages,\n localeCode,\n transitionSidebar,\n loading,\n errors,\n}) => {\n // Local State\n const [isErrors, setIsErrors] = useState(false);\n\n // Effects\n useEffect(() => {\n const isErrors = errors.length > 0;\n if (isErrors) {\n setIsErrors(true);\n }\n }, [errors.length]);\n\n const ErrorsAlert = useCallback(() => {\n const clearErrors = () => {\n setIsErrors(false);\n };\n return (\n \n \n {[...errors].map((error) => error.message)}\n \n \n );\n }, [errors, isErrors, loading]);\n\n return (\n \n \n \n \n \n {ErrorsAlert()}\n {!callAdapter || loading ? (\n \n ) : (\n \n )}\n\n \n \n \n \n \n );\n};\n\nexport default VideoRoom;\n","import { Skeleton as MuiSkeleton } from '@mui/material';\n\nexport const Skeleton = () => (\n <>\n \n \n \n \n);\n","import { useProfileImage } from '@guider-global/azure-storage-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { Avatar } from '@mui/material';\n\nimport { useProfiles, useRelationships } from 'hooks';\nimport { useEffect, useState } from 'react';\nimport { IRecipients, getRecipients } from 'utils/getRelationshipRecipients';\n\nexport interface AvatarProps {\n relationshipId: string | undefined;\n isGuide: boolean;\n}\n\nexport function SurveyAvatar({\n relationshipId,\n isGuide,\n}: Readonly) {\n const organizationSlug = getSubDomain();\n\n // Local state\n const [fetchedRelationshipProfiles, setFetchedRelationshipProfiles] =\n useState(false);\n const [otherPartyProfile, setOtherPartyProfile] = useState();\n\n // Profiles\n const { getProfiles, isLoadingProfiles: getIsLoadingProfiles } = useProfiles(\n {},\n );\n const isLoadingProfiles = getIsLoadingProfiles();\n const userId = getProfiles().at(0)?.userId;\n\n // Relationship profiles\n const {\n relationships: getRelationships,\n reqRelationships,\n isLoadingRelationships: getIsLoadingRelationships,\n } = useRelationships({});\n const isLoadingRelationships = getIsLoadingRelationships();\n const relationships = getRelationships();\n\n useEffect(() => {\n if (\n isLoadingProfiles ||\n isLoadingRelationships ||\n !userId ||\n fetchedRelationshipProfiles\n ) {\n return;\n }\n\n const fetchRelationshipProfiles = async () => {\n await reqRelationships({ url: '/relationships' });\n setFetchedRelationshipProfiles(true);\n };\n\n fetchRelationshipProfiles();\n }, [\n reqRelationships,\n organizationSlug,\n isLoadingProfiles,\n isLoadingRelationships,\n userId,\n fetchedRelationshipProfiles,\n ]);\n\n useEffect(() => {\n if (isLoadingProfiles || isLoadingRelationships || !relationshipId) {\n return;\n }\n\n const relationship = relationships.find(\n (relationship) => relationship.id === relationshipId,\n );\n\n if (!relationship) {\n return;\n }\n\n const recipients = getRecipients({\n role: isGuide ? 'guide' : 'trainee',\n relationship,\n userId,\n });\n\n const otherPartyProfile = recipients.at(0);\n setOtherPartyProfile(otherPartyProfile);\n }, [\n isLoadingProfiles,\n isLoadingRelationships,\n relationships,\n userId,\n relationshipId,\n isGuide,\n ]);\n\n const { getProfileImage } = useProfileImage();\n const image = getProfileImage({\n profilePicture: otherPartyProfile?.picture,\n userPicture: otherPartyProfile?.userPicture,\n });\n\n return ;\n}\n","import { FC } from 'react';\n\nimport { Typography, Box } from '@mui/material';\nimport { PortableText } from '@portabletext/react';\n\nimport { SanityTextBlock } from '@guider-global/shared-types';\n\nexport interface LegalNoticesProps {\n title: string | undefined;\n content: SanityTextBlock[];\n}\n\nconst LegalNotices: FC = ({ title, content }) => {\n return (\n ({\n display: 'flex',\n flexFlow: 'column nowrap',\n alignContent: 'center',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.background.default,\n })}\n >\n ({\n display: 'flex',\n flexFlow: 'column nowrap',\n alignContent: 'center',\n alignItems: 'flex-start',\n justifyContent: 'center',\n my: { md: 8, xs: 6 },\n mx: { xs: 2 },\n maxWidth: theme.breakpoints.values.sm,\n })}\n >\n \n {title}\n \n \n \n \n );\n};\n\nexport default LegalNotices;\n"],"names":["SnackbarAlert","sx","severity","alertContent","icon","anchorOrigin","horizontal","vertical","snackbarProps","theme","isMobile","breakpoints","down","bottom","left","right","borderRadius","width","label","dataCy","rest","IconButton","color","backgroundColor","display","flexFlow","alignItems","justifyContent","gap","spacing","fontSize","p","Button","size","disableElevation","variant","scheduleSessionLabel","goalsLabel","chatLabel","trackClick","relationshipId","exitSessionLabel","Box","alignContent","onClick","window","location","href","origin","sessionTitle","videoRoomState","callCompositePage","renderButtons","height","maxWidth","xs","md","px","Typography","component","textOverflow","whiteSpace","overflow","Skeleton","bgcolor","mergeComposite","compositeLocale","options","strings","chat","call","callWithChat","videoLocale","localeCode","callAdapter","onFetchUserImages","startTimeISOString","trackScreenTime","pathname","useTheme","formFactor","defaultDarkTheme","components","defaultFontStyle","fontFamily","typography","palette","typedLocaleCode","configurationPageTitle","useEffect","Started","CallComposite","adapter","callInvitationUrl","onFetchAvatarPersonaData","fluentTheme","locale","forwardRef","props","ref","minWidth","transitionSidebar","sidebar","loading","errors","isErrors","setIsErrors","useState","length","ErrorsAlert","useCallback","clearErrors","Snackbar","open","onClose","mt","Alert","map","error","message","gridTemplateColumns","gridTemplateRows","maxHeight","gridColumn","gridRow","CircularProgress","Collapse","in","orientation","transform","SurveyAvatar","isGuide","organizationSlug","getSubDomain","fetchedRelationshipProfiles","setFetchedRelationshipProfiles","otherPartyProfile","setOtherPartyProfile","getProfiles","isLoadingProfiles","getIsLoadingProfiles","userId","at","relationships","getRelationships","reqRelationships","isLoadingRelationships","getIsLoadingRelationships","url","fetchRelationshipProfiles","relationship","find","id","role","getProfileImage","useProfileImage","image","profilePicture","picture","userPicture","Avatar","src","title","content","background","default","my","mx","values","sm","value"],"sourceRoot":""}