{"version":3,"file":"static/js/app-38e054b8_8d96888fed8cd7f308f5.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/components/SanityIcon/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/ScrollToTop/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/components/Sessions/SessionsDetails/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Settings/SettingsContainer/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Settings/SettingsDescription/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Settings/SettingsSubheader/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/SetupWrapper/index.tsx"],"sourcesContent":["import * as Icons from 'react-icons/md';\n\nexport type MDIcons = keyof typeof Icons;\n\ninterface ISanityIconProps {\n name?: MDIcons;\n}\n\nexport const SanityIcon = ({ name }: ISanityIconProps) => {\n if (!name) return <>;\n const Icon = Icons[name];\n\n return ;\n};\n","// external\nimport { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n\n return null;\n};\n","import React, { useCallback } from 'react';\n\nimport { IProfile, ISession } from '@guider-global/shared-types';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle';\nimport HelpIcon from '@mui/icons-material/Help';\nimport VideoCameraFront from '@mui/icons-material/VideoCameraFront';\nimport { Avatar, Box, Button, Typography } from '@mui/material';\nimport { SiMicrosoftteams } from 'react-icons/si';\n\n// Hooks\nimport { useBaseLanguage } from '@guider-global/sanity-hooks';\n\nimport { useProfileImage } from '@guider-global/azure-storage-hooks';\nimport {\n getFriendlyDateFormat,\n getISOStringWithoutMilliseconds,\n getLanguageFromCMS,\n getSubDomain,\n getTimeFormat,\n} from '@guider-global/front-end-utils';\nimport { defaultPalette, primitiveColors } from '@guider-global/ui';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport { useLocalization, useMixpanelEvents } from 'hooks';\n\nexport interface IAttendee extends Partial {\n userPicture?: string;\n}\n\ninterface ISessionsDetails {\n session: ISession;\n attendees: IAttendee[];\n timezone: string;\n}\n\nconst HAS_ACCEPTED = 0;\nconst IS_TENTATIVE = 1;\nconst HAS_DECLINED = 2;\nconst NO_RESPONSE = 3;\ntype AttendeeResponse = [\n IAttendee,\n (\n | typeof HAS_ACCEPTED\n | typeof IS_TENTATIVE\n | typeof HAS_DECLINED\n | typeof NO_RESPONSE\n ),\n];\n\nexport const SessionsDetails: React.FC = ({\n session,\n attendees,\n timezone,\n}) => {\n //base language\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const { trackScreenTime } = useMixpanelEvents();\n\n const trackSessionJoinButtonClick = useCallback(() => {\n trackScreenTime(\n 'Relationship - Session - Session viewed - Join call button',\n { Started: getISOStringWithoutMilliseconds() },\n );\n }, [trackScreenTime]);\n\n if (!session?.createdAt) {\n return <>;\n }\n const { getProfileImage } = useProfileImage();\n const locale = getLanguageFromCMS(baseLanguage?.language_code);\n\n const formattedTime = getTimeFormat(baseLanguage?.time_format);\n const formattedDate = getFriendlyDateFormat(baseLanguage?.date_format);\n\n const { acceptedEmails, tentativeEmails, declinedEmails } = session;\n const attendeeResponses: AttendeeResponse[] = attendees.map((profile) => {\n const user = session.users.find((user) => user.id === profile.userId);\n const userEmail = user?.email ?? '';\n const hasAccepted = acceptedEmails?.includes(userEmail);\n const isTentative = tentativeEmails?.includes(userEmail);\n const hasDeclined = declinedEmails?.includes(userEmail);\n\n if (hasAccepted) {\n return [profile, HAS_ACCEPTED];\n }\n if (isTentative) {\n return [profile, IS_TENTATIVE];\n }\n if (hasDeclined) {\n return [profile, HAS_DECLINED];\n }\n return [profile, NO_RESPONSE];\n });\n const sortedAttendeeResponses = attendeeResponses.sort(\n ([, responseA], [, responseB]) => responseA - responseB,\n );\n\n const renderAttendees = () =>\n sortedAttendeeResponses.map(([profile, response], index) => {\n const hasAccepted = response === HAS_ACCEPTED;\n const isTentative = response === IS_TENTATIVE;\n const hasDeclined = response === HAS_DECLINED;\n\n let backgroundColor = primitiveColors.black[100];\n if (hasAccepted) {\n backgroundColor = primitiveColors.green[10];\n } else if (isTentative) {\n backgroundColor = primitiveColors.yellow[10];\n } else if (hasDeclined) {\n backgroundColor = primitiveColors.red[10];\n }\n\n const image = getProfileImage({\n profilePicture: profile.picture,\n userPicture: profile?.userPicture,\n });\n return (\n \n \n\n \n {profile.displayName}\n \n {hasAccepted && (\n \n )}\n {isTentative && (\n \n )}\n {hasDeclined && (\n \n )}\n \n );\n });\n\n const renderJoinSessionButton = () => {\n switch (session.videoConferencing) {\n case 'guider':\n return (\n }\n sx={{ backgroundColor: 'white', fontWeight: 600, mt: 1.5 }}\n fullWidth\n onClick={() => {\n trackSessionJoinButtonClick();\n window.open(\n `${\n window.location.protocol + '//' + window.location.host\n }/video/${session.id}`,\n );\n }}\n >\n {\n baseLanguage?.relationships?.sessions?.view_session_modal\n ?.join_with_guider_video_button_label\n }\n \n );\n case 'ms-teams':\n return (\n }\n sx={{ backgroundColor: 'white', fontWeight: 600, mt: 1.5 }}\n fullWidth\n href={session.videoConferencingUrl}\n target=\"_blank\"\n onClick={trackSessionJoinButtonClick}\n >\n {\n baseLanguage?.relationships?.sessions?.view_session_modal\n ?.join_with_ms_teams_button_label\n }\n \n );\n default:\n return;\n }\n };\n\n return (\n <>\n \n {session.name}\n \n \n {baseLanguage?.relationships?.sessions?.view_session_modal?.when_label}\n \n \n {formatInTimeZone(\n new Date(session.start ?? ''),\n timezone,\n `${formattedDate}`,\n { locale },\n )}\n \n \n {formatInTimeZone(\n new Date(session.start ?? ''),\n timezone,\n `${formattedTime}`,\n { locale },\n )}\n {' - '}\n {formatInTimeZone(\n new Date(session.end ?? ''),\n timezone,\n ` ${formattedTime}`,\n { locale },\n )}\n \n {session.location && (\n <>\n \n {\n baseLanguage?.relationships?.sessions?.view_session_modal\n ?.where_label\n }\n \n {session.location}\n \n )}\n {renderJoinSessionButton()}\n \n {\n baseLanguage?.relationships?.sessions?.view_session_modal\n ?.attendees_label\n }\n \n {renderAttendees()}\n \n );\n};\n","import { OrganizationContentContainer } from '@guider-global/ui';\nimport { Typography } from '@mui/material';\nimport { FC, PropsWithChildren } from 'react';\n\nexport interface SettingsContainerProps {\n header?: string;\n}\n\nexport const SettingsContainer: FC<\n PropsWithChildren\n> = ({ children, header }) => {\n return (\n \n \n {children}\n \n );\n};\n\nexport const SettingsContainerHeader: FC<\n Pick\n> = ({ header }) => {\n if (!header) return null;\n return (\n \n {header}\n \n );\n};\n","// external\nimport { FC } from 'react';\nimport { Typography } from '@mui/material';\n\nexport interface SettingsDescriptionProps {\n description: string | undefined;\n}\n\nexport const SettingsDescription: FC = ({\n description,\n}) => {\n return (\n <>\n \n {description}\n \n \n );\n};\n","// external\nimport { FC } from 'react';\nimport { Skeleton, Typography } from '@mui/material';\n\nexport interface SettingsSubheaderProps {\n subheader: string | undefined;\n}\n\nexport const SettingsSubheader: FC = ({\n subheader,\n}) => {\n if (!subheader)\n return (\n <>\n \n \n Empty subheader\n \n \n \n );\n return (\n <>\n \n {subheader}\n \n \n );\n};\n","import { LoadingElement } from 'components';\nimport { useLocalization } from 'hooks';\nimport {\n FC,\n PropsWithChildren,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { useAppDispatch } from 'store/hooks';\nimport {\n RegistrationTypes,\n showAppAlert,\n startAppLoading,\n stopAppLoading,\n updateRegistrationType,\n} from 'store/slices/appSlice';\nimport { useIntercom } from 'react-use-intercom';\nimport {\n useBaseLanguage,\n useSanityOrganization,\n useSanityOrganizationPrograms,\n useSettings,\n} from '@guider-global/sanity-hooks';\nimport { ThemeContext } from 'context/theme';\nimport { createTheme } from '@mui/material';\nimport { datadogLogs } from '@guider-global/datadog';\nlet { version: REACT_APP_VERSION } = require('../../../package.json');\n\nexport interface SetupWrapperProps {\n organizationSlug: string;\n organizationGetSilently?: boolean;\n settingsGetSilently?: boolean;\n organizationProgramsGetSilently?: boolean;\n}\n\nexport const SetupWrapper: FC> = ({\n organizationSlug,\n organizationGetSilently = true,\n organizationProgramsGetSilently = true,\n children,\n}) => {\n // Context\n const { theme, setTheme } = useContext(ThemeContext);\n // Local State\n const [loading, setLoading] = useState(true);\n\n // Redux\n const dispatch = useAppDispatch();\n\n // Hooks\n // - Localization\n const { localeCode } = useLocalization(organizationSlug);\n // - Intercom\n const { boot: bootIntercom } = useIntercom();\n // - Sanity BaseLanguage\n\n const { isLoadingBaseLanguage, isErrorBaseLanguage, errorBaseLanguage } =\n useBaseLanguage({ localeCode });\n\n // - Sanity Organization\n const {\n isLoadingSanityOrganization,\n isErrorSanityOrganization,\n isSuccessSanityOrganization,\n getErrorsSanityOrganization,\n getOrganization,\n } = useSanityOrganization({\n organizationSlug,\n getSilently: organizationGetSilently,\n localeCode,\n });\n const loadingSanityOrganization = isLoadingSanityOrganization();\n const errorSanityOrganization = isErrorSanityOrganization();\n const successSanityOrganization = isSuccessSanityOrganization();\n const sanityOrganization = getOrganization();\n const sanityOrganizationAccess = sanityOrganization.access;\n const sanityOrganizationWhiteLabel = sanityOrganization.white_label;\n\n const isLocalAccountRegistration =\n sanityOrganizationAccess.local_account_registration;\n const sanityOrganizationConfigurations =\n sanityOrganizationAccess.configuration_array ?? [];\n const isSSOMultitenants = sanityOrganizationConfigurations.length > 0;\n\n // - Sanity Programs\n const {\n getErrorsSanityPrograms,\n isErrorSanityPrograms,\n isLoadingSanityPrograms,\n isSuccessSanityPrograms,\n } = useSanityOrganizationPrograms({\n organizationSlug,\n getSilently: organizationProgramsGetSilently,\n localeCode,\n });\n const loadingSanityOrganizationPrograms = isLoadingSanityPrograms();\n const errorSanityOrganizationPrograms = isErrorSanityPrograms();\n const successSanityOrganizationPrograms = isSuccessSanityPrograms();\n\n // - Sanity Settings\n const { settings, isErrorSettings, isLoadingSettings, errorSettings } =\n useSettings({ localeCode });\n // Event\n const setCustomTheme = useCallback(() => {\n if (!sanityOrganizationWhiteLabel) return;\n const organizationColorPalette =\n sanityOrganizationWhiteLabel.color_palette_config.color_palette ?? {};\n const organizationColors = Object.entries(organizationColorPalette).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: {\n main: value.hex,\n transparent: `rgba(${value.rgb.r}, ${value.rgb.g}, ${value.rgb.b}, 0.1)`,\n },\n }),\n {},\n );\n const customTheme = createTheme({\n ...theme,\n palette: {\n ...theme.palette,\n ...organizationColors,\n },\n });\n setTheme(customTheme);\n return customTheme;\n }, [setTheme, theme, sanityOrganizationWhiteLabel]);\n\n useEffect(() => {\n bootIntercom({\n customAttributes: {\n organizationSlug,\n appVersion: REACT_APP_VERSION,\n },\n });\n });\n\n useEffect(() => {\n if (\n (loadingSanityOrganization && !errorSanityOrganization) ||\n (isLoadingBaseLanguage && !errorBaseLanguage) ||\n (isLoadingSettings && !errorSettings) ||\n (loadingSanityOrganizationPrograms && !errorSanityOrganizationPrograms)\n ) {\n dispatch(startAppLoading(true));\n setLoading(true);\n }\n if (loading && successSanityOrganization) {\n setCustomTheme();\n }\n if (\n successSanityOrganization &&\n !errorBaseLanguage &&\n settings &&\n successSanityOrganizationPrograms\n ) {\n dispatch(stopAppLoading(true));\n setLoading(false);\n }\n }, [\n dispatch,\n errorSanityOrganization,\n errorSanityOrganizationPrograms,\n isErrorSettings,\n loading,\n loadingSanityOrganization,\n loadingSanityOrganizationPrograms,\n isLoadingSettings,\n setCustomTheme,\n settings,\n successSanityOrganization,\n successSanityOrganizationPrograms,\n isLoadingBaseLanguage,\n isErrorBaseLanguage,\n errorBaseLanguage,\n errorSettings,\n ]);\n\n useEffect(() => {\n const handleDispatchedError = (\n errorCode?: string,\n errorMessage?: string,\n ) => {\n const message = errorMessage ?? 'Undefined Error Message';\n console.error('error', { errorCode, errorMessage });\n datadogLogs.logger.error('setupWrapper: ', {\n errorCode,\n errorMessage,\n });\n dispatch(\n showAppAlert({\n severity: 'error',\n message: message,\n timeout: 10000,\n }),\n );\n dispatch(stopAppLoading(true));\n\n setLoading(false);\n };\n\n if (errorBaseLanguage) {\n const baseLanguageErrors = errorBaseLanguage;\n const errorCode = 'SanityBaseLanguage';\n const errorMessage = baseLanguageErrors.message;\n handleDispatchedError(errorCode, errorMessage);\n }\n if (errorSanityOrganization) {\n const organizationErrors = getErrorsSanityOrganization();\n const errorCode = 'SanityOrganization';\n const errorMessage = organizationErrors[0].message;\n handleDispatchedError(errorCode, errorMessage);\n }\n if (isErrorSettings) {\n const errorCodes = 'SanitySettings';\n const errorMessages = `${errorSettings?.message}`;\n handleDispatchedError(errorCodes, errorMessages);\n }\n if (errorSanityOrganizationPrograms) {\n const organizationProgramsErrors = getErrorsSanityPrograms();\n const errorCode = 'SanityOrganizationPrograms';\n const errorMessage = organizationProgramsErrors[0].message;\n handleDispatchedError(errorCode, errorMessage);\n }\n }, [\n dispatch,\n errorSanityOrganization,\n errorSanityOrganizationPrograms,\n errorSettings,\n isErrorSettings,\n getErrorsSanityOrganization,\n getErrorsSanityPrograms,\n errorBaseLanguage,\n ]);\n\n useEffect(() => {\n const handleUpdateRegistrationType = (key: RegistrationTypes) => {\n dispatch(updateRegistrationType(key));\n };\n\n if (loading) return;\n if (isLocalAccountRegistration && isSSOMultitenants) {\n handleUpdateRegistrationType('localAccountsAndSSO');\n return;\n }\n if (isLocalAccountRegistration) {\n handleUpdateRegistrationType('localAccounts');\n return;\n }\n if (isSSOMultitenants) {\n handleUpdateRegistrationType('multitenantsSSO');\n return;\n }\n handleUpdateRegistrationType('none');\n }, [dispatch, isLocalAccountRegistration, isSSOMultitenants, loading]);\n\n useEffect(() => {\n if (loading) return;\n\n const error = errorBaseLanguage;\n\n if (\n error?.message === 'Empty base languages' ||\n window.location.hostname === 'guider.app'\n ) {\n window.location.replace('https://guider-ai.com/');\n }\n }, [loading, errorBaseLanguage]);\n\n if (loading && !localeCode) return ;\n\n return children;\n};\n"],"names":["SanityIcon","name","Icon","ScrollToTop","pathname","useEffect","window","scrollTo","SessionsDetails","session","attendees","timezone","organizationSlug","getSubDomain","localeCode","baseLanguage","useBaseLanguage","trackScreenTime","trackSessionJoinButtonClick","useCallback","Started","getISOStringWithoutMilliseconds","createdAt","getProfileImage","useProfileImage","locale","getLanguageFromCMS","language_code","formattedTime","getTimeFormat","time_format","formattedDate","getFriendlyDateFormat","date_format","acceptedEmails","tentativeEmails","declinedEmails","sortedAttendeeResponses","map","profile","_a","user","users","find","id","userId","userEmail","email","hasAccepted","includes","isTentative","hasDeclined","sort","responseA","responseB","Typography","sx","fontSize","fontWeight","variant","mt","relationships","sessions","view_session_modal","when_label","formatInTimeZone","Date","start","end","location","where_label","_b","_c","_d","_e","_f","videoConferencing","Button","component","color","size","startIcon","VideoCameraFront","backgroundColor","fullWidth","onClick","open","protocol","host","join_with_guider_video_button_label","href","videoConferencingUrl","target","join_with_ms_teams_button_label","renderJoinSessionButton","mb","attendees_label","response","index","image","profilePicture","picture","userPicture","Box","width","display","justifyContent","alignItems","borderRadius","padding","Avatar","src","height","mx","displayName","CheckCircle","main","Help","Cancel","SettingsContainer","children","header","SettingsContainerHeader","SettingsDescription","description","SettingsSubheader","subheader","Skeleton","version","REACT_APP_VERSION","SetupWrapper","organizationGetSilently","organizationProgramsGetSilently","theme","setTheme","useContext","loading","setLoading","useState","dispatch","boot","bootIntercom","isLoadingBaseLanguage","isErrorBaseLanguage","errorBaseLanguage","isLoadingSanityOrganization","isErrorSanityOrganization","isSuccessSanityOrganization","getErrorsSanityOrganization","getOrganization","useSanityOrganization","getSilently","loadingSanityOrganization","errorSanityOrganization","successSanityOrganization","sanityOrganization","sanityOrganizationAccess","access","sanityOrganizationWhiteLabel","white_label","isLocalAccountRegistration","local_account_registration","isSSOMultitenants","configuration_array","length","getErrorsSanityPrograms","isErrorSanityPrograms","isLoadingSanityPrograms","isSuccessSanityPrograms","useSanityOrganizationPrograms","loadingSanityOrganizationPrograms","errorSanityOrganizationPrograms","successSanityOrganizationPrograms","settings","isErrorSettings","isLoadingSettings","errorSettings","useSettings","setCustomTheme","organizationColorPalette","color_palette_config","color_palette","organizationColors","Object","entries","reduce","acc","key","value","hex","transparent","rgb","r","g","b","customTheme","palette","customAttributes","appVersion","handleDispatchedError","errorCode","errorMessage","message","console","error","datadogLogs","severity","timeout","handleUpdateRegistrationType","hostname","replace"],"sourceRoot":""}