{"version":3,"file":"static/js/app-edf431ce_ae8cdceb44c2b20caf57.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/Programs/ProgramsWrapper/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 {\n useMemberships,\n useProfiles,\n useRelationships,\n} from '@guider-global/front-end-hooks';\nimport { 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 { useLocalization } 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 { profile } = useProfiles({});\n const profileOrganizationFields =\n profile?.organizationFields as ICustomField[];\n\n // Memberships\n const { memberships = [], isLoadingMemberships } = useMemberships({});\n\n // Organization\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { organization } = useOrganization({ organizationSlug, localeCode });\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\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 = [], isLoadingRelationships } = useRelationships({});\n\n const activeRelationships = relationships.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 = activeRelationships.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, activeRelationships],\n );\n\n const traineeMemberships = useMemo(\n () =>\n memberships\n .filter((membership) => membership.role === 'trainee')\n .map((membership) => {\n const programRelationships = activeRelationships.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, activeRelationships],\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/participation'),\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/participation'),\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;\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 loading: isLoadingMemberships || isLoadingRelationships,\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 loading: isLoadingMemberships || isLoadingRelationships,\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;\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 programData.hasGuideMembership\n ? navigate(\n `/programs/${program.metadata.id.current}/manage/guide`,\n )\n : navigate(\n `/programs/${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 loading: isLoadingMemberships || isLoadingRelationships,\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 `/programs/${program.metadata.id.current}/join/trainee`,\n ),\n disabled: programData.relationshipLimitReached,\n 'data-cy': `${program.metadata.id.current}-trainee-join-button`,\n loading: isLoadingMemberships || isLoadingRelationships,\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 { getSubDomain } from '@guider-global/front-end-utils';\nimport { useOrganizationPrograms } from '@guider-global/sanity-hooks';\nimport { EProgramVariation } from '@guider-global/shared-types';\nimport { GroupsProvider } from 'containers/Groups';\nimport {\n GroupMembershipPage,\n ProgramManageGuidePage,\n ProgramMembershipPage,\n ProgramRegistrationAboutYouPage,\n ProgramRegistrationPage,\n} from 'pages';\nimport { useLocation, useParams } from 'react-router-dom';\n\ninterface ProgramsWrapperProps {\n enableProgramsV2: boolean;\n}\n\nexport function ProgramsWrapper({ enableProgramsV2 }: ProgramsWrapperProps) {\n const { programSlug = '' } = useParams<{\n programSlug: string;\n }>();\n\n const { pathname } = useLocation();\n\n const organizationSlug = getSubDomain();\n const { programs } = useOrganizationPrograms({ organizationSlug });\n\n const program = programs?.find(\n (program) => program?.metadata?.id?.current === programSlug,\n );\n const programVariation = program?.program_details?.program_variation;\n\n if (programVariation === EProgramVariation.Group) {\n return (\n \n \n \n );\n }\n\n if (enableProgramsV2) {\n return ;\n } else {\n return pathname.includes('manage') ? (\n \n ) : (\n \n \n \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 { useProfiles } from '@guider-global/front-end-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n buildSanityImageUrl,\n useBaseLanguage,\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 } 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 const { baseLanguage } = useBaseLanguage({ localeCode });\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 { profile } = useProfiles({ params: { integrationsEnabled: true } });\n\n useEffect(() => {\n window.history.scrollRestoration = 'manual';\n }, []);\n\n useEffect(() => {\n if (!profile) return;\n\n /// Stages for progress:\n\n // The bio screen doesnt show the bar as its used for both open matching and regular registration\n if (!profile?.roles && pathname?.includes('bio')) {\n setProgress(undefined);\n return;\n }\n\n // The participation screen is fixed at 15% as we dont know their role yet\n if (pathname.includes('participation')) {\n setProgress(15);\n return;\n }\n\n if (!profile.roles) return;\n\n // Set progress for profiles with BOTH roles\n // If both: Participation (12.5%), Goals (25%), Skills - Guide - Soft (37.5%), Skills - Guide - Hard (50%), Skills - Trainee - Soft (62.5%), Skills - Trainee - Hard (75%), Bio (87.5%), Matching (100%)\n\n if (profile.roles.includes('trainee') && profile.roles.includes('guide')) {\n if (pathname.includes('goals')) {\n setProgress(25);\n } else if (pathname.includes('skills/guide/soft')) {\n setProgress(37.5);\n } else if (pathname.includes('skills/guide/hard')) {\n setProgress(50);\n } else if (pathname.includes('skills/trainee/soft')) {\n setProgress(62.5);\n } else if (pathname.includes('skills/trainee/hard')) {\n setProgress(75);\n } else if (pathname.includes('bio')) {\n setProgress(87.5);\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 mentor only: Participation (17%), Goals (34%), Skills - Soft (51%), Skills - Hard (68%), Bio (85%)\n // If mentee only: Participation (17%), Goals (34%), Skills - Soft (51%), Skills - Hard (68%), Bio (85%), Matching (100%)\n\n if (profile.roles.includes('trainee') && !profile.roles.includes('guide')) {\n // Trainee\n if (pathname.includes('goals')) {\n setProgress(34);\n } else if (pathname.includes('skills/trainee/soft')) {\n setProgress(51);\n } else if (pathname.includes('skills/trainee/hard')) {\n setProgress(68);\n } else if (pathname.includes('bio')) {\n setProgress(85);\n } else if (pathname.includes('matches/guide')) {\n setProgress(100);\n } else {\n setProgress(undefined);\n }\n return;\n } else {\n // Guide\n if (pathname.includes('goals')) {\n setProgress(34);\n } else if (pathname.includes('skills/guide/soft')) {\n setProgress(51);\n } else if (pathname.includes('skills/guide/hard')) {\n setProgress(68);\n } else if (pathname.includes('bio')) {\n setProgress(85);\n } else {\n setProgress(undefined);\n }\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","profile","useProfiles","profileOrganizationFields","organizationFields","memberships","isLoadingMemberships","useMemberships","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","isLoadingRelationships","useRelationships","activeRelationships","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","buttonsAlign","buttonsDirection","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","loading","disabled","icon","Star","restrict_audience_config","restrict_audience","ProgramsWrapper","enableProgramsV2","pathname","Groups","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","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","dispatch","handleLanguageChange","organizationTheme","params","integrationsEnabled","history","scrollRestoration","ThemeProvider","theme","bgColor","documentDirection","text_direction","logo","white_label","auth0_logo","maxHeight","maxWidth","arrowColor","languageOptions","organizationLanguages","ariaLabel","onClickChange","Box","flex","display","backgroundColor"],"sourceRoot":""}