{"version":3,"file":"static/js/app-d6b56d54_8a91a82750c04a3dd707.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/pages/SettingsPage/SettingsReviewsPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/TeamsAuthPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/RegistrationPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/SettingsPage/SettingsAccountPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/SettingsPage/SettingsCommunicationPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/SettingsPage/SettingsIntegrationsPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/SettingsPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/SettingsPage/SettingsProfilePage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/SettingsPage/SettingsAvailabilityPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/RegisterAccountPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/RelationshipsPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/VideoPage/index.tsx"],"sourcesContent":["import { useProfiles } from '@guider-global/front-end-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n buildSanityImageUrl,\n useBaseLanguage,\n useSettings,\n} from '@guider-global/sanity-hooks';\nimport { Stack, theme, TextStack, SkeletonStack } from '@guider-global/ui';\nimport { TabContext, TabList, TabPanel } from '@mui/lab';\nimport { Tab, ThemeProvider, useTheme } from '@mui/material';\nimport { ReviewsContainer } from 'containers/Settings/ReviewsContainer';\nimport { useLocalization, useReviews } from 'hooks';\nimport { useState } from 'react';\nimport { deepMerge } from 'utils';\n\nexport function SettingsReviewsPage() {\n // State\n\n const [value, setValue] = useState('1');\n // Hooks\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const organizationTheme = useTheme();\n const palette = deepMerge(theme.appTheme.palette, organizationTheme.palette);\n\n // Settings\n const { settings, isLoadingSettings } = useSettings({\n localeCode,\n });\n\n const emptyStateAvatar = buildSanityImageUrl({\n source: settings?.static_media?.relationships?.no_relationships ?? '',\n width: 180,\n });\n\n // Base Language\n\n const { baseLanguage, isLoadingBaseLanguage } = useBaseLanguage({\n localeCode,\n });\n const reviewsText = baseLanguage?.settings?.reviews;\n\n // Profile\n\n const { profiles, isLoadingProfiles } = useProfiles({});\n const profile = profiles?.at(0);\n\n // Reviews\n const { reviews, isLoadingReviews } = useReviews({});\n\n const reviewsReceived = reviews?.filter(\n (review) => review.reviewedProfile.id === profile?.id,\n );\n const reviewsAuthored = reviews?.filter(\n (review) => review.authorProfile.id === profile?.id,\n );\n\n // Loading\n\n const isLoading = isLoadingReviews || isLoadingProfiles || isLoadingSettings;\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n if (isLoadingBaseLanguage) return <>;\n\n return (\n \n \n \n {isLoading && (\n \n )}\n {!isLoading && (\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n );\n}\n","import { Box } from '@mui/material';\nimport { PageWrapper } from 'components';\n\nimport { authentication } from '@microsoft/teams-js';\n\nexport const TeamsAuthPage = () => {\n const urlParams = new URLSearchParams(window.location.search);\n const code = urlParams.get('code');\n\n if (code) {\n authentication.notifySuccess(code);\n } else {\n authentication.notifyFailure(\n 'Authorization code not found in redirect URI.',\n );\n }\n\n return (\n \n \n \n );\n};\n","import { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n buildSanityImageUrl,\n useOrganization,\n} from '@guider-global/sanity-hooks';\nimport { Avatar, Header, theme } from '@guider-global/ui';\nimport { Box, ThemeProvider, useTheme } from '@mui/system';\nimport { LanguageMenu } from 'components';\nimport { RegistrationContainer } from 'containers';\nimport { useLocalization } from 'hooks';\nimport { useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useAppDispatch } from 'store/hooks';\nimport { hideNavbar, showNavbar } from 'store/slices/appSlice';\nimport { deepMerge } from 'utils';\n\nexport function RegistrationPage() {\n const organizationSlug = getSubDomain();\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n useEffect(() => {\n dispatch(hideNavbar(true));\n return () => {\n dispatch(showNavbar(true));\n };\n }, [dispatch]);\n\n const { organization } = useOrganization({\n organizationSlug,\n });\n\n const { localeCode, handleLanguageChange } =\n useLocalization(organizationSlug);\n\n const organizationTheme = useTheme();\n const combinedPalette = deepMerge(\n theme.appTheme.palette,\n organizationTheme.palette,\n );\n\n return (\n \n \n }\n onBackButtonClick={() => navigate(-1)}\n endAdornment={\n \n }\n />\n \n \n \n \n );\n}\n","// external\nimport { Alert, Box, CircularProgress, Divider, Grow } from '@mui/material';\nimport { FC, useCallback, useEffect, useState } from 'react';\nimport { useIntercom } from 'react-use-intercom';\n\n// Internal Hooks\nimport { useLocalization, useMobileMediaQuery } from 'hooks';\nimport { useBaseLanguage, useOrganization } from '@guider-global/sanity-hooks';\nimport { useAxios } from '@guider-global/redux-axios-hooks';\n\n// Utils\nimport { getSubDomain } from '@guider-global/front-end-utils';\n\n// Local components\nimport { SettingsDescription, SettingsSubheader } from 'components';\nimport { BaseOutlinedTextField, BaseLoadingButton } from '@guider-global/ui';\nimport { AccountPreferencesForm } from 'forms';\nimport { useUsers } from '@guider-global/front-end-hooks';\n\nconst { REACT_APP_AUTH0_CLIENT_ID, REACT_APP_AUTH0_DOMAIN } = process.env;\n\nexport const SettingsAccountPage: FC = () => {\n // Styles\n const isMobile = useMobileMediaQuery();\n // Utils\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n // Internal Hooks\n\n // - Intercom\n const { showNewMessage: showNewMessageIntercom } = useIntercom();\n\n // - Axios\n const { requestCallback } = useAxios({});\n // - User\n const { users, isLoadingUsers } = useUsers({});\n\n const user = users?.at(0);\n\n const usersEmail = user?.email;\n const auth0UserId = user?.auth0UserId;\n const isSSO = Boolean(auth0UserId) && !auth0UserId?.includes('auth0');\n\n // - Base language\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const account = baseLanguage?.settings?.account ?? {};\n const {\n change_email: changeEmail,\n change_password: changePassword,\n preferences,\n } = account;\n const {\n change_email_button_label: changeEmailButtonLabel,\n section_title: changeEmailSectionTitle,\n sso_user_alert_message: ssoUserAlertMessageEmail,\n change_email_input_label: changeEmailInputLabel,\n change_email_description: changeEmailDescription,\n } = changeEmail ?? {};\n const {\n change_password_button_label: changePasswordButtonLabel,\n section_title: changePasswordSectionTitle,\n server_error_alert_text: serverErrorAlertTextPassword,\n sso_user_alert_message: ssoUserAlertMessagePassword,\n success_alert_text: successAlertTextPassword,\n change_password_description: changePasswordDescription,\n } = changePassword ?? {};\n const { section_title: preferencesSectionTitle } = preferences ?? {};\n\n // - Sanity organization\n const { organization } = useOrganization({\n organizationSlug,\n });\n const organizationId = organization?.basic_info?.auth0_organization_id;\n\n // Local state\n const [loadingButton, setLoadingButton] = useState(false);\n const [alertEmail, setAlertEmail] =\n useState>();\n const [alertPassword, setAlertPassword] =\n useState>();\n\n // Effects\n useEffect(() => {\n if (!isSSO) return;\n setAlertEmail({\n severity: 'warning',\n message: ssoUserAlertMessageEmail,\n show: true,\n });\n setAlertPassword({\n severity: 'warning',\n message: ssoUserAlertMessagePassword,\n show: true,\n });\n }, [isSSO, ssoUserAlertMessageEmail, ssoUserAlertMessagePassword]);\n\n // Events\n const handlePasswordReset = useCallback(async () => {\n setLoadingButton(true);\n try {\n if (!REACT_APP_AUTH0_DOMAIN || !REACT_APP_AUTH0_CLIENT_ID) {\n throw new Error('Missing Env value');\n }\n const request = await requestCallback({\n method: 'POST',\n url: `https://${REACT_APP_AUTH0_DOMAIN}/dbconnections/change_password`,\n headers: { 'content-type': 'application/json' },\n data: {\n // eslint-disable-next-line camelcase\n client_id: REACT_APP_AUTH0_CLIENT_ID,\n email: usersEmail,\n connection: 'Username-Password-Authentication',\n organization: organizationId,\n },\n });\n if (request.status === 200) {\n setAlertPassword({\n severity: 'info',\n message: successAlertTextPassword,\n show: true,\n });\n }\n if (request.status >= 400) {\n console.log(request);\n setAlertPassword({\n severity: 'error',\n message: serverErrorAlertTextPassword,\n show: true,\n });\n }\n } catch (err: unknown) {\n console.log(err);\n setAlertPassword({\n severity: 'error',\n message: serverErrorAlertTextPassword,\n show: true,\n });\n } finally {\n setLoadingButton(false);\n }\n }, [\n organizationId,\n requestCallback,\n serverErrorAlertTextPassword,\n successAlertTextPassword,\n usersEmail,\n ]);\n\n const handleEmailChangeRequest = useCallback(() => {\n showNewMessageIntercom('I would like to change my account email address.');\n }, [showNewMessageIntercom]);\n\n if (isLoadingUsers) {\n return (\n \n ;\n \n );\n }\n\n return (\n \n {/* Preferences */}\n \n\n \n\n \n\n {/* Email */}\n \n \n\n \n \n \n\n \n\n \n {changeEmailButtonLabel}\n \n\n \n\n {/* Password */}\n \n\n \n\n \n\n \n {changePasswordButtonLabel}\n \n \n );\n};\n\nexport default SettingsAccountPage;\n\ninterface SettingsAccountAlertProps {\n severity?: 'error' | 'info' | 'success' | 'warning';\n message?: string;\n show?: boolean;\n}\n\nconst SettingsAccountAlert: FC = ({\n severity = 'warning',\n message,\n show,\n}) => {\n return (\n \n \n {message}\n \n \n );\n};\n","// external\nimport { Typography } from '@mui/material';\n\nexport const SettingsCommunicationPage = () => (\n <>\n \n This a placeholder for the Communication Settings page.\n \n \n);\n\nexport default SettingsCommunicationPage;\n","// external\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useBaseLanguage } from '@guider-global/sanity-hooks/lib/hooks';\nimport { Box, Typography } from '@mui/material';\n//components\nimport { IntegrationsList } from 'components';\nimport { useLocalization } from 'hooks';\n\nexport const SettingsIntegrationsPage = () => {\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n return (\n <>\n \n \n {baseLanguage?.settings?.integrations?.section_description}\n \n \n \n \n );\n};\n","import React, { useEffect } from 'react';\n// external\nimport { Box } from '@mui/material';\nimport { BsCalendar } from 'react-icons/bs';\nimport { MdCode, MdPerson, MdReviews, MdShield } from 'react-icons/md';\nimport { Outlet, useLocation, useNavigate } from 'react-router-dom';\n\n// store\n\n// components\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useOrganization, useBaseLanguage } from '@guider-global/sanity-hooks';\nimport {\n PageHeader,\n PageSidebar,\n PageWrapper,\n SettingsContainer,\n} from 'components';\nimport { useLocalization } from 'hooks';\n\nexport const SettingsPage: React.FC = () => {\n // Router\n const location = useLocation();\n const navigate = useNavigate();\n\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { organization } = useOrganization({ organizationSlug, localeCode });\n // Base language\n const { baseLanguage } = useBaseLanguage({\n localeCode,\n });\n\n const settings = baseLanguage?.settings;\n const navigation = baseLanguage?.navigation;\n const userActionMenu = navigation?.user_action_menu;\n const {\n communication,\n profile,\n integrations: integrationsBaseLanguage,\n title,\n description,\n } = settings ?? {};\n\n // Organization\n const whiteLabel = organization?.white_label;\n const enabledIntegrations = whiteLabel?.integrations;\n const { video_conferencing: videoConferencing, calendar } =\n enabledIntegrations ?? {};\n const isIntegrationEnabled =\n videoConferencing?.active_directory_teams ||\n calendar?.active_directory_outlook_calendar;\n\n useEffect(() => {\n const isPathIntegration = location.pathname.includes('/integrations');\n if (!isIntegrationEnabled && isPathIntegration) {\n navigate('/settings/profile');\n }\n }, [isIntegrationEnabled, location.pathname, navigate]);\n\n const integrationSidebardItem = isIntegrationEnabled\n ? [\n {\n primaryText: userActionMenu?.integrations_label,\n icon: MdCode,\n path: '/settings/integrations',\n selected: location.pathname.includes('/integrations'),\n dataCyLabel: 'pages_settingsPage_integrations',\n },\n ]\n : [];\n\n const pageSidebarItems = [\n {\n primaryText: userActionMenu?.profile_link_label,\n icon: MdPerson,\n path: '/settings/profile',\n selected: location.pathname.includes('/profile'),\n dataCyLabel: 'pages_settingsPage_profile',\n },\n {\n primaryText: userActionMenu?.account_link_label,\n icon: MdShield,\n path: '/settings/account',\n selected: location.pathname.includes('/account'),\n dataCyLabel: 'pages_settingsPage_account',\n },\n ...integrationSidebardItem,\n {\n primaryText: userActionMenu?.availability_link_label,\n icon: BsCalendar,\n path: '/settings/availability',\n selected: location.pathname.includes('/availability'),\n dataCyLabel: 'pages_settingsPage_availability',\n },\n {\n primaryText: userActionMenu?.reviews_link_label,\n icon: MdReviews,\n path: '/settings/reviews',\n selected: location.pathname.includes('/reviews'),\n dataCyLabel: 'pages_settingsPage_reviews',\n },\n ];\n\n const selectHeader = (location: string): string | undefined => {\n const locationIncludesPathname = (pathname: string) =>\n location.includes(pathname);\n\n if (locationIncludesPathname('/profile'))\n return profile?.profile_details?.section_title;\n if (locationIncludesPathname('/account')) return '';\n if (locationIncludesPathname('/communication'))\n return communication?.section_title;\n if (locationIncludesPathname('/integrations'))\n return integrationsBaseLanguage?.section_title;\n return '';\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { useProfiles } from '@guider-global/front-end-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { theme } from '@guider-global/ui';\nimport { ThemeProvider, useTheme } from '@mui/material';\nimport { ProfilePictureForm } from 'forms';\nimport { EditProfileForm } from 'forms/EditProfileForm';\nimport { useLocalization } from 'hooks';\nimport { deepMerge } from 'utils';\n\nexport function SettingsProfilePage() {\n // Theme\n const organizationTheme = useTheme();\n const palette = deepMerge(theme.appTheme.palette, organizationTheme.palette);\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n // Profiles\n const { profiles } = useProfiles({});\n\n const profile = profiles?.at(0);\n\n return (\n \n \n \n \n );\n}\n","import { getSubDomain } from '@guider-global/front-end-utils';\nimport { useBaseLanguage } from '@guider-global/sanity-hooks';\nimport { Box } from '@mui/material';\nimport { SettingsDescription, SettingsSubheader } from 'components';\nimport { AvailabilityForm } from 'forms';\nimport { useLocalization } from 'hooks';\n\nexport function SettingsAvailabilityPage() {\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const availability = baseLanguage?.settings?.availability;\n const {\n section_title: sectionTitle,\n section_description: sectionDescription,\n } = availability ?? {};\n\n return (\n .MuiTypography-h6': {\n mb: 0.5,\n },\n }}\n >\n \n \n\n \n \n );\n}\n","// external\nimport { ChangeEvent, FC, useCallback, useEffect, useState } from 'react';\nimport { useAuth0 } from '@auth0/auth0-react';\nimport { Box, Button, Divider } from '@mui/material';\nimport { useNavigate, useSearchParams } from 'react-router-dom';\n\n// hooks\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\nimport { useRegisterInvite } from 'hooks/useRegisterInvite';\nimport {\n SessionStorageKeys,\n useLocalization,\n useMixpanelEvents,\n useSessionStorageTyped,\n} from 'hooks';\nimport { useBaseLanguage, useOrganization } from '@guider-global/sanity-hooks';\n\n// Store\nimport {\n selectRegistrationType,\n showAppAlert,\n showAppError,\n toggleModal,\n} from 'store/slices/appSlice';\n\n// Internal\nimport {\n RegisterLocalAccount,\n RegisterSSO,\n RenderDividerMessage,\n TypographyAction,\n} from 'components';\n\nimport { validateEmail } from 'utils/validateEmail';\nimport { BaseHeader, OrganizationContentContainer } from '@guider-global/ui';\n\n// Types\nimport { URLQueryParams } from '@guider-global/shared-types';\n\n// Utils\nimport { getOrigin, getSubDomain } from '@guider-global/front-end-utils';\n\nconst { REACT_APP_BASE_API_URL, REACT_APP_AUTH0_CLIENT_ID } = process.env;\nconst DATA_CY_PAGE = 'register_account';\n\nexport const RegisterAccountPage: FC = () => {\n // Auth0\n const { loginWithRedirect } = useAuth0();\n // Redux\n const registrationPageType = useAppSelector(selectRegistrationType);\n const dispatch = useAppDispatch();\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n // Router\n const navigate = useNavigate();\n const [urlSearchParams] = useSearchParams();\n\n // Util\n const origin = getOrigin();\n\n // Hooks\n const { trackScreenTime } = useMixpanelEvents();\n // Session storage\n const [, setRedirect] = useSessionStorageTyped(\n SessionStorageKeys.REGISTER_REDIRECT,\n );\n // - Sanity base language\n const {\n isLoadingBaseLanguage,\n baseLanguage,\n isErrorBaseLanguage,\n errorBaseLanguage,\n } = useBaseLanguage({ localeCode });\n\n const baseLanguageLegalNotices = baseLanguage?.legal_notices;\n const privacyPolicyLabel =\n baseLanguageLegalNotices?.privacy_policy?.privacy_policy_label;\n const termsOfServiceLabel =\n baseLanguageLegalNotices?.terms_of_service?.terms_of_service_label;\n const baseLanguageRegistration = baseLanguage?.registration;\n const baseLanguageCommon = baseLanguageRegistration?.common;\n const registrationPageTitle = baseLanguageRegistration?.common?.title;\n\n const baseLanguageMultitenantSSO = baseLanguageRegistration?.multitenant_SSO;\n const baseLanguageRegistrationLocalAccounts =\n baseLanguageRegistration?.local_accounts;\n const baseLanguageRegistrationSSOAndLocalAccounts =\n baseLanguageRegistration?.sso_and_local_accounts;\n\n // - Sanity Organization\n const { organization } = useOrganization({\n organizationSlug,\n });\n\n const organizationAccess = organization?.access;\n const organizationEmailVerification = organizationAccess?.email_verification;\n const organizationConfigurations =\n organizationAccess?.configuration_array ?? [];\n const basicInfo = organization?.basic_info;\n const organizationId = basicInfo?.auth0_organization_id;\n const organizationName = basicInfo?.name;\n const landingPage = organization?.landing_page;\n const isLandingPageEnabled = landingPage?.enable_landing_page;\n\n const {\n error: inviteError,\n inviteUrl,\n loading: inviteLoading,\n handleGetInvite,\n } = useRegisterInvite();\n\n // Local State\n const [eventLoading, setEventLoading] = useState(true);\n\n const [formErrors, setFormErrors] = useState(false);\n const [email, setEmail] = useState();\n const [disableButton, setDisableButton] = useState(true);\n\n const loading = eventLoading || inviteLoading || isLoadingBaseLanguage;\n\n // Effects\n useEffect(() => {\n const redirectAddress = urlSearchParams.get(URLQueryParams.REDIRECT);\n if (!redirectAddress) return;\n setRedirect(redirectAddress);\n }, [setRedirect, urlSearchParams]);\n\n useEffect(() => {\n if (!email) return;\n const isEmail = validateEmail(email);\n if (!isEmail || !email) {\n setFormErrors(true);\n return;\n }\n setFormErrors(false);\n setDisableButton(false);\n }, [email]);\n useEffect(() => {\n if (REACT_APP_BASE_API_URL && REACT_APP_AUTH0_CLIENT_ID) {\n setEventLoading(false);\n return;\n }\n dispatch(\n showAppError({\n code: '418',\n message: 'Missing Env values',\n visible: true,\n overlay: true,\n }),\n );\n }, [dispatch]);\n\n useEffect(() => {\n if (!inviteUrl) {\n return;\n }\n const invite = new URL(inviteUrl);\n const invitation = invite.searchParams.get('invitation');\n const organizationId = invite.searchParams.get('organization');\n const organizationName = invite.searchParams.get('organization_name');\n if (!invitation || !organizationId || !organizationName) {\n return;\n }\n loginWithRedirect({\n authorizationParams: {\n organization: organizationId,\n invitation,\n redirect_uri: `${origin}/login`,\n },\n });\n }, [inviteUrl, loginWithRedirect, origin]);\n\n useEffect(() => {\n if (inviteError) {\n dispatch(\n showAppAlert({\n severity: 'error',\n message: inviteError,\n }),\n );\n }\n }, [dispatch, inviteError]);\n\n useEffect(() => {\n if (!isErrorBaseLanguage) return;\n const errors = errorBaseLanguage;\n console.warn(errors);\n dispatch(\n showAppError({\n code: '418',\n message: 'Error occurred getting base languages',\n visible: true,\n overlay: true,\n }),\n );\n }, [dispatch, errorBaseLanguage, isErrorBaseLanguage]);\n\n useEffect(() => {\n if (loading) return;\n if (registrationPageType === 'none') {\n navigate('/error?error=404');\n }\n }, [loading, navigate, registrationPageType]);\n\n // Events\n const trackAuthSelect = useCallback(() => {\n trackScreenTime('Registration - Auth / Select Email or SSO');\n }, [trackScreenTime]);\n\n const handleEmailRegister = useCallback(() => {\n const isEmail = validateEmail(email);\n if (!isEmail || !email) {\n setFormErrors(true);\n return;\n }\n\n trackAuthSelect();\n setFormErrors(false);\n\n handleGetInvite({\n organizationId: organizationId ?? '',\n organizationName: organizationName ?? '',\n email,\n });\n }, [\n email,\n trackAuthSelect,\n handleGetInvite,\n organizationId,\n organizationName,\n ]);\n\n const handleSSORegister = useCallback(\n async (connection: string, organizationId: string) => {\n trackAuthSelect();\n setEventLoading(true);\n await loginWithRedirect({\n authorizationParams: {\n connection,\n organization: organizationId,\n },\n async openUrl(url) {\n window.location.href = url;\n },\n });\n setEventLoading(false);\n },\n [trackAuthSelect, loginWithRedirect],\n );\n\n const handleEmailChange = useCallback(\n (event: ChangeEvent) => {\n setEmail(event.target.value);\n },\n [],\n );\n\n const handlePrivacyModal = useCallback(() => {\n dispatch(toggleModal('privacyPolicy'));\n }, [dispatch]);\n\n const handleTermsOfServiceModal = useCallback(() => {\n dispatch(toggleModal('termsOfService'));\n }, [dispatch]);\n\n const handleLogin = useCallback(() => {\n loginWithRedirect({\n authorizationParams: {\n organization: organizationId,\n redirect_uri: `${origin}/login`,\n },\n });\n }, [loginWithRedirect, organizationId, origin]);\n\n const handleBack = useCallback(() => {\n trackScreenTime(\n 'Registration - Auth / Select Email or SSO - Go Back Button',\n );\n window.history.back();\n }, [trackScreenTime]);\n\n // Derivations\n\n const getSubheader = useCallback(() => {\n switch (registrationPageType) {\n case 'localAccountsAndSSO':\n return baseLanguageRegistrationSSOAndLocalAccounts?.description;\n case 'localAccounts':\n return baseLanguageRegistrationLocalAccounts?.description;\n case 'multitenantsSSO':\n return baseLanguageMultitenantSSO?.description;\n default:\n return '';\n }\n }, [\n baseLanguageMultitenantSSO?.description,\n baseLanguageRegistrationLocalAccounts?.description,\n baseLanguageRegistrationSSOAndLocalAccounts?.description,\n registrationPageType,\n ]);\n const subheader = getSubheader();\n\n if (registrationPageType === 'none') {\n return <>;\n }\n\n return (\n <>\n \n \n \n\n \n\n \n\n \n \n \n {baseLanguageCommon?.legal_notice_label}\n \n \n \n \n \n {baseLanguageCommon?.have_account_label}\n \n \n \n {isLandingPageEnabled && (\n \n {baseLanguage?.globals?.common?.go_back_button_label}\n \n )}\n \n );\n};\n","// external\nimport { Box, Button, Typography, useTheme } from '@mui/material';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// components\nimport {\n RelationshipDetails,\n RelationshipsArchivedList,\n RelationshipsList,\n} from 'components';\n\n// store\n\n// hooks\nimport { useLocalization, useMixpanelEvents, useMobileMediaQuery } from 'hooks';\n\nimport {\n useMemberships,\n useRelationships,\n} from '@guider-global/front-end-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n buildSanityImageUrl,\n useBaseLanguage,\n useSettings,\n} from '@guider-global/sanity-hooks';\n\nexport const RelationshipsPage: React.FC = () => {\n const [isNewRelationshipLoading, setIsNewRelationshipLoading] =\n useState(false);\n const navigate = useNavigate();\n const { relationshipId } = useParams();\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { settings } = useSettings({\n localeCode,\n });\n useMixpanelEvents({ navigationEventName: 'Relationships' });\n\n const { baseLanguage } = useBaseLanguage({ localeCode });\n const { relationships, isLoadingRelationships, isMutatingRelationships } =\n useRelationships({\n options: { keepPreviousData: false },\n });\n\n const activeRelationships = relationships?.filter(\n (relationship) => !relationship.isConcluded,\n );\n\n useMemberships({});\n\n useEffect(() => {\n setIsNewRelationshipLoading(true);\n\n const timer = setTimeout(() => {\n setIsNewRelationshipLoading(false);\n });\n\n return () => clearTimeout(timer);\n }, [relationshipId]);\n\n const currentRelationship = relationships?.find(\n (relationship) => relationship.id === relationshipId,\n );\n const currentRelationshipArchived = currentRelationship?.isConcluded;\n\n const firstActiveRelationshipId = activeRelationships?.at(0)?.id;\n\n useEffect(() => {\n if (isMutatingRelationships) return;\n if (isLoadingRelationships) return;\n if (relationshipId) return;\n if (isMobile) return;\n if (!firstActiveRelationshipId) return;\n navigate(`./${firstActiveRelationshipId}`);\n }, [\n relationshipId,\n firstActiveRelationshipId,\n isMobile,\n navigate,\n currentRelationship,\n isLoadingRelationships,\n isMutatingRelationships,\n relationships,\n ]);\n\n const archivedRelationships = useMemo(\n () =>\n relationships?.filter((relationship) => relationship.isConcluded) || [],\n [relationships],\n );\n\n const renderSidebar = useCallback(() => {\n if (!isMobile || (!relationshipId && relationships?.length !== 0)) {\n return (\n \n \n {baseLanguage?.relationships?.relationships_list?.title}\n \n \n \n \n );\n }\n }, [\n activeRelationships,\n archivedRelationships,\n baseLanguage?.relationships?.relationships_list?.title,\n isLoadingRelationships,\n isMobile,\n relationshipId,\n relationships?.length,\n theme.palette.divider,\n ]);\n\n const renderNoRelationships = useCallback(() => {\n if (isLoadingRelationships) return;\n if (currentRelationshipArchived) return;\n\n if (\n (!isMobile && activeRelationships?.length === 0) ||\n (isMobile && relationships?.length === 0)\n ) {\n return (\n \n {isMobile && (\n \n {baseLanguage?.relationships?.relationships_list?.title}\n \n )}\n \n \n \n {baseLanguage?.relationships?.no_relationships_state?.title}\n \n \n {baseLanguage?.relationships?.no_relationships_state?.description}\n \n \n navigate('/programs')}\n color=\"info\"\n fullWidth={isMobile}\n sx={{ mr: isMobile ? 0 : 3, mb: isMobile ? 1.5 : 0 }}\n data-cy=\"no-relationships-container-view-programs-button\"\n >\n {baseLanguage?.globals?.programs?.view_programs_button_label}\n \n navigate('/learn')}\n color=\"info\"\n fullWidth={isMobile}\n data-cy=\"no-relationships-container-explore-learining-hub-button\"\n >\n {baseLanguage?.globals?.common?.explore_learning_hub}\n \n \n \n \n );\n }\n }, [\n isLoadingRelationships,\n currentRelationshipArchived,\n isMobile,\n activeRelationships?.length,\n relationships?.length,\n baseLanguage?.relationships?.relationships_list?.title,\n baseLanguage?.relationships?.no_relationships_state?.title,\n baseLanguage?.relationships?.no_relationships_state?.description,\n baseLanguage?.globals?.programs?.view_programs_button_label,\n baseLanguage?.globals?.common?.explore_learning_hub,\n settings?.static_media.relationships.empty_state_illustration,\n navigate,\n ]);\n\n return (\n \n {renderSidebar()}\n\n {currentRelationship && !isNewRelationshipLoading && (\n \n )}\n\n {renderNoRelationships()}\n \n );\n};\n\nexport default RelationshipsPage;\n","import {\n AzureCommunicationTokenCredential,\n CommunicationUserIdentifier,\n} from '@azure/communication-common';\nimport {\n AvatarPersonaData,\n AzureCommunicationCallAdapterArgs,\n CallAdapterState,\n fromFlatCommunicationIdentifier,\n useAzureCommunicationCallAdapter,\n} from '@azure/communication-react';\nimport { FC, useEffect, useMemo, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\n\nimport { IError } from '@guider-global/shared-types';\n\nimport { useBaseLanguage } from '@guider-global/sanity-hooks';\nimport { useVideoTokens } from 'hooks/useVideoTokens';\nimport { useVideos } from 'hooks/useVideos';\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\n\nimport {\n getVideoRoomState,\n setCallCompositePage,\n} from 'store/slices/videoRoomSlice';\n\nimport { usePicture } from '@guider-global/azure-storage-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport VideoRoom from 'components/VideoRoom';\nimport { useLocalization, useVideoParticipants } from 'hooks';\nimport {\n useProfiles,\n useRelationships,\n useUsers,\n} from '@guider-global/front-end-hooks';\n\nconst VideoPage: FC = () => {\n // Organization and Base language\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({\n localeCode,\n options: {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n });\n\n // Local State\n const [joinedAt, setJoinedAt] = useState();\n const [submittedTimeInCall, setSubmittedTimeInCall] =\n useState(false);\n const [error, setError] = useState([]);\n\n // React Router\n const navigate = useNavigate();\n const { id: sessionId } = useParams();\n\n // REDUX\n const dispatch = useAppDispatch();\n const videoRoomState = useAppSelector(getVideoRoomState);\n const { transitionSidebar, callCompositePage } = videoRoomState;\n\n // Hooks\n const { getImage, loading: loadingPicture } = usePicture({\n containerName: 'pictures',\n });\n\n const { user } = useUsers({});\n\n const { profile } = useProfiles({});\n\n // Video Session\n const { video } = useVideos({\n sessionId: sessionId,\n options: {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n });\n\n const {\n displayName,\n roomId,\n communicationUserId,\n relationshipId,\n sessionName,\n } = video?.[0] ?? {};\n\n const {\n videoParticipants,\n reqVideoParticipants,\n isLoadingVideoParticipants,\n } = useVideoParticipants({\n options: {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n });\n const videoParticipant = videoParticipants?.find(\n (videoParticipant) => videoParticipant.session === sessionId,\n );\n\n // Relationship\n const { relationships, isLoadingRelationships } = useRelationships({});\n\n const relationship = relationships?.find(\n (relationship) => relationship.id === relationshipId,\n );\n const relationshipProfiles = [\n ...(relationship?.traineeProfiles ?? []),\n ...(relationship?.guideProfiles ?? []),\n ];\n\n const handleFetchUserImages = async (\n communicationUserId: string,\n ): Promise => {\n const profile = relationshipProfiles.find(\n (profile) => profile?.communicationUserId === communicationUserId,\n );\n const user = relationship?.users?.find(\n (user) => user?.id === profile?.userId,\n );\n\n if (!user) return {};\n const imageUrl = profile?.picture\n ? getImage(profile?.picture)\n : user.picture;\n return { imageUrl };\n };\n\n // Users Video Token\n const { videoTokens, errorVideoTokens, isErrorVideoTokens } = useVideoTokens({\n options: {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n });\n\n const { token } = videoTokens?.[0] ?? {};\n const errorsVideoToken = isErrorVideoTokens ? [errorVideoTokens] : [];\n\n // CMS\n\n const sanityBaseLanguageVideo =\n baseLanguage?.relationships?.sessions?.sessions_video;\n const {\n end_session_button_label: exitSessionLabel,\n toggle_chat_button_label: chatLabel,\n toggle_goals_button_label: goalsLabel,\n toggle_schedule_session_button_label: scheduleSessionLabel,\n } = sanityBaseLanguageVideo ?? {};\n\n // ACS Call Adapter\n const credential = useMemo(() => {\n try {\n if (!token) return undefined;\n return new AzureCommunicationTokenCredential(token);\n } catch (error) {\n console.warn(error);\n\n if (error instanceof Error) {\n setError([{ message: error.message }]);\n } else {\n setError([{ message: 'Failed to construct token credential' }]);\n }\n return undefined;\n }\n }, [token]);\n\n const callAdapterArgs: Partial =\n useMemo(() => {\n if (!roomId || !communicationUserId) return {};\n return {\n userId: fromFlatCommunicationIdentifier(\n communicationUserId,\n ) as CommunicationUserIdentifier,\n displayName,\n credential,\n locator: { groupId: roomId },\n };\n }, [communicationUserId, credential, displayName, roomId]);\n\n const callAdapter = useAzureCommunicationCallAdapter(callAdapterArgs);\n\n useEffect(() => {\n if (!callAdapter) return;\n const disposeAdapter = async (): Promise => {\n if (videoParticipant && joinedAt && !submittedTimeInCall) {\n setSubmittedTimeInCall(true);\n\n await reqVideoParticipants({\n method: 'PATCH',\n url: `/videoParticipants/${videoParticipant.id}`,\n data: {\n joinedAt,\n leftAt: new Date(),\n },\n });\n }\n\n callAdapter?.dispose();\n };\n\n const handlePageChange = (state: CallAdapterState) => {\n dispatch(setCallCompositePage(state.page));\n };\n callAdapter.onStateChange((state) => {\n handlePageChange(state);\n });\n window.addEventListener('beforeunload', disposeAdapter);\n return () => {\n callAdapter.offStateChange((state) => {\n handlePageChange(state);\n });\n window.removeEventListener('beforeunload', disposeAdapter);\n };\n }, [\n callAdapter,\n reqVideoParticipants,\n dispatch,\n navigate,\n submittedTimeInCall,\n relationshipId,\n joinedAt,\n videoParticipant,\n ]);\n\n useEffect(() => {\n if (isLoadingVideoParticipants) {\n return;\n }\n\n const handleCallCompositePage = async () => {\n if (callCompositePage === 'call') {\n const now = new Date();\n\n setSubmittedTimeInCall(false);\n\n if (!joinedAt || submittedTimeInCall) {\n setJoinedAt(now);\n }\n\n if (!videoParticipant && user && profile && sessionId && joinedAt) {\n await reqVideoParticipants({\n method: 'POST',\n url: '/videoParticipants',\n data: {\n organizationSlug,\n user: user.id,\n profile: profile.id,\n relationship: relationshipId,\n session: sessionId,\n joinedAt: now,\n },\n });\n }\n }\n\n if (\n callCompositePage === 'leftCall' &&\n videoParticipant &&\n joinedAt &&\n !submittedTimeInCall\n ) {\n setSubmittedTimeInCall(true);\n\n await reqVideoParticipants({\n method: 'PATCH',\n url: `/videoParticipants/${videoParticipant.id}`,\n data: {\n joinedAt,\n leftAt: new Date(),\n },\n });\n }\n };\n\n handleCallCompositePage();\n }, [\n reqVideoParticipants,\n submittedTimeInCall,\n isLoadingVideoParticipants,\n callCompositePage,\n videoParticipant,\n organizationSlug,\n user,\n profile,\n relationshipId,\n sessionId,\n joinedAt,\n ]);\n\n // Derivations\n\n const loading =\n isLoadingRelationships ||\n !token ||\n !roomId ||\n !callAdapter ||\n loadingPicture;\n\n const errors = [...errorsVideoToken, ...error];\n\n return (\n \n );\n};\n\nexport default VideoPage;\n"],"names":["SettingsReviewsPage","value","setValue","useState","organizationSlug","getSubDomain","localeCode","organizationTheme","palette","settings","isLoadingSettings","useSettings","emptyStateAvatar","buildSanityImageUrl","source","static_media","relationships","no_relationships","width","baseLanguage","isLoadingBaseLanguage","useBaseLanguage","reviewsText","reviews","profiles","isLoadingProfiles","useProfiles","profile","at","isLoadingReviews","reviewsReceived","filter","review","reviewedProfile","id","reviewsAuthored","authorProfile","isLoading","theme","direction","pb","size","heading","text","title","variant","subtitles","description","color","amount","skeletonHeight","onChange","event","newValue","label","about_user_tab_title","by_user_tab_title","sx","p","TeamsAuthPage","code","URLSearchParams","window","location","search","get","authentication","display","justifyContent","alignItems","RegistrationPage","dispatch","navigate","useEffect","organization","useOrganization","handleLanguageChange","useTheme","combinedPalette","ThemeProvider","bgColor","common","white","logo","src","white_label","auth0_logo","maxHeight","maxWidth","onBackButtonClick","endAdornment","arrowColor","languageOptions","organizationLanguages","ariaLabel","onClickChange","flex","backgroundColor","py","xs","md","REACT_APP_AUTH0_CLIENT_ID","REACT_APP_AUTH0_DOMAIN","SettingsAccountPage","isMobile","showNewMessage","showNewMessageIntercom","requestCallback","useAxios","users","isLoadingUsers","useUsers","user","usersEmail","email","auth0UserId","isSSO","Boolean","includes","account","change_email","changeEmail","change_password","changePassword","preferences","change_email_button_label","changeEmailButtonLabel","section_title","changeEmailSectionTitle","sso_user_alert_message","ssoUserAlertMessageEmail","change_email_input_label","changeEmailInputLabel","change_email_description","changeEmailDescription","change_password_button_label","changePasswordButtonLabel","changePasswordSectionTitle","server_error_alert_text","serverErrorAlertTextPassword","ssoUserAlertMessagePassword","success_alert_text","successAlertTextPassword","change_password_description","changePasswordDescription","preferencesSectionTitle","organizationId","basic_info","auth0_organization_id","loadingButton","setLoadingButton","alertEmail","setAlertEmail","alertPassword","setAlertPassword","severity","message","show","handlePasswordReset","useCallback","Error","request","method","url","headers","data","client_id","connection","status","console","log","err","handleEmailChangeRequest","flexFlow","CircularProgress","gap","subheader","AccountPreferencesForm","alignSelf","my","SettingsAccountAlert","inputProps","sm","length","fullWidth","disabled","defaultValue","onClick","loading","Grow","in","timeout","unmountOnExit","Alert","SettingsCommunicationPage","Typography","SettingsIntegrationsPage","component","integrations","section_description","SettingsPage","navigation","userActionMenu","user_action_menu","communication","integrationsBaseLanguage","whiteLabel","enabledIntegrations","video_conferencing","videoConferencing","calendar","isIntegrationEnabled","active_directory_teams","active_directory_outlook_calendar","isPathIntegration","pathname","integrationSidebardItem","primaryText","integrations_label","icon","MdCode","path","selected","dataCyLabel","pageSidebarItems","profile_link_label","MdPerson","account_link_label","MdShield","availability_link_label","reviews_link_label","MdReviews","flexDirection","header","pr","items","minWidth","flexGrow","locationIncludesPathname","profile_details","selectHeader","SettingsProfilePage","ProfilePictureForm","EditProfileForm","SettingsAvailabilityPage","availability","sectionTitle","sectionDescription","mb","AvailabilityForm","REACT_APP_BASE_API_URL","RelationshipsPage","isNewRelationshipLoading","setIsNewRelationshipLoading","relationshipId","navigationEventName","isLoadingRelationships","isMutatingRelationships","useRelationships","options","keepPreviousData","activeRelationships","relationship","isConcluded","useMemberships","timer","setTimeout","clearTimeout","currentRelationship","find","currentRelationshipArchived","firstActiveRelationshipId","archivedRelationships","useMemo","renderSidebar","_a","_b","position","zIndex","borderRight","divider","borderTop","overflowY","relationships_list","renderNoRelationships","_c","_d","_e","_f","_g","_h","_i","_j","_k","mt","ml","empty_state_illustration","no_relationships_state","textAlign","mr","globals","programs","view_programs_button_label","explore_learning_hub","height","revalidateIfStale","revalidateOnFocus","revalidateOnReconnect","joinedAt","setJoinedAt","submittedTimeInCall","setSubmittedTimeInCall","error","setError","sessionId","videoRoomState","transitionSidebar","callCompositePage","getImage","loadingPicture","usePicture","containerName","video","useVideos","displayName","roomId","communicationUserId","sessionName","videoParticipants","reqVideoParticipants","isLoadingVideoParticipants","videoParticipant","session","relationshipProfiles","traineeProfiles","guideProfiles","videoTokens","errorVideoTokens","isErrorVideoTokens","useVideoTokens","token","errorsVideoToken","sanityBaseLanguageVideo","sessions","sessions_video","end_session_button_label","exitSessionLabel","toggle_chat_button_label","chatLabel","toggle_goals_button_label","goalsLabel","toggle_schedule_session_button_label","scheduleSessionLabel","credential","warn","callAdapterArgs","userId","locator","groupId","callAdapter","disposeAdapter","leftAt","Date","dispose","handlePageChange","state","page","onStateChange","addEventListener","offStateChange","removeEventListener","now","errors","VideoRoom","sessionTitle","onFetchUserImages","imageUrl","picture"],"sourceRoot":""}