{"version":3,"file":"static/js/app-edf431ce_aad9b10c7b0e2d5bb3b8.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/containers/Programs/ProgramListContainer/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/containers/Registration/RegistrationContainer/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/containers/Registration/ProgressContainer/index.tsx"],"sourcesContent":["import { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n buildSanityImageUrl,\n useBaseLanguage,\n useOrganization,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n EProgramVariation,\n ICustomField,\n Program,\n} from '@guider-global/shared-types';\nimport {\n ChipProps,\n MainColors,\n ResourceCard,\n Text,\n ToolTip,\n} from '@guider-global/ui';\nimport Star from '@mui/icons-material/Star';\nimport { Grid } from '@mui/material';\nimport { Stack } from '@mui/system';\nimport { interpolate } from 'functions';\nimport {\n useLocalization,\n useMemberships,\n useProfiles,\n useRelationships,\n} from 'hooks';\nimport { useCallback, useMemo } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\nexport type ProgramListContainerProps = {\n value: string;\n hasMultipleProgramVariations: boolean;\n};\n\nexport function ProgramListContainer({\n value,\n hasMultipleProgramVariations,\n}: ProgramListContainerProps) {\n const navigate = useNavigate();\n\n // Profile\n const { getProfiles } = useProfiles({});\n const [profile] = getProfiles();\n const profileOrganizationFields =\n profile?.organizationFields as ICustomField[];\n\n // Memberships\n const { memberships: getMemberships } = useMemberships({});\n const memberships = getMemberships();\n\n // Organization\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { organization } = useOrganization({ organizationSlug, localeCode });\n const { baseLanguage } = useBaseLanguage({ localeCode });\n const openMatchingEnabled =\n organization?.open_matching?.enable_open_matching ?? false;\n\n const openMatchingProgramTypeVerb =\n organization?.open_matching?.program_type?.program_type_text?.common?.verb;\n\n let openMatchingChipColor: MainColors = 'primary';\n\n if (openMatchingProgramTypeVerb === 'Mentoring') {\n openMatchingChipColor = 'success';\n } else if (openMatchingProgramTypeVerb === 'Coaching') {\n openMatchingChipColor = 'info';\n }\n\n // Programs\n const { getAuthorizedPrograms } = useOrganizationPrograms({\n organizationSlug,\n localeCode,\n });\n\n const authorizedPrograms = getAuthorizedPrograms(\n profileOrganizationFields,\n memberships,\n );\n\n // Derivations\n const programList = baseLanguage?.programs?.programs_list;\n\n const ongoing_programs_label = programList?.ongoing_programs_label;\n const ongoing_programs_tooltip_text =\n programList?.ongoing_programs_tooltip_text;\n const cohort_programs_label = programList?.cohort_programs_label;\n const cohort_programs_tooltip_text =\n programList?.cohort_programs_tooltip_text;\n const group_programs_label = programList?.group_programs_label;\n const group_programs_tooltip_text = programList?.group_programs_tooltip_text;\n const you_are_eligible_text = programList?.you_are_eligible_text;\n\n const { relationships: getRelationships } = useRelationships({});\n\n const relationships = getRelationships().filter(\n (relationship) => !relationship.isConcluded,\n );\n\n const guideMemberships = useMemo(\n () =>\n memberships\n .filter((membership) => membership.role === 'guide')\n .map((membership) => {\n const programRelationships = relationships.filter(\n (relationship) =>\n relationship.programSlug === membership.programSlug,\n );\n\n const [relationshipUserIds] = programRelationships.map(\n (relationship) =>\n relationship?.guideProfiles?.map((profile) => profile.userId),\n );\n\n const relationshipLength =\n relationshipUserIds?.filter((id) => id === membership.userId)\n .length ?? 0;\n\n return {\n membership,\n relationships: relationshipLength,\n };\n }),\n [memberships, relationships],\n );\n\n const traineeMemberships = useMemo(\n () =>\n memberships\n .filter((membership) => membership.role === 'trainee')\n .map((membership) => {\n const programRelationships = relationships.filter(\n (relationship) =>\n relationship.programSlug === membership.programSlug,\n );\n\n const [relationshipUserIds] = programRelationships.map(\n (relationship) =>\n relationship?.traineeProfiles?.map((profile) => profile.userId),\n );\n\n const relationshipLength =\n relationshipUserIds?.filter((id) => id === membership.userId)\n .length ?? 0;\n return {\n membership,\n relationships: relationshipLength,\n };\n }),\n [memberships, relationships],\n );\n\n const getProgramData = useCallback(\n (program: Program) => {\n let relationshipLimitReached;\n let hasGuideMembership;\n let hasGuideMembershipAndRelationships;\n let hasTraineeMembershipWithRelationships;\n let traineeRegistrationText;\n let guideRegistrationText;\n let relationshipLimitReachedText;\n let chipColor: ChipProps['color'];\n\n const relationships =\n traineeMemberships.find(\n (membership) =>\n membership.membership.programSlug === program.metadata.id.current,\n )?.relationships ?? 0;\n\n const limit =\n program.relationships.relationship_limits?.trainee_relationship_limit;\n const enabled =\n program.relationships.relationship_limits\n ?.enable_trainee_relationship_limit;\n\n if (enabled && limit && relationships >= limit) {\n relationshipLimitReached = true;\n } else {\n relationshipLimitReached = false;\n }\n\n if (\n guideMemberships\n .map((membership: any) => membership.membership.programSlug)\n .includes(program.metadata.id.current)\n ) {\n hasGuideMembership = true;\n } else {\n hasGuideMembership = false;\n }\n\n if (\n guideMemberships\n .filter((membership) => membership.relationships > 0)\n .map((membership: any) => membership.membership.programSlug)\n .includes(program.metadata.id.current)\n ) {\n hasGuideMembershipAndRelationships = true;\n } else {\n hasGuideMembershipAndRelationships = false;\n }\n\n if (\n traineeMemberships\n .filter((membership) => membership.relationships > 0)\n .map((membership: any) => membership.membership.programSlug)\n .includes(program.metadata.id.current)\n ) {\n hasTraineeMembershipWithRelationships = true;\n } else {\n hasTraineeMembershipWithRelationships = false;\n }\n\n if (\n program.program_details?.program_variation === EProgramVariation.Group\n ) {\n traineeRegistrationText = hasTraineeMembershipWithRelationships\n ? program.program_details?.program_type?.program_type_text.variations\n ?.group?.program_actions?.trainee?.find_another_guide_button_label\n : program.program_details?.program_type?.program_type_text.variations\n ?.group?.program_actions?.trainee\n ?.register_as_trainee_button_label;\n } else {\n traineeRegistrationText = hasTraineeMembershipWithRelationships\n ? program.program_details?.program_type?.program_type_text.variations\n ?.individual?.program_actions?.trainee\n ?.find_another_guide_button_label\n : program.program_details?.program_type?.program_type_text.variations\n ?.individual?.registration?.registration_landing_page\n ?.trainee_cta_button_label;\n }\n\n if (\n program.program_details?.program_variation === EProgramVariation.Group\n ) {\n guideRegistrationText = hasGuideMembershipAndRelationships\n ? program.program_details?.program_type?.program_type_text.variations\n ?.group?.program_actions?.guide?.manage_guide_profile_button_label\n : program.program_details?.program_type?.program_type_text.variations\n ?.group?.program_actions?.guide?.register_as_guide_button_label;\n } else {\n guideRegistrationText = hasGuideMembership\n ? program.program_details?.program_type?.program_type_text.variations\n ?.individual?.program_actions?.guide\n ?.manage_guide_profile_button_label\n : program.program_details?.program_type?.program_type_text.variations\n ?.individual?.registration?.registration_landing_page\n ?.guide_cta_button_label;\n }\n\n if (\n program.program_details?.program_variation === EProgramVariation.Group\n ) {\n relationshipLimitReachedText = interpolate(\n baseLanguage?.dashboard?.program_memberships?.with_program_memberships\n ?.membership_details?.group_membership?.group_member\n ?.group_limit_reached,\n {\n roleSingular:\n program.program_details?.program_type?.program_type_text.common\n ?.guide?.singular ?? 'Mentor',\n },\n 'Group limit reached',\n );\n } else {\n relationshipLimitReachedText = interpolate(\n baseLanguage?.dashboard?.program_memberships?.with_program_memberships\n ?.membership_details?.individual_membership?.trainee\n ?.guide_limit_reached,\n {\n roleSingular:\n program.program_details?.program_type?.program_type_text.common\n ?.guide?.singular ?? 'Mentor',\n },\n 'Group limit reached',\n );\n }\n\n const type =\n program.program_details?.program_type?.program_type_text.common?.verb;\n\n if (type === 'Mentoring') {\n chipColor = 'success';\n } else if (type === 'Coaching') {\n chipColor = 'info';\n } else {\n chipColor = 'primary';\n }\n\n return {\n relationshipLimitReached,\n hasGuideMembership,\n hasGuideMembershipAndRelationships,\n hasTraineeMembershipWithRelationships,\n traineeRegistrationText,\n guideRegistrationText,\n relationshipLimitReachedText,\n chipColor,\n };\n },\n [\n baseLanguage?.dashboard?.program_memberships?.with_program_memberships\n ?.membership_details?.group_membership?.group_member\n ?.group_limit_reached,\n baseLanguage?.dashboard?.program_memberships?.with_program_memberships\n ?.membership_details?.individual_membership?.trainee\n ?.guide_limit_reached,\n guideMemberships,\n traineeMemberships,\n ],\n );\n\n if (!authorizedPrograms) {\n return <>;\n }\n\n const cohortPrograms = authorizedPrograms.filter(\n (program) =>\n program.program_details?.program_variation ===\n EProgramVariation.Individual,\n );\n const groupPrograms = authorizedPrograms.filter(\n (program) =>\n program.program_details?.program_variation === EProgramVariation.Group,\n );\n\n function hideMatchButton() {\n if (!profile?.roles?.includes('trainee')) {\n return true;\n } else if (\n profile?.skills?.length === 0 ||\n profile?.goalCategories?.length === 0\n ) {\n return true;\n }\n\n return false;\n }\n\n return (\n \n {(value === 'all' || value === 'open') && openMatchingEnabled && (\n \n \n \n \n \n navigate('../profile/bio'),\n hidden: profile?.roles?.length === 0 ? false : true,\n },\n {\n key: 'btn-2',\n variant: 'outlined',\n label: baseLanguage?.globals?.common?.edit_profile_button_label,\n color: 'info',\n onClick: () => navigate('../profile/bio'),\n hidden: profile?.roles?.length === 0 ? true : false,\n },\n {\n key: 'btn-3',\n variant: 'contained',\n label: baseLanguage?.globals?.common?.find_a_match_button_label,\n color: 'info',\n onClick: () => navigate('../profile/matches/guide'),\n hidden: hideMatchButton(),\n },\n ]}\n chips={[\n {\n variant: 'outlined',\n position: 'top',\n label: openMatchingProgramTypeVerb ?? '',\n color: openMatchingChipColor,\n sx: {\n '&.MuiChip-root': {\n fontWeight: '500',\n borderRadius: '4px',\n },\n },\n },\n ]}\n />\n \n )}\n\n {(value === 'all' || value === EProgramVariation.Individual) &&\n cohortPrograms.length > 0 ? (\n \n {hasMultipleProgramVariations ? (\n \n \n {cohort_programs_tooltip_text ? (\n \n ) : undefined}\n \n ) : undefined}\n\n \n {cohortPrograms.map((program: Program, index) => {\n const programData = getProgramData(program);\n const singularProgram = cohortPrograms?.length === 1 ?? false;\n\n return (\n \n \n navigate(`./${program.metadata.id.current}`),\n }}\n imageSrc={buildSanityImageUrl({\n source: program?.program_details?.program_image ?? '',\n })}\n title={program.metadata.program_name}\n description={program.program_details?.program_description}\n imagePosition=\"center\"\n sx={{\n height: '100%',\n boxShadow: '0px 4px 30px 0px #4D54640D',\n border: 'none',\n }}\n buttons={[\n {\n label: programData.guideRegistrationText,\n key: `${program.metadata.id.current}-button-1`,\n variant: 'outlined',\n color: 'info',\n onClick: () =>\n navigate(\n programData.hasGuideMembership\n ? `./${program.metadata.id.current}/manage/guide`\n : `./${program.metadata.id.current}/join/guide`,\n ),\n 'data-cy': programData.hasGuideMembership\n ? `${program.metadata.id.current}-guide-manage-button`\n : `${program.metadata.id.current}-guide-join-button`,\n },\n {\n label: programData.relationshipLimitReached\n ? programData.relationshipLimitReachedText\n : programData.traineeRegistrationText,\n key: `${program.metadata.id.current}-button-2`,\n variant: 'outlined',\n color: 'info',\n onClick: () =>\n navigate(\n `./${program.metadata.id.current}/join/trainee`,\n ),\n disabled: programData.relationshipLimitReached,\n 'data-cy': `${program.metadata.id.current}-trainee-join-button`,\n },\n ]}\n chips={[\n {\n variant: 'outlined',\n position: 'top',\n label:\n program.program_details?.program_type\n ?.program_type_text.common?.verb ?? '',\n color: programData.chipColor,\n sx: {\n '&.MuiChip-root': {\n fontWeight: '500',\n borderRadius: '4px',\n },\n },\n },\n {\n position: 'top',\n label: you_are_eligible_text,\n color: 'warning',\n icon: ,\n variant: 'outlined',\n hidden: program.metadata.restrict_audience_config\n ?.restrict_audience\n ? false\n : true,\n sx: {\n '&.MuiChip-root': {\n fontWeight: 500,\n borderRadius: '4px',\n },\n },\n },\n ]}\n />\n \n );\n })}\n \n \n ) : undefined}\n {(value === 'all' || value === EProgramVariation.Group) &&\n groupPrograms.length > 0 ? (\n \n {hasMultipleProgramVariations ? (\n \n \n {group_programs_tooltip_text ? (\n \n ) : undefined}\n \n ) : undefined}\n\n \n {groupPrograms.map((program: Program, index) => {\n const programData = getProgramData(program);\n const singularProgram = groupPrograms?.length === 1 ?? false;\n\n return (\n \n \n navigate(`./${program.metadata.id.current}`),\n }}\n imageSrc={buildSanityImageUrl({\n source: program?.program_details?.program_image ?? '',\n })}\n title={program.metadata.program_name}\n description={program.program_details?.program_description}\n imagePosition=\"center\"\n sx={{\n height: '100%',\n boxShadow: '0px 4px 30px 0px #4D54640D',\n border: 'none',\n }}\n buttons={[\n {\n label: programData.guideRegistrationText,\n key: `${program.metadata.id.current}-button-1`,\n variant: 'outlined',\n color: 'info',\n onClick: () =>\n navigate(\n `./${program.metadata.id.current}/join/guide`,\n ),\n 'data-cy': programData.hasGuideMembership\n ? `${program.metadata.id.current}-guide-manage-button`\n : `${program.metadata.id.current}-guide-join-button`,\n },\n {\n label: programData.relationshipLimitReached\n ? programData.relationshipLimitReachedText\n : programData.traineeRegistrationText,\n key: `${program.metadata.id.current}-button-2`,\n variant: 'outlined',\n color: 'info',\n onClick: () =>\n navigate(\n `./${program.metadata.id.current}/join/trainee`,\n ),\n disabled: programData.relationshipLimitReached,\n 'data-cy': `${program.metadata.id.current}-trainee-join-button`,\n },\n ]}\n chips={[\n {\n variant: 'outlined',\n position: 'top',\n label:\n program.program_details?.program_type\n ?.program_type_text.common?.verb ?? '',\n color: programData.chipColor,\n sx: {\n '&.MuiChip-root': {\n fontWeight: '500',\n borderRadius: '4px',\n },\n },\n },\n {\n position: 'top',\n label: you_are_eligible_text,\n color: 'warning',\n icon: ,\n variant: 'outlined',\n hidden: program.metadata.restrict_audience_config\n ?.restrict_audience\n ? false\n : true,\n sx: {\n '&.MuiChip-root': {\n fontWeight: 500,\n borderRadius: '4px',\n },\n },\n },\n ]}\n />\n \n );\n })}\n \n \n ) : undefined}\n \n );\n}\n","import { useAuth0 } from '@auth0/auth0-react';\nimport { getOrigin, getSubDomain } from '@guider-global/front-end-utils';\nimport {\n buildSanityImageUrl,\n useOrganization,\n useBaseLanguage,\n} from '@guider-global/sanity-hooks';\nimport { SanityImage, URLQueryParams } from '@guider-global/shared-types';\nimport {\n Button,\n ButtonStack,\n ButtonStackItem,\n Divider,\n Stack,\n StaticAlert,\n Text,\n TextField,\n} from '@guider-global/ui';\nimport { Collapse, useTheme } from '@mui/material';\nimport {\n SessionStorageKeys,\n useLocalization,\n useSessionStorageTyped,\n} from 'hooks';\nimport { useRegisterInvite } from 'hooks/useRegisterInvite';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport { validateEmail } from 'utils/validateEmail';\n\nexport function RegistrationContainer() {\n // State\n\n const [email, setEmail] = useState();\n const [error, setError] = useState();\n\n const [verifyEmail, setVerifyEmail] = useState(false);\n\n // Search params\n\n const [urlSearchParams] = useSearchParams();\n\n const [, setRedirect] = useSessionStorageTyped(\n SessionStorageKeys.REGISTER_REDIRECT,\n );\n\n const redirectUrl = urlSearchParams.get(URLQueryParams.REDIRECT);\n\n // Theme\n\n const { palette } = useTheme();\n\n // Auth\n\n const { loginWithRedirect } = useAuth0();\n const origin = getOrigin();\n\n // Organization\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { organization } = useOrganization({\n organizationSlug,\n });\n\n const organizationId = organization?.basic_info?.auth0_organization_id;\n const organizationSSOConfigurations =\n organization?.access?.configuration_array ?? [];\n const organizationName = organization?.basic_info?.name;\n const verifyEmailEnabled = organization?.access.email_verification ?? false;\n const allowLocalRegistration =\n organization?.access?.local_account_registration ?? false;\n\n // Base Language\n\n const { baseLanguage } = useBaseLanguage({\n localeCode,\n });\n\n const registrationText = baseLanguage?.registration;\n\n // Handle invites\n\n const { inviteUrl, handleGetInvite, loading } = useRegisterInvite();\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\n if (redirectUrl) {\n setRedirect(redirectUrl);\n }\n\n loginWithRedirect({\n authorizationParams: {\n organization: organizationId,\n invitation,\n },\n });\n }, [inviteUrl, loginWithRedirect, origin, redirectUrl, setRedirect]);\n\n // SSO registration\n\n const handleSSORegister = useCallback(\n async (connection: string, organizationId: string) => {\n if (redirectUrl) {\n setRedirect(redirectUrl);\n }\n\n await loginWithRedirect({\n authorizationParams: {\n connection,\n organization: organizationId,\n },\n async openUrl(url) {\n window.location.href = url;\n },\n });\n },\n [loginWithRedirect, redirectUrl, setRedirect],\n );\n\n const getSvg = useCallback((image: SanityImage) => {\n const imageSource = buildSanityImageUrl({\n source: image,\n format: 'svg',\n height: 22,\n });\n\n return {`SSO;\n }, []);\n\n const ssoButtons: ButtonStackItem[] = organizationSSOConfigurations.map(\n (config) => {\n return {\n key: `${config.auth0_connection_id}`,\n label: config.button_label,\n color: 'gray',\n variant: 'outlined',\n sx: {\n color: palette.text.primary,\n '&&:hover': { color: palette.info.main },\n },\n startIcon: getSvg(config.image),\n onClick: () =>\n organizationId &&\n handleSSORegister(config.auth0_connection_id, organizationId),\n };\n },\n );\n\n // Local registration\n\n useEffect(() => {\n if (!email) {\n setError(false);\n }\n }, [email]);\n\n const handleEmailRegister = useCallback(\n (email: string | undefined) => {\n if (!email || !organizationId || !organizationName) return;\n if (redirectUrl) {\n setRedirect(redirectUrl);\n }\n if (verifyEmailEnabled) {\n setVerifyEmail(true);\n }\n handleGetInvite({\n organizationId,\n organizationName,\n email,\n });\n },\n [\n handleGetInvite,\n organizationId,\n organizationName,\n setRedirect,\n redirectUrl,\n verifyEmailEnabled,\n ],\n );\n\n function handleEmail(email: string) {\n setEmail(email);\n const validEmail = validateEmail(email);\n if (!validEmail) {\n return setError(true);\n }\n return setError(false);\n }\n\n // Handle login\n\n const handleLogin = useCallback(() => {\n if (redirectUrl) {\n setRedirect(redirectUrl);\n }\n loginWithRedirect({\n authorizationParams: {\n organization: organizationId,\n },\n });\n }, [loginWithRedirect, organizationId, redirectUrl, setRedirect]);\n\n return (\n \n \n {ssoButtons.length > 0 && (\n \n )}\n\n {ssoButtons.length > 0 && allowLocalRegistration && (\n {registrationText?.common?.divider_text}\n )}\n {allowLocalRegistration && (\n <>\n \n \n \n \n handleEmail(e.target.value)}\n error={error}\n helperText={\n error && registrationText?.local_accounts?.email_error_message\n }\n data-cy={'local-email-registration-field'}\n />\n handleEmailRegister(email)}\n disabled={!validateEmail(email)}\n loading={loading}\n fullWidth\n sx={{ mt: 2 }}\n data-cy={'local-email-register-button'}\n />\n \n \n )}\n\n \n \n handleLogin()}\n data-cy={'registration-sign-in-btn'}\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, ScrollToTop, theme } from '@guider-global/ui';\nimport { Box, Stack, ThemeProvider, useTheme } from '@mui/system';\nimport { LanguageMenu } from 'components';\n\nimport { useLocalization, useProfiles } from 'hooks';\nimport { ReactNode, useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useAppDispatch } from 'store/hooks';\nimport { hideNavbar, showNavbar } from 'store/slices/appSlice';\nimport { deepMerge } from 'utils';\n\ninterface ProgressContainerProps {\n children: ReactNode;\n onBackButtonClick?: VoidFunction;\n endAdornment?: ReactNode;\n percentage?: number;\n}\n\nexport function ProgressContainer({\n children,\n onBackButtonClick,\n endAdornment,\n percentage,\n}: ProgressContainerProps) {\n const [progress, setProgress] = useState();\n\n // Hooks\n\n const organizationSlug = getSubDomain();\n const { pathname } = useLocation();\n const dispatch = useAppDispatch();\n\n const { localeCode, handleLanguageChange } =\n useLocalization(organizationSlug);\n\n // Hide navbar\n useEffect(() => {\n dispatch(hideNavbar(true));\n return () => {\n dispatch(showNavbar(true));\n };\n }, [dispatch]);\n\n // Theme\n\n const organizationTheme = useTheme();\n const palette = deepMerge(theme.appTheme.palette, organizationTheme.palette);\n\n const { organization } = useOrganization({\n organizationSlug,\n });\n\n const { getProfiles, reqProfiles } = useProfiles({\n getSilently: false,\n forceRefresh: false,\n getSilentlyUrl: '/profiles',\n queryParams: {\n integrationsEnabled: true,\n },\n });\n\n const profiles = getProfiles();\n\n const profile = profiles.at(0);\n\n useEffect(() => {\n window.history.scrollRestoration = 'manual';\n reqProfiles({\n url: '/profiles',\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!profile) return;\n\n /// Stages for progress:\n // If mentor only: Participation (20%), Goals (40%), Skills (60%), Bio (80%)\n // If mentee only: Participation (20%), Goals (40%), Skills (60%), Bio (80%), Matching (100%)\n // If both: Participation (20%), Goals (33%), Skills 1 (50%), Skills 2 (66%), Bio (83%), Matching (100%)\n\n // The bio screen doesnt show the bar as its used for both open matching and regular registration\n if (pathname.includes('bio')) {\n setProgress(undefined);\n return;\n }\n\n // The participation screen is fixed at 20% as we dont know their role yet\n if (pathname.includes('participation')) {\n setProgress(20);\n return;\n }\n\n if (!profile.roles) return;\n\n // Set progress for profiles with both roles\n if (profile.roles.includes('trainee') && profile.roles.includes('guide')) {\n if (pathname.includes('goals')) {\n setProgress(40);\n } else if (pathname.includes('skills/guide')) {\n setProgress(60);\n } else if (pathname.includes('skills/trainee')) {\n setProgress(80);\n } else if (pathname.includes('matches/guide')) {\n setProgress(100);\n } else {\n setProgress(undefined);\n }\n return;\n }\n\n // Set progress for trainee/guide only profiles\n\n if (profile.roles.includes('trainee') && !profile.roles.includes('guide')) {\n // Trainee\n if (pathname.includes('goals')) {\n setProgress(50);\n } else if (pathname.includes('skills/trainee')) {\n setProgress(75);\n } else if (pathname.includes('matches/guide')) {\n setProgress(100);\n } else {\n setProgress(undefined);\n }\n return;\n } else {\n if (pathname.includes('goals')) {\n setProgress(50);\n } else if (pathname.includes('skills/guide')) {\n setProgress(75);\n } else {\n setProgress(undefined);\n }\n return;\n }\n }, [profile, pathname]);\n\n return (\n <>\n \n \n \n }\n endAdornment={\n \n {endAdornment}\n \n \n }\n progress={percentage ?? progress}\n />\n \n {children}\n \n \n \n );\n}\n"],"names":["ProgramListContainer","value","hasMultipleProgramVariations","navigate","getProfiles","profile","profileOrganizationFields","organizationFields","memberships","getMemberships","organizationSlug","getSubDomain","localeCode","organization","useOrganization","baseLanguage","useBaseLanguage","openMatchingEnabled","open_matching","enable_open_matching","openMatchingProgramTypeVerb","program_type","program_type_text","common","verb","openMatchingChipColor","getAuthorizedPrograms","useOrganizationPrograms","authorizedPrograms","programList","programs","programs_list","ongoing_programs_label","ongoing_programs_tooltip_text","cohort_programs_label","cohort_programs_tooltip_text","group_programs_label","group_programs_tooltip_text","you_are_eligible_text","relationships","getRelationships","filter","relationship","isConcluded","guideMemberships","useMemo","membership","role","map","_a","programRelationships","programSlug","relationshipUserIds","guideProfiles","userId","relationshipLength","id","length","traineeMemberships","traineeProfiles","getProgramData","useCallback","program","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_A","_B","_C","_D","_E","_F","_G","_H","relationshipLimitReached","hasGuideMembership","hasGuideMembershipAndRelationships","hasTraineeMembershipWithRelationships","traineeRegistrationText","guideRegistrationText","relationshipLimitReachedText","chipColor","find","metadata","current","limit","relationship_limits","trainee_relationship_limit","enable_trainee_relationship_limit","includes","program_details","program_variation","EProgramVariation","variations","group","program_actions","trainee","find_another_guide_button_label","register_as_trainee_button_label","individual","registration","registration_landing_page","trainee_cta_button_label","guide","manage_guide_profile_button_label","register_as_guide_button_label","guide_cta_button_label","dashboard","program_memberships","with_program_memberships","membership_details","group_membership","group_member","group_limit_reached","roleSingular","singular","individual_membership","guide_limit_reached","type","cohortPrograms","groupPrograms","Stack","width","xs","md","direction","pt","alignItems","gap","pb","text","variant","p","m","title","placement","contentDirection","imageSrc","buildSanityImageUrl","source","details","image","description","imagePosition","sx","height","boxShadow","border","buttons","key","label","globals","join_button_label","color","onClick","hidden","roles","edit_profile_button_label","find_a_match_button_label","skills","goalCategories","chips","position","fontWeight","borderRadius","Grid","container","spacing","gridAutoRows","gridAutoColumns","justifyContent","index","programData","singularProgram","item","moreInformation","more_information_label","program_image","program_name","program_description","disabled","icon","Star","restrict_audience_config","restrict_audience","RegistrationContainer","email","setEmail","useState","error","setError","verifyEmail","setVerifyEmail","urlSearchParams","useSearchParams","setRedirect","redirectUrl","get","URLQueryParams","palette","useTheme","loginWithRedirect","useAuth0","origin","getOrigin","organizationId","basic_info","auth0_organization_id","organizationSSOConfigurations","access","configuration_array","organizationName","name","verifyEmailEnabled","email_verification","allowLocalRegistration","local_account_registration","registrationText","inviteUrl","handleGetInvite","loading","useRegisterInvite","useEffect","invite","URL","invitation","searchParams","authorizationParams","handleSSORegister","connection","openUrl","url","window","location","href","getSvg","imageSource","format","src","alt","ssoButtons","config","auth0_connection_id","button_label","primary","info","main","startIcon","handleEmailRegister","handleLogin","divider_text","Collapse","in","fullWidth","fontSize","message","confirm_email_alert_label","local_accounts","email_input_label","labelSize","placeholder","email_placeholder","onChange","e","validEmail","validateEmail","handleEmail","target","helperText","email_error_message","continue_button_label","mt","have_account_label","login_button_label","ProgressContainer","children","onBackButtonClick","endAdornment","percentage","progress","setProgress","pathname","dispatch","handleLanguageChange","organizationTheme","reqProfiles","getSilently","forceRefresh","getSilentlyUrl","queryParams","integrationsEnabled","at","history","scrollRestoration","ThemeProvider","theme","bgColor","logo","white_label","auth0_logo","maxHeight","maxWidth","arrowColor","languageOptions","organizationLanguages","ariaLabel","onClickChange","Box","flex","display","backgroundColor"],"sourceRoot":""}