{"version":3,"file":"static/js/app-7c36387c_0673738c3fbb3251286d.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useApi/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useAvailabilities/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useChatToken/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useCustomFields/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useEvents/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useGoals/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useUserIntegrations/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSettings/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useLocalization/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMatches/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMemberships/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMixpanelEvents/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMobileMediaQuery/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useNotes/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useProfiles/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useRelationships/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSessionStorageTyped/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSessions/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSkills/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSurveys/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useUserPictures/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useUsers/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useWindowDimensions/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useProfilePicture/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useUnavailabilities/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useLeaderboardPosition/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSurveyResources/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useVideoParticipants/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useReviews/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useChatParticipants/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMatchesV2/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useNotifications/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useNotificationsModal/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useOTPSurveys/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useRegisterInvite/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useTrackEvent/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useVideoTokens/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useVideos/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/index.tsx"],"sourcesContent":["import {\n GetTokenWithPopupOptions,\n OAuthError,\n useAuth0,\n} from '@auth0/auth0-react';\nimport { getOrigin } from '@guider-global/front-end-utils';\nimport axios from 'axios';\nimport { useMixpanelEvents } from 'hooks';\n\nconst { REACT_APP_AUTH0_AUDIENCE, REACT_APP_BASE_API_URL } = process.env;\n\nexport const base = axios.create({\n baseURL: REACT_APP_BASE_API_URL,\n});\n\nexport const useApi = () => {\n const { getAccessTokenSilently, getAccessTokenWithPopup, logout } =\n useAuth0();\n const { resetUserIdentity } = useMixpanelEvents();\n\n const opts: GetTokenWithPopupOptions = {\n authorizationParams: {\n scope: 'openid',\n audience: REACT_APP_AUTH0_AUDIENCE ?? REACT_APP_BASE_API_URL,\n },\n };\n\n const getAccessToken = async () => {\n try {\n return await getAccessTokenSilently(opts);\n } catch (error) {\n const errorJson: OAuthError = JSON.parse(JSON.stringify(error));\n const errorId = errorJson.error;\n if (errorId === 'consent_required') {\n return getAccessTokenWithPopup(opts);\n } else {\n console.error(error);\n await logout({ logoutParams: { returnTo: getOrigin() } });\n resetUserIdentity();\n throw new Error('Unauthenticated');\n }\n }\n };\n\n const getApi = async (path: string): Promise => {\n const accessToken = await getAccessToken();\n\n try {\n const response = await base.get(path, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return response.data.data;\n } catch (error) {\n throw new Error('Error getting the data');\n }\n };\n\n const postApi = async (\n path: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload: any,\n ): Promise => {\n const accessToken = await getAccessToken();\n\n try {\n const response = await base.post(path, payload, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return response.data.data;\n } catch (error) {\n throw new Error('Error updating the data');\n }\n };\n\n const putApi = async (path: string): Promise => {\n const accessToken = await getAccessToken();\n\n try {\n const response = await base.put(path, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return response.data.data;\n } catch (error) {\n throw new Error('Error updating the data');\n }\n };\n\n const patchApi = async (\n path: string,\n payload: T,\n ): Promise => {\n const accessToken = await getAccessToken();\n\n try {\n const response = await base.patch(path, payload, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return response.data.data;\n } catch (error) {\n throw new Error('Error updating the data');\n }\n };\n\n const deleteApi = async (path: string): Promise => {\n const accessToken = await getAccessToken();\n\n try {\n const response = await base.delete(path, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return response.data.data;\n } catch (error) {\n throw new Error('Error deleting the data');\n }\n };\n\n return { getApi, postApi, putApi, patchApi, deleteApi };\n};\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport {\n DayOfWeekAvailabilities,\n DaysOfWeek,\n IAvailability,\n} from '@guider-global/shared-types';\nimport availabilitiesSlice from 'store/slices/availabilitiesSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useMemo } from 'react';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useSanityOrganization } from '@guider-global/sanity-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\nconst DEFAULT_START_TIME = '09:00';\nconst DEFAULT_END_TIME = '18:00';\n\n/**\n * A custom hook to handle Availabilities REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns availabilities - array of availabilities in the RestRootState reducer\n * @returns reqAvailabilities - makes requests and stores results in the availabilitiesReducer\n * @returns getErrorsAvailabilities - gets API errors from the availabilitiesReducer\n */\nexport function useAvailabilities({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const organizationSlug = getSubDomain();\n const { getOrganization } = useSanityOrganization({\n organizationSlug,\n getSilently: false,\n });\n const organization = getOrganization();\n const orgStartTime = organization?.availabilities?.start_time;\n const orgEndTime = organization?.availabilities?.end_time;\n\n const defaultAvailability = useMemo(\n () =>\n DaysOfWeek.reduce((acc, day) => {\n const isNotWeekend = day !== 'saturday' && day !== 'sunday';\n const startTime = orgStartTime ?? DEFAULT_START_TIME;\n const endTime = orgEndTime ?? DEFAULT_END_TIME;\n\n acc[`${day}Enabled`] = isNotWeekend;\n acc[`${day}Start`] = isNotWeekend ? startTime : '';\n acc[`${day}End`] = isNotWeekend ? endTime : '';\n\n return acc;\n }, {} as DayOfWeekAvailabilities),\n [orgStartTime, orgEndTime],\n );\n\n // Auth\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'availabilities',\n actions: availabilitiesSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n\n const createAvailabilities = (data: Record) =>\n hook.request({\n method: 'POST',\n url: `/availabilities`,\n data,\n });\n\n const updateAvailabilities = (\n availabilityId: string,\n data: Record,\n ) =>\n hook.request({\n method: 'PATCH',\n url: `/availabilities/${availabilityId}`,\n data,\n });\n\n return {\n ...hook,\n defaultAvailability,\n availabilities: hook.getResults,\n reqAvailabilities: hook.request,\n createAvailabilities,\n updateAvailabilities,\n getErrorsAvailabilities: hook.getErrors,\n hasResultsAvailabilities: hook.hasResults,\n getMessageAvailabilities: hook.getMessage,\n getCodeAvailabilities: hook.getCode,\n isLoadingAvailabilities: hook.isLoading,\n isErrorAvailabilities: hook.isError,\n isSuccessAvailabilities: hook.isSuccess,\n };\n}\n","import { CommunicationAccessToken } from '@azure/communication-identity';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useAxios } from '@guider-global/redux-axios-hooks';\nimport { IError } from '@guider-global/shared-types';\nimport axios from 'axios';\nimport { useEffect, useState } from 'react';\nimport { IUseChatTokenResult } from './types';\nimport { datadogLogs, useDatadogContext } from '@guider-global/datadog';\n\nexport function useChatToken(\n profileId?: string | false,\n waitForAuthentication = true,\n): IUseChatTokenResult {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const [loading, setLoading] = useState();\n const [token, setToken] = useState();\n const [error, setError] = useState();\n\n const { requestCallback } = useAxios({\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n });\n\n useEffect(() => {\n async function getChatToken() {\n setLoading(true);\n try {\n const axiosResult = await requestCallback({\n url: '/chat/token',\n params: { profileId, traceId: sessionId },\n method: 'POST',\n });\n const { data: axiosData } = axiosResult;\n const { data, status, message, errors, code } = axiosData;\n if (status !== 'success' || data?.length <= 0) {\n console.log('Error getting chat token!', { code, message, errors });\n const errorMessage =\n errors && errors.length > 0\n ? errors.flatMap((error) => error.message).join(',')\n : message;\n const chatError = new Error(errorMessage);\n chatError.name = `${code}`;\n throw chatError;\n }\n setToken(data[0].token);\n setLoading(false);\n } catch (err) {\n const unknownErrorMessage =\n 'Unknown error occurred getting users chat token';\n const unknownErrorCode = 'UNKNOWN_ERROR';\n if (axios.isAxiosError(err) || err instanceof Error) {\n console.error({ err });\n setError({\n message: err?.message ?? unknownErrorMessage,\n code: err?.name ?? unknownErrorCode,\n });\n datadogLogs.logger.error('useChatToken:', {\n ...err,\n });\n } else {\n datadogLogs.logger.error('useChatToken:', {\n message: unknownErrorMessage,\n err,\n });\n setError({\n code: 'UNKNOWN_ERROR',\n message: unknownErrorMessage,\n });\n }\n setLoading(false);\n }\n }\n if (accessToken && !token && !loading && !error && profileId) {\n getChatToken();\n }\n }, [\n accessToken,\n token,\n loading,\n error,\n profileId,\n requestCallback,\n sessionId,\n ]);\n\n return {\n error,\n token,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { ICustomField } from '@guider-global/shared-types';\nimport customFieldsSlice from 'store/slices/customFieldsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle CustomFields REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns customFields - array of customFields in the RestRootState reducer\n * @returns reqCustomFields - makes requests and stores results in the customFieldsReducer\n * @returns getErrorsCustomFields - gets API errors from the customFieldsReducer\n */\nexport function useCustomFields({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'customFields',\n actions: customFieldsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n customFields: hook.getResults,\n reqCustomFields: hook.request,\n getErrorsCustomFields: hook.getErrors,\n hasResultsCustomFields: hook.hasResults,\n getMessageCustomFields: hook.getMessage,\n getCodeCustomFields: hook.getCode,\n isLoadingCustomFields: hook.isLoading,\n isErrorCustomFields: hook.isError,\n isSuccessCustomFields: hook.isSuccess,\n };\n}\n","import { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n IUseRestReduxResult,\n RestReduxHook,\n useRestRedux,\n} from '@guider-global/redux-axios-hooks';\nimport {\n useSanityOrganization,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { IEvent, IGoal, Program } from '@guider-global/shared-types';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport eventsSlice from 'store/slices/eventsSlice';\n\ninterface IUseEvents extends RestReduxHook {\n programSlug?: string;\n}\n\n/**\n * A custom hook to handle Events REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns relationships - array of relationships in the RestRootState reducer\n * @returns reqEvents - makes requests and stores results in the relationshipsReducer\n * @returns getErrorsEvents - gets API errors from the relationshipsReducer\n */\nexport function useEvents({\n programSlug = '',\n waitForAuthentication = true,\n ...args\n}: IUseEvents) {\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n const organizationSlug = getSubDomain();\n const { getOrganization } = useSanityOrganization({\n organizationSlug: organizationSlug,\n getSilently: false,\n });\n const organization = getOrganization();\n const organizationName = organization.basic_info.name;\n const goalCategories = organization.goal_categories;\n\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n\n const hook: IUseRestReduxResult = useRestRedux<\n IEvent,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n getSilently: false,\n resultDataName: 'events',\n actions: eventsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n\n const getOrganizationDataForEvent = () => {\n return {\n slug: organizationSlug,\n url: window.location.origin,\n name: organizationName,\n learningHubURL: `${window.location.origin}/learn`,\n };\n };\n\n const getProgramDataForEvent = () => {\n const programType = program?.program_details?.program_type;\n const programSlug = program?.metadata.id.current;\n\n return {\n variation: 'individual',\n name: program?.metadata.program_name,\n description: program?.program_details?.program_description,\n slug: programSlug,\n landingPageURL: `${window.location.origin}/programs/${programSlug}`,\n guideRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/guide`,\n traineeRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/trainee`,\n type: {\n id: programType?.metadata?.id?.current,\n noun: programType?.program_type_text?.common?.noun,\n verb: programType?.program_type_text?.common?.verb,\n guideSingular: programType?.program_type_text?.common?.guide?.singular,\n guidePluralized:\n programType?.program_type_text?.common?.guide?.pluralized,\n traineeSingular:\n programType?.program_type_text?.common?.trainee?.singular,\n traineePluralized:\n programType?.program_type_text?.common?.trainee?.pluralized,\n },\n };\n };\n\n const getProgramsDataForEvent = (programs: Program[]) =>\n programs.map((program) => {\n const programType = program?.program_details?.program_type;\n const programSlug = program?.metadata.id.current;\n\n return {\n variation: 'individual',\n name: program?.metadata.program_name,\n description: program?.program_details?.program_description,\n slug: programSlug,\n landingPageURL: `${window.location.origin}/programs/${programSlug}`,\n guideRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/guide`,\n traineeRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/trainee`,\n type: {\n id: programType?.metadata?.id?.current,\n noun: programType?.program_type_text?.common?.noun,\n verb: programType?.program_type_text?.common?.verb,\n guideSingular:\n programType?.program_type_text?.common?.guide?.singular,\n guidePluralized:\n programType?.program_type_text?.common?.guide?.pluralized,\n traineeSingular:\n programType?.program_type_text?.common?.trainee?.singular,\n traineePluralized:\n programType?.program_type_text?.common?.trainee?.pluralized,\n },\n };\n });\n\n const getGoalDataForEvent = (goal: Partial) => {\n const goalCategoryName = goalCategories?.categories?.find(\n (goalCategory) =>\n goalCategory.goal_category_slug.current === goal.categorySlug,\n )?.goal_category_name;\n\n return {\n goalName: goal.objective,\n goalCategory: goalCategoryName,\n goalStatus: goal.status,\n goalUrl: `${window.location.origin}/goals/${goal.id}`,\n };\n };\n\n return {\n ...hook,\n getEvents: hook.getResults,\n reqEvents: hook.request,\n getErrorsEvents: hook.getErrors,\n hasResultsEvents: hook.hasResults,\n getMessageEvents: hook.getMessage,\n getCodeEvents: hook.getCode,\n getIsLoadingEvents: hook.isLoading,\n getIsErrorEvents: hook.isError,\n getIsSuccessEvents: hook.isSuccess,\n getProgramDataForEvent,\n getOrganizationDataForEvent,\n getGoalDataForEvent,\n getProgramsDataForEvent,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IGoal } from '@guider-global/shared-types';\nimport goalsSlice from 'store/slices/goalsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Goals REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns goals - array of goals in the RestRootState reducer\n * @returns reqGoals - makes requests and stores results in the goalsReducer\n * @returns getErrorsGoals - gets API errors from the goalsReducer\n */\nexport function useGoals({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n IGoal,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'goals',\n actions: goalsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n goals: hook.getResults,\n reqGoals: hook.request,\n getErrorsGoals: hook.getErrors,\n hasResultsGoals: hook.hasResults,\n getMessageGoals: hook.getMessage,\n getCodeGoals: hook.getCode,\n isLoadingGoals: hook.isLoading,\n isErrorGoals: hook.isError,\n isSuccessGoals: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { UserIntegration } from '@guider-global/shared-types';\nimport userIntegrationsSlice from 'store/slices/userIntegrationsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle UserIntegrations REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns userIntegrations - array of userIntegrations in the RestRootState reducer\n * @returns reqUserIntegrations - makes requests and stores results in the userIntegrationsReducer\n * @returns getErrorsUserIntegrations - gets API errors from the userIntegrationsReducer\n */\nexport function useUserIntegrations({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux(\n {\n ...args,\n resultDataName: 'userIntegrations',\n actions: userIntegrationsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n },\n );\n return {\n ...hook,\n userIntegrations: hook.getResults,\n reqUserIntegrations: hook.request,\n getErrorsUserIntegrations: hook.getErrors,\n hasResultsUserIntegrations: hook.hasResults,\n getMessageUserIntegrations: hook.getMessage,\n getCodeUserIntegrations: hook.getCode,\n isLoadingUserIntegrations: hook.isLoading,\n isErrorUserIntegrations: hook.isError,\n isSuccessUserIntegrations: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { ISetting } from '@guider-global/shared-types';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport settingsSlice from 'store/slices/settingsSlice';\nimport { useDatadogContext } from '@guider-global/datadog';\n\nexport function useSettings({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n ISetting,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'settings',\n actions: settingsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n\n const createSettings = (\n data: Pick,\n ) =>\n hook.request({\n method: 'POST',\n url: `/settings`,\n data,\n });\n\n const updateSettings = (\n settingsId: string,\n data: Pick,\n ) =>\n hook.request({\n method: 'PATCH',\n url: `/settings/${settingsId}`,\n data,\n });\n\n return {\n getSettings: hook.getResults,\n reqSettings: hook.request,\n createSettings,\n updateSettings,\n getErrorsSettings: hook.getErrors,\n hasResultsSettings: hook.hasResults,\n getMessageSettings: hook.getMessage,\n getCodeSettings: hook.getCode,\n getIsLoadingSettings: hook.isLoading,\n getIsErrorSettings: hook.isError,\n getIsSuccessSettings: hook.isSuccess,\n };\n}\n","import { datadogLogs } from '@guider-global/datadog';\nimport { setDocAttrsAndMetaTag } from '@guider-global/front-end-utils';\nimport { useSanityLocalization } from '@guider-global/sanity-hooks';\nimport { SanityBaseLanguage } from '@guider-global/shared-types';\nimport { SessionStorageKeys, useProfiles } from 'hooks';\nimport { useSettings } from 'hooks/useSettings';\nimport { useCallback, useEffect } from 'react';\nimport { RootState } from 'store';\nimport { useAppDispatch } from 'store/hooks';\nimport { showAppAlert } from 'store/slices/appSlice';\n\ninterface UseLocalizationResults {\n localeCode?: string;\n handleLanguageChange: (localeCode: string) => Promise;\n}\n\nexport const useLocalization = (\n organizationSlug: string,\n): UseLocalizationResults => {\n const dispatch = useAppDispatch();\n\n // Profile\n const { getProfiles } = useProfiles({ getSilently: false });\n const [profile] = getProfiles();\n\n // Setting\n const {\n getIsLoadingSettings,\n getSettings,\n updateSettings,\n createSettings,\n getIsErrorSettings,\n getErrorsSettings,\n } = useSettings({\n getSilently: true,\n });\n const isLoadingSettings = getIsLoadingSettings();\n const isErrorSettings = getIsErrorSettings();\n const [settings] = getSettings();\n\n const lastUsedLanguage = settings?.localeCode;\n\n const createOrUpdateSettings = useCallback(\n (localeCode: string) => {\n if (settings) {\n return updateSettings(settings.id, { localeCode });\n } else if (profile) {\n return createSettings({ profile: profile.id, localeCode });\n }\n },\n [settings, profile, createSettings, updateSettings],\n );\n\n const onLanguageChange = useCallback(\n async (\n localeCode: string,\n textDirection?: SanityBaseLanguage['text_direction'],\n ) => {\n await createOrUpdateSettings(localeCode);\n setDocAttrsAndMetaTag({ localeCode, textDirection });\n },\n [createOrUpdateSettings],\n );\n\n useEffect(() => {\n const handleShowAppError = (errorCode?: string, errorMessage?: string) => {\n console.error('error', { errorCode, errorMessage });\n datadogLogs.logger.error('useLocalization:', {\n errorCode,\n errorMessage,\n });\n dispatch(\n showAppAlert({\n severity: 'error',\n message: errorMessage,\n timeout: 10000,\n }),\n );\n };\n\n if (isErrorSettings) {\n const settingErrors = getErrorsSettings();\n const errorCodes = `${settingErrors.map((error) => error.code)}`;\n const errorMessages = `${settingErrors.map((error) => error.message)}`;\n handleShowAppError(errorCodes, errorMessages);\n }\n }, [dispatch, getErrorsSettings, isErrorSettings]);\n\n const { localeCode, handleLanguageChange } = useSanityLocalization(\n organizationSlug,\n SessionStorageKeys,\n onLanguageChange,\n isLoadingSettings,\n lastUsedLanguage,\n );\n\n return {\n localeCode,\n handleLanguageChange,\n };\n};\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IMatch } from '@guider-global/shared-types';\nimport matchesSlice from 'store/slices/matchesSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Matches REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns matches - array of matches in the RestRootState reducer\n * @returns reqMatches - makes requests and stores results in the matchesReducer\n * @returns getErrorsMatches - gets API errors from the matchesReducer\n */\nexport function useMatches({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n IMatch,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'matches',\n actions: matchesSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n matches: hook.getResults,\n reqMatches: hook.request,\n getErrorsMatches: hook.getErrors,\n hasResultsMatches: hook.hasResults,\n getMessageMatches: hook.getMessage,\n getCodeMatches: hook.getCode,\n isLoadingMatches: hook.isLoading,\n isErrorMatches: hook.isError,\n isSuccessMatches: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IMembership } from '@guider-global/shared-types';\nimport membershipsSlice from 'store/slices/membershipsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Memberships REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns memberships - array of memberships in the RestRootState reducer\n * @returns reqMemberships - makes requests and stores results in the membershipsReducer\n * @returns getErrorsMemberships - gets API errors from the membershipsReducer\n */\nexport function useMemberships({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'memberships',\n actions: membershipsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n memberships: hook.getResults,\n reqMemberships: hook.request,\n getErrorsMemberships: hook.getErrors,\n hasResultsMemberships: hook.hasResults,\n getMessageMemberships: hook.getMessage,\n getCodeMemberships: hook.getCode,\n isLoadingMemberships: hook.isLoading,\n isErrorMemberships: hook.isError,\n isSuccessMemberships: hook.isSuccess,\n };\n}\n","import { getISOStringWithoutMilliseconds } from '@guider-global/front-end-utils';\nimport mixpanel from 'mixpanel-browser';\nimport { useCallback, useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\ntype MixpanelEventCustomProps = Record;\n\ninterface UseMixpanelEventsProps {\n navigationEventName?: string;\n eventName?: string;\n properties?: MixpanelEventCustomProps;\n}\n\nexport function useMixpanelEvents(props = {} as UseMixpanelEventsProps) {\n const { navigationEventName, eventName } = props;\n const startTime = Date.now();\n const location = useLocation();\n\n const trackMixpanelEvent = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n mixpanel.track(eventName, {\n ...properties,\n page_name: location.pathname,\n referrer: document.referrer,\n });\n\n console.log(`Event ${eventName} tracked on ${location.pathname}`);\n },\n [location],\n );\n\n const getClickProp = useCallback(\n () => ({ Click: getISOStringWithoutMilliseconds(Date.now()) }),\n [],\n );\n\n const getScreenTimeProp = useCallback(() => {\n const screenTimeSeconds = (Date.now() - startTime) / 1000;\n return { 'Time spent on screen': screenTimeSeconds };\n }, [startTime]);\n\n const getScreenTimeAndClickProps = useCallback(\n () => ({ ...getClickProp(), ...getScreenTimeProp() }),\n [getClickProp, getScreenTimeProp],\n );\n\n const trackClick = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n trackMixpanelEvent(eventName, {\n ...getClickProp(),\n ...properties,\n });\n },\n [trackMixpanelEvent, getClickProp],\n );\n\n const trackScreenTime = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n trackMixpanelEvent(eventName, {\n ...getScreenTimeProp(),\n ...properties,\n });\n },\n [trackMixpanelEvent, getScreenTimeProp],\n );\n\n const trackScreenTimeAndClick = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n trackScreenTime(eventName, {\n ...getScreenTimeAndClickProps(),\n ...properties,\n });\n },\n [trackScreenTime, getScreenTimeAndClickProps],\n );\n\n const setUserProperties = (props: Record): void => {\n mixpanel.people.set(props);\n };\n\n const setOrganizationGroup = (organizationSlug: string): void => {\n mixpanel.set_group('Organization ID', organizationSlug);\n };\n\n useEffect(() => {\n if (eventName) {\n trackMixpanelEvent(eventName);\n }\n }, [eventName, trackMixpanelEvent]);\n\n useEffect(() => {\n if (navigationEventName) {\n trackMixpanelEvent(`Navigation - ${navigationEventName}`);\n }\n }, [navigationEventName, trackMixpanelEvent]);\n\n return {\n startTimeISOString: getISOStringWithoutMilliseconds(startTime),\n trackMixpanelEvent,\n trackClick,\n trackScreenTime,\n trackScreenTimeAndClick,\n setUserProperties,\n setOrganizationGroup,\n resetUserIdentity: mixpanel.reset,\n unionUserProperty: mixpanel.people.union,\n incrementUserPropetry: mixpanel.people.increment,\n };\n}\n","import { useTheme, useMediaQuery } from '@mui/material';\n\nexport function useMobileMediaQuery(): boolean {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n return isMobile;\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { INote } from '@guider-global/shared-types';\nimport notesSlice from 'store/slices/notesSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Notes REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns notes - array of notes in the RestRootState reducer\n * @returns reqNotes - makes requests and stores results in the notesReducer\n * @returns getErrorsNotes - gets API errors from the notesReducer\n */\nexport function useNotes({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n INote,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'notes',\n actions: notesSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n notes: hook.getResults,\n reqNotes: hook.request,\n getErrorsNotes: hook.getErrors,\n hasResultsNotes: hook.hasResults,\n getMessageNotes: hook.getMessage,\n getCodeNotes: hook.getCode,\n isLoadingNotes: hook.isLoading,\n isErrorNotes: hook.isError,\n isSuccessNotes: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IProfile } from '@guider-global/shared-types';\nimport profilesSlice from 'store/slices/profilesSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Profiles REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns profiles - array of profiles in the RestRootState reducer\n * @returns reqProfiles - makes requests and stores results in the profilesReducer\n * @returns getErrorsProfiles - gets API errors from the profilesReducer\n */\nexport function useProfiles({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n IProfile,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'profiles',\n actions: profilesSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n getProfiles: hook.getResults,\n reqProfiles: hook.request,\n getErrorsProfiles: hook.getErrors,\n hasResultsProfiles: hook.hasResults,\n getMessageProfiles: hook.getMessage,\n getCodeProfiles: hook.getCode,\n isLoadingProfiles: hook.isLoading,\n isErrorProfiles: hook.isError,\n isSuccessProfiles: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IRelationship } from '@guider-global/shared-types';\nimport relationshipsSlice from 'store/slices/relationshipsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Relationships REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns relationships - array of relationships in the RestRootState reducer\n * @returns reqRelationships - makes requests and stores results in the relationshipsReducer\n * @returns getErrorsRelationships - gets API errors from the relationshipsReducer\n */\nexport function useRelationships({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'relationships',\n actions: relationshipsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n relationships: hook.getResults,\n reqRelationships: hook.request,\n getErrorsRelationships: hook.getErrors,\n hasResultsRelationships: hook.hasResults,\n getMessageRelationships: hook.getMessage,\n getCodeRelationships: hook.getCode,\n isLoadingRelationships: hook.isLoading,\n isErrorRelationships: hook.isError,\n isSuccessRelationships: hook.isSuccess,\n };\n}\n","import { useSessionStorageResults } from '@guider-global/front-end-utils';\nimport { useSessionStorage } from '@guider-global/front-end-utils';\nimport { SharedSessionStorageKeys } from '@guider-global/shared-types';\n\nexport enum FrontEndSessionStorageKeys {\n REGISTER_REDIRECT = 'post-register-redirect',\n}\n\nexport const SessionStorageKeys = {\n ...FrontEndSessionStorageKeys,\n ...SharedSessionStorageKeys,\n} as const;\n\nexport function useSessionStorageTyped

(\n key: (typeof SessionStorageKeys)[keyof typeof SessionStorageKeys],\n defaultValue?: P,\n): useSessionStorageResults

{\n return useSessionStorage(key, defaultValue);\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { ISession } from '@guider-global/shared-types';\nimport sessionsSlice from 'store/slices/sessionsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Sessions REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns sessions - array of sessions in the RestRootState reducer\n * @returns reqSessions - makes requests and stores results in the sessionsReducer\n * @returns getErrorsSessions - gets API errors from the sessionsReducer\n */\nexport function useSessions({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n ISession,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'sessions',\n actions: sessionsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n sessions: hook.getResults,\n reqSessions: hook.request,\n getErrorsSessions: hook.getErrors,\n hasResultsSessions: hook.hasResults,\n getMessageSessions: hook.getMessage,\n getCodeSessions: hook.getCode,\n isLoadingSessions: hook.isLoading,\n isErrorSessions: hook.isError,\n isSuccessSessions: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { ISkill } from '@guider-global/shared-types';\nimport skillsSlice from 'store/slices/skillsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Skills REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns skills - array of skills in the RestRootState reducer\n * @returns reqSkills - makes requests and stores results in the skillsReducer\n * @returns getErrorsSkills - gets API errors from the skillsReducer\n */\nexport function useSkills({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n ISkill,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'skills',\n actions: skillsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n skills: hook.getResults,\n reqSkills: hook.request,\n getErrorsSkills: hook.getErrors,\n hasResultsSkills: hook.hasResults,\n getMessageSkills: hook.getMessage,\n getCodeSkills: hook.getCode,\n isLoadingSkills: hook.isLoading,\n isErrorSkills: hook.isError,\n isSuccessSkills: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { TSurvey, ISurveyField } from '@guider-global/shared-types';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport surveysSlice from 'store/slices/surveysSlice';\nimport { useDatadogContext } from '@guider-global/datadog';\n\ninterface CreateSurveysData\n extends Omit {}\n\n/**\n * A custom hook to handle Surveys REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns surveys - array of surveys in the RestRootState reducer\n * @returns reqSurveys - makes requests and stores results in the surveysReducer\n * @returns getErrorsSurveys - gets API errors from the surveysReducer\n */\nexport function useSurveys({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n TSurvey,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'surveys',\n actions: surveysSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n\n const createSurveys = (data: CreateSurveysData) =>\n hook.request({\n method: 'POST',\n url: '/surveys',\n data,\n });\n\n return {\n getSurveys: hook.getResults,\n reqSurveys: hook.request,\n createSurveys,\n getErrorsSurveys: hook.getErrors,\n hasResultsSurveys: hook.hasResults,\n getMessageSurveys: hook.getMessage,\n getCodeSurveys: hook.getCode,\n getIsLoadingSurveys: hook.isLoading,\n getIsErrorSurveys: hook.isError,\n getIsSuccessSurveys: hook.isSuccess,\n };\n}\n","import { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\nimport axios from 'axios';\nimport { useCallback, useEffect, useState } from 'react';\n\nconst { REACT_APP_BASE_API_URL } = process.env;\n\nexport function useUserPictures(waitForAuthentication = true) {\n const [picture, setPicture] = useState(undefined);\n const [error, setError] = useState(undefined);\n const [loading, setLoading] = useState(true);\n\n // Auth\n const { accessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n\n const getPicture = useCallback(async () => {\n setLoading(true);\n try {\n const { data } = await axios.get(\n `${REACT_APP_BASE_API_URL}/userPictures`,\n {\n headers: {\n 'Content-Type': 'image/jpg',\n Authorization: `Bearer ${accessToken}`,\n },\n responseType: 'blob',\n params: { traceId: sessionId },\n },\n );\n if (data.size === 0) return;\n setPicture(data);\n } catch (error) {\n setError(error);\n } finally {\n setLoading(false);\n }\n }, [accessToken, sessionId]);\n\n useEffect(() => {\n if (!accessToken) return;\n\n getPicture();\n }, [accessToken, getPicture]);\n\n return { picture, loading, error };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IUser } from '@guider-global/shared-types';\nimport usersSlice from 'store/slices/usersSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle User REST API requests connected the redux store\n *\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns users - array of users in the RestRootState reducer\n * @returns reqUsers - makes requests and stores results in the usersReducer\n * @returns getErrorsUsers - gets API errors from the usersReducer\n */\nexport function useUsers({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n IUser,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'users',\n actions: usersSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n\n return {\n ...hook,\n users: hook.getResults,\n reqUsers: hook.request,\n getErrorsUsers: hook.getErrors,\n hasResultsUsers: hook.hasResults,\n getMessageUsers: hook.getMessage,\n getCodeUsers: hook.getCode,\n isLoadingUsers: hook.isLoading,\n isErrorUsers: hook.isError,\n isSuccessUsers: hook.isSuccess,\n };\n}\n","import { useState, useEffect } from 'react';\n\nconst getWindowDimensions = () => {\n const { innerWidth: width, innerHeight: height } = window;\n return {\n width,\n height,\n };\n};\n\nexport const useWindowDimensions = () => {\n const [windowDimensions, setWindowDimensions] = useState(\n getWindowDimensions(),\n );\n\n useEffect(() => {\n const handleResize = () => {\n setWindowDimensions(getWindowDimensions());\n };\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowDimensions;\n};\n","import { usePicture } from '@guider-global/azure-storage-hooks';\nimport { useProfiles, useUsers } from 'hooks';\n\nexport const useProfilePicture = () => {\n // Users\n const { users: getUsers, hasResultsUsers } = useUsers({\n getSilently: false,\n });\n const usersFound = hasResultsUsers();\n const users = getUsers();\n const user = users[0];\n const oauthPicture = usersFound ? user.picture : undefined;\n\n const { loading, getImage } = usePicture({});\n\n // Profiles\n const {\n getProfiles,\n hasResultsProfiles,\n isLoading: getLoading,\n } = useProfiles({ getSilently: false });\n const profilesFound = hasResultsProfiles();\n const isProfileLoading = getLoading();\n const [profile] = getProfiles();\n const profilePicture = profile?.picture;\n const firstLetter = profile?.firstName.charAt(0).toUpperCase();\n const lastLetter = profile?.lastName.charAt(0).toUpperCase();\n\n const isLoading =\n !usersFound || !profilesFound || isProfileLoading || loading;\n\n const picture = !profilePicture ? oauthPicture : getImage(profilePicture);\n\n const initials = `${firstLetter}${lastLetter}`;\n\n return {\n initials,\n loading: isLoading,\n picture,\n };\n};\n","import { useEffect, useState } from 'react';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useAxios } from '@guider-global/redux-axios-hooks';\nimport { datadogLogs, useDatadogContext } from '@guider-global/datadog';\n\ntype Unavailabilities = Record;\ninterface UnavailabilitiesResult {\n data: Unavailabilities;\n}\n\ninterface UseUnavailabilitiesProps {\n organizationSlug: string | undefined;\n userId: string | undefined;\n date: string | undefined;\n timezone: string | undefined;\n}\n\nexport function useUnavailabilities({\n organizationSlug,\n userId,\n date,\n timezone,\n}: UseUnavailabilitiesProps) {\n const [isLoadingUnavailabilities, setIsLoadingUnavailabilities] =\n useState(false);\n const [unavailabilities, setUnavailabilities] = useState(\n {},\n );\n\n const { accessToken, getAccessToken } = useAuth({});\n const { requestCallback } = useAxios({\n waitForAuthentication: true,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n });\n const { sessionId } = useDatadogContext();\n\n useEffect(() => {\n if (!organizationSlug || !userId || !date || !timezone) return;\n\n const reqUnavailabilities = async () => {\n try {\n setIsLoadingUnavailabilities(true);\n const axiosResult = await requestCallback({\n url: '/unavailabilities',\n params: {\n organizationSlug: organizationSlug,\n userId: userId,\n date: date,\n timeZone: timezone,\n traceId: sessionId,\n },\n });\n const { data: unavailabilities } =\n axiosResult.data as unknown as UnavailabilitiesResult;\n setUnavailabilities(unavailabilities);\n } catch (error) {\n datadogLogs.logger.error('useUnavailabilities:reqUnavailabilities', {\n error,\n });\n console.error(error);\n } finally {\n setIsLoadingUnavailabilities(false);\n }\n };\n\n reqUnavailabilities();\n }, [organizationSlug, userId, date, timezone, requestCallback, sessionId]);\n\n return {\n isLoadingUnavailabilities,\n unavailabilities,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport leaderboardPositionsSlice from 'store/slices/leaderboardPositionsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { ILeaderboardPosition } from '@guider-global/shared-types';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle LeaderboardPositions REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns leaderboardPositions - array of LeaderboardPositions in the RestRootState reducer\n * @returns reqLeaderboardPositions - makes requests and stores results in the LeaderboardPositionsReducer\n * @returns getErrorsLeaderboardPositions - gets API errors from the LeaderboardPositionsReducer\n */\nexport function useLeaderboardPositions({\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication: true,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux<\n ILeaderboardPosition,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'leaderboardPositions',\n actions: leaderboardPositionsSlice.actions,\n waitForAuthentication: true,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n leaderboardPositions: hook.getResults,\n reqLeaderboardPositions: hook.request,\n getErrorsLeaderboardPositions: hook.getErrors,\n hasResultsLeaderboardPositions: hook.hasResults,\n getMessageLeaderboardPositions: hook.getMessage,\n getCodeLeaderboardPositions: hook.getCode,\n isLoadingLeaderboardPositions: hook.isLoading,\n isErrorLeaderboardPositions: hook.isError,\n isSuccessLeaderboardPositions: hook.isSuccess,\n };\n}\n","import { useLocation } from 'react-router-dom';\nimport {\n EProgramVariation,\n IProfile,\n IRelationship,\n IUser,\n} from '@guider-global/shared-types';\nimport { useSanityOrganizationPrograms } from '@guider-global/sanity-hooks';\nimport { isSurveyFieldForGuide, isSurveyFieldForTrainee } from 'functions';\n\nexport interface UseSurveyResourcesProps {\n surveyType: 'post_session_survey' | 'post_relationship_survey';\n relationship: IRelationship | undefined;\n user: IUser | undefined;\n}\n\nexport function useSurveyResources({\n surveyType,\n relationship,\n user,\n}: UseSurveyResourcesProps) {\n const { pathname } = useLocation();\n const isOnGuiderVideoPage = pathname.startsWith('/video');\n\n const { getPrograms } = useSanityOrganizationPrograms({});\n const programs = getPrograms();\n\n if (!relationship || !user) {\n return {};\n }\n\n const program = programs.find(\n (program) => program.metadata.id.current === relationship.programSlug,\n );\n const programName = program?.metadata.program_name;\n const surveys = program?.surveys;\n const survey = surveys?.[surveyType];\n const guideSingular =\n program?.program_details?.program_type?.program_type_text?.common?.guide\n ?.singular ?? 'Guide';\n const traineeSingular =\n program?.program_details?.program_type?.program_type_text?.common?.trainee\n ?.singular ?? 'Trainee';\n\n const isGroupProgram =\n relationship.programVariationTypeSlug === EProgramVariation.Group;\n\n const [guideProfile] =\n (relationship?.guideProfiles as Partial[]) ?? [];\n const [traineeProfile] =\n (relationship?.traineeProfiles as Partial[]) ?? [];\n const isGuide = guideProfile?.userId === user?.id;\n const guideName = guideProfile?.displayName;\n const traineeName = traineeProfile?.displayName;\n\n const name = isGuide ? traineeName : guideName;\n const role = isGuide ? traineeSingular : guideSingular;\n const title = survey?.title ?? '';\n const description = survey?.description ?? '';\n const heading = (isGroupProgram ? relationship.title : name) ?? '';\n const subheading =\n (isGroupProgram ? programName : `Your ${role} • ${programName}`) ?? '';\n\n const sessions = relationship?.sessions ?? [];\n const sessionCount = sessions.length;\n const surveyFields = survey?.fields ?? [];\n const guideFields = surveyFields.filter((surveyField) =>\n isSurveyFieldForGuide(surveyField, sessionCount),\n );\n const traineeFields = surveyFields.filter((surveyField) =>\n isSurveyFieldForTrainee(surveyField, sessionCount),\n );\n\n return {\n title,\n description,\n heading,\n subheading,\n profile: isGuide ? guideProfile : traineeProfile,\n surveyFields: isGuide ? guideFields : traineeFields,\n isGuide,\n isGroupProgram,\n isSurveyEnabled: survey?.enabled,\n isOnGuiderVideoPage,\n };\n}\n","import { IVideoParticipant } from '@guider-global/shared-types';\nimport { useGuiderSWR } from '@guider-global/swr';\n\nexport function useVideoParticipants({ waitForAuthentication = true }) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR({\n waitForAuthentication,\n url: '/videoParticipants',\n options: {\n keepPreviousData: true,\n },\n });\n\n return {\n videoParticipants: data,\n reqVideoParticipants: request,\n revalidateVideoParticipants: revalidate,\n errorVideoParticipants: error,\n isLoadingVideoParticipants: isLoading,\n isValidatingVideoParticipants: isValidating,\n isErrorVideoParticipants: Boolean(error),\n };\n}\n","import { IReview } from '@guider-global/shared-types';\nimport { IUseGuiderSWRParams, useGuiderSWR } from '@guider-global/swr';\n\ninterface UseReviewParams extends Omit, 'url'> {}\n\nexport function useReviews({\n waitForAuthentication = true,\n params,\n}: UseReviewParams) {\n const { data, request, revalidate, meta, error, isLoading, isValidating } =\n useGuiderSWR({\n waitForAuthentication,\n url: '/reviews',\n params,\n });\n\n return {\n reviews: data,\n reviewsMeta: meta,\n reqReviews: request,\n reviewsRevalidate: revalidate,\n errorsReviews: error,\n isLoadingReviews: isLoading,\n isErrorReviews: Boolean(error),\n isValidatingReviews: isValidating,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IChatParticipant } from '@guider-global/shared-types';\nimport chatParticipantsSlice from 'store/slices/chatParticipantsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle ChatParticipants REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns relationships - array of relationships in the RestRootState reducer\n * @returns reqChatParticipants - makes requests and stores results in the relationshipsReducer\n * @returns getErrorsChatParticipants - gets API errors from the relationshipsReducer\n */\nexport function useChatParticipants({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux<\n IChatParticipant,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'chatParticipants',\n actions: chatParticipantsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n getChatParticipants: hook.getResults,\n reqChatParticipants: hook.request,\n getErrorsChatParticipants: hook.getErrors,\n hasResultsChatParticipants: hook.hasResults,\n getMessageChatParticipants: hook.getMessage,\n getCodeChatParticipants: hook.getCode,\n getIsLoadingChatParticipants: hook.isLoading,\n getIsErrorChatParticipants: hook.isError,\n getIsSuccessChatParticipants: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IMatch, IMatchV2 } from '@guider-global/shared-types';\nimport matchesV2Slice from 'store/slices/matchesV2Slice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Matches REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns matches - array of matches in the RestRootState reducer\n * @returns reqMatches - makes requests and stores results in the matchesReducer\n * @returns getErrorsMatches - gets API errors from the matchesReducer\n */\nexport function useMatchesV2({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n IMatchV2,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'matchesV2',\n actions: matchesV2Slice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n matchesV2: hook.getResults,\n reqMatchesV2: hook.request,\n getErrorsMatchesV2: hook.getErrors,\n hasResultsMatchesV2: hook.hasResults,\n getMessageMatchesV2: hook.getMessage,\n getCodeMatchesV2: hook.getCode,\n isLoadingMatchesV2: hook.isLoading,\n isErrorMatchesV2: hook.isError,\n isSuccessMatchesV2: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { INotification } from '@guider-global/shared-types';\nimport notificationsSlice from 'store/slices/notificationsSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Notifications REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns notifications - array of notifications in the RestRootState reducer\n * @returns reqNotifications - makes requests and stores results in the notificationsReducer\n * @returns getErrorsNotifications - gets API errors from the notificationsReducer\n */\nexport function useNotifications({\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication: true,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'notifications',\n actions: notificationsSlice.actions,\n waitForAuthentication: true,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n\n function reqLatestNotifications() {\n return hook.request({ url: '/notifications?latest=true' });\n }\n\n return {\n ...hook,\n getNotifications: hook.getResults,\n reqNotifications: hook.request,\n reqLatestNotifications,\n getErrorsNotifications: hook.getErrors,\n hasResultsNotifications: hook.hasResults,\n getMessageNotifications: hook.getMessage,\n getCodeNotifications: hook.getCode,\n getIsLoadingNotifications: hook.isLoading,\n getIsErrorNotifications: hook.isError,\n getIsSuccessNotifications: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { INotification } from '@guider-global/shared-types';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport modalNotificationsSlice from 'store/slices/modalNotificationsSlice';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Notifications REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns notifications - array of notifications in the RestRootState reducer\n * @returns reqNotifications - makes requests and stores results in the notificationsReducer\n * @returns getErrorsNotifications - gets API errors from the notificationsReducer\n */\nexport function useModalNotifications({\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication: true,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'modalNotifications',\n getSilentlyUrl: '/notifications',\n actions: modalNotificationsSlice.actions,\n waitForAuthentication: true,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n getModalNotifications: hook.getResults,\n reqModalNotifications: hook.request,\n getErrorsModalNotifications: hook.getErrors,\n hasResultsModalNotifications: hook.hasResults,\n getMessageModalNotifications: hook.getMessage,\n getCodeModalNotifications: hook.getCode,\n getIsLoadingModalNotifications: hook.isLoading,\n getIsErrorModalNotifications: hook.isError,\n getIsSuccessModalNotifications: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { TOTPSurvey } from '@guider-global/shared-types';\n\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useDatadogContext } from '@guider-global/datadog';\nimport otpSurveysSlice from 'store/slices/otpSurveysSlice';\n\n/**\n * A custom hook to handle OTPSurveys REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns otpSurveys - array of otpSurveys in the RestRootState reducer\n * @returns reqOtpSurveys - makes requests and stores results in the otpSurveysReducer\n */\nexport function useOTPSurveys({\n ...args\n}: RestReduxHook) {\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'otpSurveys',\n actions: otpSurveysSlice.actions,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n otpSurveys: hook.getResults,\n reqOTPSurveys: hook.request,\n getErrorsOTPSurveys: hook.getErrors,\n hasResultsOTPSurveys: hook.hasResults,\n getMessageOTPSurveys: hook.getMessage,\n getCodeOTPSurveys: hook.getCode,\n isOTPSurveys: hook.isLoading,\n isErrorOTPSurveys: hook.isError,\n isSuccessOTPSurveys: hook.isSuccess,\n };\n}\n","/* eslint-disable camelcase */\nimport { useEffect, useState } from 'react';\nimport axios, { AxiosResponse } from 'axios';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useLocalization } from 'hooks';\n\nconst { REACT_APP_BASE_API_URL, REACT_APP_AUTH0_CLIENT_ID } = process.env;\n\nexport interface InviteResponse {\n status: string;\n code: number;\n data: { invitationUrl: string };\n message: string;\n}\nexport interface HandleGetInviteParams {\n organizationId: string;\n organizationName: string;\n email: string;\n}\n\nexport interface UseRegisterInviteResults {\n error?: string;\n inviteUrl?: string;\n loading: boolean;\n handleGetInvite: (params: HandleGetInviteParams) => void;\n}\n\nexport const useRegisterInvite = (): UseRegisterInviteResults => {\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n\n // Local State\n const [error, setError] = useState();\n const [inviteUrl, setInviteUrl] = useState();\n const [loading, setLoading] = useState(false);\n const [getInvite, setGetInvite] = useState();\n\n const handleGetInvite = ({\n organizationId,\n organizationName,\n email,\n }: HandleGetInviteParams) =>\n setGetInvite({ organizationId, organizationName, email });\n\n useEffect(() => {\n if (!getInvite) return;\n const createInvite = async ({\n organizationId,\n organizationName,\n email,\n }: HandleGetInviteParams) => {\n setLoading(true);\n try {\n const request: AxiosResponse =\n await axios.request({\n method: 'POST',\n url: `${REACT_APP_BASE_API_URL}/register/invite?id=${organizationId}`,\n data: {\n inviter: {\n name: organizationName,\n },\n invitee: {\n email,\n },\n client_id: REACT_APP_AUTH0_CLIENT_ID,\n user_metadata: {\n localeCode,\n },\n },\n });\n if (request.status === 204) {\n return;\n }\n\n if (!request.data) {\n setError('no data returned');\n return;\n }\n const inviteUrl = request.data.data.invitationUrl;\n if (!inviteUrl) {\n setError('no invitation returned');\n return;\n }\n setInviteUrl(inviteUrl);\n } catch (err: unknown) {\n setError(`Error getting invite: ${err}`);\n } finally {\n setLoading(false);\n }\n };\n\n createInvite(getInvite);\n setGetInvite(undefined);\n }, [getInvite, localeCode]);\n\n return {\n error,\n inviteUrl,\n loading,\n handleGetInvite,\n };\n};\n","import {\n UseTrackEventParams,\n useGenericTrackEvent,\n} from '@guider-global/customer-io-hooks';\nimport { useEvents } from 'hooks';\n\nexport function useTrackEvent(\n params: UseTrackEventParams,\n waitForAuthentication = true,\n) {\n const { reqEvents, isLoading } = useEvents({ waitForAuthentication });\n\n const controller = useGenericTrackEvent({\n isLoading: isLoading(),\n reqEvents,\n ...params,\n });\n\n return controller;\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport videoToken from 'store/slices/videoTokenSlice';\nimport { ITokenVideo } from '@guider-global/shared-types';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Video REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns video - array of video in the RestRootState reducer\n * @returns reqVideo - makes requests and stores results in the videoReducer\n * @returns getErrorsVideo - gets API errors from the videoReducer\n */\nexport function useVideoTokens({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult =\n useRestRedux({\n ...args,\n resultDataName: 'videoToken',\n actions: videoToken.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n videoToken: hook.getResults,\n reqVideoToken: hook.request,\n getErrorsVideoToken: hook.getErrors,\n hasResultsVideoToken: hook.hasResults,\n getMessageVideoToken: hook.getMessage,\n getCodeVideoToken: hook.getCode,\n isLoadingVideoToken: hook.isLoading,\n isErrorVideoToken: hook.isError,\n isSuccessVideoToken: hook.isSuccess,\n };\n}\n","import {\n IUseRestReduxResult,\n useRestRedux,\n RestReduxHook,\n} from '@guider-global/redux-axios-hooks';\nimport { IVideo } from '@guider-global/shared-types';\nimport videoSlice from 'store/slices/videoSlice';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\n\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\n\n/**\n * A custom hook to handle Video REST API requests connected the redux store\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns video - array of video in the RestRootState reducer\n * @returns reqVideo - makes requests and stores results in the videoReducer\n * @returns getErrorsVideo - gets API errors from the videoReducer\n */\nexport function useVideos({\n waitForAuthentication = true,\n ...args\n}: RestReduxHook) {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const hook: IUseRestReduxResult = useRestRedux<\n IVideo,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n resultDataName: 'video',\n actions: videoSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n return {\n ...hook,\n video: hook.getResults,\n reqVideo: hook.request,\n getErrorsVideo: hook.getErrors,\n hasResultsVideo: hook.hasResults,\n getMessageVideo: hook.getMessage,\n getCodeVideo: hook.getCode,\n isLoadingVideo: hook.isLoading,\n isErrorVideo: hook.isError,\n isSuccessVideo: hook.isSuccess,\n };\n}\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport './index.css';\nimport { App, ErrorComponent } from 'components';\nimport { store } from './store';\nimport { Provider } from 'react-redux';\nimport { ErrorBoundary } from '@guider-global/ui';\nimport { datadogLogs } from '@guider-global/datadog';\nimport { MaintenancePage } from 'pages';\n\nconst {\n REACT_APP_DATADOG_CLIENT_TOKEN,\n REACT_APP_DATADOG_SITE,\n REACT_APP_DATADOG_LOGGING_ENABLED,\n REACT_APP_DOWN_FOR_MAINTENANCE,\n} = process.env;\n\nfunction logToDatadog(error: unknown, errorInfo: unknown) {\n if (\n REACT_APP_DATADOG_CLIENT_TOKEN &&\n REACT_APP_DATADOG_SITE &&\n REACT_APP_DATADOG_LOGGING_ENABLED\n ) {\n datadogLogs.logger.error('Error Boundary thrown', {\n error,\n errorInfo,\n });\n }\n}\n\nconst isDownForMaintenance = REACT_APP_DOWN_FOR_MAINTENANCE === 'true';\n\nconst container = document.getElementById('root');\n\nconst root = createRoot(container!);\n\nif (isDownForMaintenance) {\n root.render(\n \n \n ,\n );\n} else {\n root.render(\n \n \n ErrorComponent({ message, code })}\n >\n \n \n \n ,\n );\n}\n"],"names":["REACT_APP_AUTH0_AUDIENCE","REACT_APP_BASE_API_URL","axios","baseURL","DEFAULT_START_TIME","DEFAULT_END_TIME","useAvailabilities","_a","_b","waitForAuthentication","args","organizationSlug","getSubDomain","getOrganization","useSanityOrganization","getSilently","organization","orgStartTime","availabilities","start_time","orgEndTime","end_time","defaultAvailability","useMemo","DaysOfWeek","acc","day","isNotWeekend","startTime","endTime","accessToken","getAccessToken","useAuth","sessionId","useDatadogContext","hook","useRestRedux","resultDataName","actions","availabilitiesSlice","onExpiredAccessToken","traceId","getResults","reqAvailabilities","request","createAvailabilities","data","method","url","updateAvailabilities","availabilityId","getErrorsAvailabilities","getErrors","hasResultsAvailabilities","hasResults","getMessageAvailabilities","getMessage","getCodeAvailabilities","getCode","isLoadingAvailabilities","isLoading","isErrorAvailabilities","isError","isSuccessAvailabilities","isSuccess","useChatToken","profileId","loading","setLoading","useState","token","setToken","error","setError","requestCallback","useAxios","useEffect","axiosResult","params","axiosData","status","message","errors","code","length","console","log","errorMessage","flatMap","join","chatError","Error","name","err","unknownErrorMessage","unknownErrorCode","datadogLogs","getChatToken","useCustomFields","customFieldsSlice","customFields","reqCustomFields","getErrorsCustomFields","hasResultsCustomFields","getMessageCustomFields","getCodeCustomFields","isLoadingCustomFields","isErrorCustomFields","isSuccessCustomFields","useEvents","programSlug","getProgram","useSanityOrganizationPrograms","program","organizationName","basic_info","goalCategories","goal_categories","eventsSlice","getEvents","reqEvents","getErrorsEvents","hasResultsEvents","getMessageEvents","getCodeEvents","getIsLoadingEvents","getIsErrorEvents","getIsSuccessEvents","getProgramDataForEvent","programType","program_details","program_type","metadata","id","current","variation","program_name","description","program_description","slug","landingPageURL","window","location","origin","guideRegistrationUrl","traineeRegistrationUrl","type","noun","program_type_text","common","verb","guideSingular","guide","singular","guidePluralized","pluralized","traineeSingular","trainee","traineePluralized","getOrganizationDataForEvent","learningHubURL","getGoalDataForEvent","goal","goalCategoryName","categories","find","goalCategory","goal_category_slug","categorySlug","goal_category_name","goalName","objective","goalStatus","goalUrl","getProgramsDataForEvent","programs","map","useGoals","goalsSlice","goals","reqGoals","getErrorsGoals","hasResultsGoals","getMessageGoals","getCodeGoals","isLoadingGoals","isErrorGoals","isSuccessGoals","useUserIntegrations","userIntegrationsSlice","userIntegrations","reqUserIntegrations","getErrorsUserIntegrations","hasResultsUserIntegrations","getMessageUserIntegrations","getCodeUserIntegrations","isLoadingUserIntegrations","isErrorUserIntegrations","isSuccessUserIntegrations","useSettings","settingsSlice","getSettings","reqSettings","createSettings","updateSettings","settingsId","getErrorsSettings","hasResultsSettings","getMessageSettings","getCodeSettings","getIsLoadingSettings","getIsErrorSettings","getIsSuccessSettings","useLocalization","dispatch","getProfiles","useProfiles","profile","isLoadingSettings","isErrorSettings","settings","lastUsedLanguage","localeCode","createOrUpdateSettings","useCallback","onLanguageChange","textDirection","setDocAttrsAndMetaTag","settingErrors","errorCodes","errorMessages","errorCode","severity","timeout","handleLanguageChange","useSanityLocalization","SessionStorageKeys","useMatches","matchesSlice","matches","reqMatches","getErrorsMatches","hasResultsMatches","getMessageMatches","getCodeMatches","isLoadingMatches","isErrorMatches","isSuccessMatches","useMemberships","membershipsSlice","memberships","reqMemberships","getErrorsMemberships","hasResultsMemberships","getMessageMemberships","getCodeMemberships","isLoadingMemberships","isErrorMemberships","isSuccessMemberships","props","navigationEventName","eventName","Date","now","trackMixpanelEvent","properties","page_name","pathname","referrer","document","getClickProp","Click","getISOStringWithoutMilliseconds","getScreenTimeProp","getScreenTimeAndClickProps","trackClick","trackScreenTime","trackScreenTimeAndClick","startTimeISOString","setUserProperties","setOrganizationGroup","resetUserIdentity","unionUserProperty","incrementUserPropetry","useMobileMediaQuery","theme","useTheme","useMediaQuery","breakpoints","down","useNotes","notesSlice","notes","reqNotes","getErrorsNotes","hasResultsNotes","getMessageNotes","getCodeNotes","isLoadingNotes","isErrorNotes","isSuccessNotes","profilesSlice","reqProfiles","getErrorsProfiles","hasResultsProfiles","getMessageProfiles","getCodeProfiles","isLoadingProfiles","isErrorProfiles","isSuccessProfiles","useRelationships","relationshipsSlice","relationships","reqRelationships","getErrorsRelationships","hasResultsRelationships","getMessageRelationships","getCodeRelationships","isLoadingRelationships","isErrorRelationships","isSuccessRelationships","FrontEndSessionStorageKeys","SharedSessionStorageKeys","useSessionStorageTyped","key","defaultValue","useSessionStorage","useSessions","sessionsSlice","sessions","reqSessions","getErrorsSessions","hasResultsSessions","getMessageSessions","getCodeSessions","isLoadingSessions","isErrorSessions","isSuccessSessions","useSkills","skillsSlice","skills","reqSkills","getErrorsSkills","hasResultsSkills","getMessageSkills","getCodeSkills","isLoadingSkills","isErrorSkills","isSuccessSkills","useSurveys","surveysSlice","getSurveys","reqSurveys","createSurveys","getErrorsSurveys","hasResultsSurveys","getMessageSurveys","getCodeSurveys","getIsLoadingSurveys","getIsErrorSurveys","getIsSuccessSurveys","useUserPictures","picture","setPicture","getPicture","headers","Authorization","responseType","size","useUsers","usersSlice","users","reqUsers","getErrorsUsers","hasResultsUsers","getMessageUsers","getCodeUsers","isLoadingUsers","isErrorUsers","isSuccessUsers","getWindowDimensions","innerWidth","width","innerHeight","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","addEventListener","removeEventListener","useProfilePicture","getUsers","usersFound","user","oauthPicture","getImage","usePicture","getLoading","profilesFound","isProfileLoading","profilePicture","initials","firstName","charAt","toUpperCase","lastName","useUnavailabilities","userId","date","timezone","isLoadingUnavailabilities","setIsLoadingUnavailabilities","unavailabilities","setUnavailabilities","timeZone","reqUnavailabilities","useLeaderboardPositions","leaderboardPositionsSlice","leaderboardPositions","reqLeaderboardPositions","getErrorsLeaderboardPositions","hasResultsLeaderboardPositions","getMessageLeaderboardPositions","getCodeLeaderboardPositions","isLoadingLeaderboardPositions","isErrorLeaderboardPositions","isSuccessLeaderboardPositions","useSurveyResources","surveyType","relationship","isOnGuiderVideoPage","startsWith","getPrograms","programName","surveys","survey","isGroupProgram","programVariationTypeSlug","EProgramVariation","guideProfile","guideProfiles","traineeProfile","traineeProfiles","isGuide","guideName","displayName","traineeName","role","title","heading","subheading","sessionCount","surveyFields","fields","guideFields","filter","surveyField","traineeFields","isSurveyEnabled","enabled","useVideoParticipants","revalidate","isValidating","useGuiderSWR","options","keepPreviousData","videoParticipants","reqVideoParticipants","revalidateVideoParticipants","errorVideoParticipants","isLoadingVideoParticipants","isValidatingVideoParticipants","isErrorVideoParticipants","Boolean","useReviews","meta","reviews","reviewsMeta","reqReviews","reviewsRevalidate","errorsReviews","isLoadingReviews","isErrorReviews","isValidatingReviews","useChatParticipants","getChatParticipants","reqChatParticipants","getErrorsChatParticipants","hasResultsChatParticipants","getMessageChatParticipants","getCodeChatParticipants","getIsLoadingChatParticipants","getIsErrorChatParticipants","getIsSuccessChatParticipants","useMatchesV2","matchesV2","reqMatchesV2","getErrorsMatchesV2","hasResultsMatchesV2","getMessageMatchesV2","getCodeMatchesV2","isLoadingMatchesV2","isErrorMatchesV2","isSuccessMatchesV2","useNotifications","getNotifications","reqNotifications","reqLatestNotifications","getErrorsNotifications","hasResultsNotifications","getMessageNotifications","getCodeNotifications","getIsLoadingNotifications","getIsErrorNotifications","getIsSuccessNotifications","useModalNotifications","getSilentlyUrl","getModalNotifications","reqModalNotifications","getErrorsModalNotifications","hasResultsModalNotifications","getMessageModalNotifications","getCodeModalNotifications","getIsLoadingModalNotifications","getIsErrorModalNotifications","getIsSuccessModalNotifications","useOTPSurveys","otpSurveys","reqOTPSurveys","getErrorsOTPSurveys","hasResultsOTPSurveys","getMessageOTPSurveys","getCodeOTPSurveys","isOTPSurveys","isErrorOTPSurveys","isSuccessOTPSurveys","REACT_APP_AUTH0_CLIENT_ID","useRegisterInvite","inviteUrl","setInviteUrl","getInvite","setGetInvite","organizationId","email","inviter","invitee","client_id","user_metadata","invitationUrl","handleGetInvite","useTrackEvent","useGenericTrackEvent","useVideoTokens","videoToken","reqVideoToken","getErrorsVideoToken","hasResultsVideoToken","getMessageVideoToken","getCodeVideoToken","isLoadingVideoToken","isErrorVideoToken","isSuccessVideoToken","useVideos","video","reqVideo","getErrorsVideo","hasResultsVideo","getMessageVideo","getCodeVideo","isLoadingVideo","isErrorVideo","isSuccessVideo","REACT_APP_DATADOG_CLIENT_TOKEN","REACT_APP_DATADOG_SITE","REACT_APP_DATADOG_LOGGING_ENABLED","REACT_APP_DOWN_FOR_MAINTENANCE","isDownForMaintenance","container","getElementById","root","render","Provider","store","logger","errorInfo","fallback"],"sourceRoot":""}