{"version":3,"file":"static/js/app-deeac20a_0e28b784068cf0cec980.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Guide/Group/GuideGroupCreatePage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Guide/Group/GuideGroupPreviewPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Guide/GuideRegistrationAboutYouPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Guide/GuideRegistrationPendingPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Guide/GuideRegistrationPreviewPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Guide/GuideRegistrationPublishedPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/ProgramRegistration/ProgramRegistrationAboutYouPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/ProgramRegistration/ProgramRegistrationGoalsPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/ProgramRegistration/ProgramRegistrationPreviewPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Trainee/Group/TraineeGroupJoinPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Trainee/Group/TraineeRegistrationChooseGroupPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Trainee/TraineeRegistrationAboutYouPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Trainee/TraineeRegistrationChooseGuidePage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/Trainee/TraineeRegistrationChoosePage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/utils/renderFields/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramRegistrationPage/utils/renderSkills/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramsV2/Membership/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramsV2/Goals/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramsV2/Skills/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramsV2/Preview/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/pages/ProgramsV2/Matches/index.tsx"],"sourcesContent":["// external\nimport { Box, Divider, Paper, useTheme } from '@mui/material';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// internal\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n useSanityBaseLanguage,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { EProgramVariation } from '@guider-global/shared-types';\nimport { LoadingButton } from '@mui/lab';\nimport { PageCard } from 'components';\nimport { ProgramManageGuideDescription } from 'components/ProgramManageGuideDescription';\nimport { ProgramManageGuideTitle } from 'components/ProgramManageGuideTitle';\nimport {\n useCustomFields,\n useMemberships,\n useMobileMediaQuery,\n useSkills,\n useTrackEvent,\n} from 'hooks';\nimport {\n renderFields,\n renderSkills,\n} from 'pages/ProgramRegistrationPage/utils';\nimport React, { useEffect } from 'react';\nimport { Control, SubmitHandler, useForm } from 'react-hook-form';\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\nimport { hideNavbar } from 'store/slices/appSlice';\nimport {\n IGroupGuideForm,\n selectGroupGuideForm,\n setGroupsGuideForm,\n} from 'store/slices/formsSlice';\n\nexport const GuideGroupCreatePage: React.FC = () => {\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n\n const { isLoadingMemberships, memberships } = useMemberships({});\n\n const { isLoadingSkills } = useSkills({ waitForAuthentication: true });\n\n const { isLoadingCustomFields } = useCustomFields({});\n\n const { programSlug = '' } = useParams<{\n programSlug: string;\n }>();\n\n const groupGuideForm = useAppSelector((state) =>\n selectGroupGuideForm(state, programSlug),\n );\n\n const programMemberships = memberships().filter(\n (membership) => membership.programSlug === programSlug,\n );\n\n const guideMembership = programMemberships.find(\n (membership) => membership.role === 'guide',\n );\n\n useEffect(() => {\n if (guideMembership) {\n navigate(`/programs/${programSlug}/manage/guide`);\n }\n }, [guideMembership, navigate, programSlug]);\n\n const {\n handleSubmit,\n control,\n formState: { errors, isValid },\n } = useForm({\n mode: 'onChange',\n defaultValues: groupGuideForm,\n });\n\n const typedControl = control as unknown as Control;\n\n const organizationSlug = getSubDomain();\n\n useTrackEvent({\n track: {\n eventKey: 'program-guide-registration-viewed',\n eventParams: {\n organization: { organizationSlug },\n program: {\n organizationSlug,\n programSlug,\n },\n },\n },\n });\n\n useEffect(() => {\n dispatch(hideNavbar(true));\n }, [dispatch]);\n\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n useEffect(() => {\n if (!program) {\n navigate('./../');\n }\n }, [navigate, program]);\n\n if (!program) {\n return <>;\n }\n\n const pageName = 'GuideGroupCreatePage';\n\n const programRegistration = program.registration;\n const registrationQuestions = programRegistration?.registration_questions;\n\n const isGroupProgram =\n program.program_details?.program_variation === EProgramVariation.Group;\n const programType = program.program_details?.program_type;\n\n const programVariations = programType?.program_type_text?.variations;\n\n const groupCopy = programVariations?.group;\n\n const skillsConfig = program.registration?.skills;\n const isSkillsEnabled = skillsConfig?.enable_skills_question;\n\n const onSubmit: SubmitHandler = async (data) => {\n dispatch(setGroupsGuideForm({ programSlug, data }));\n navigate('./preview');\n };\n\n return (\n \n \n {!isMobile && }\n \n \n \n {isSkillsEnabled &&\n renderSkills({\n skillsConfig,\n typedControl,\n errors,\n pageName,\n role: 'guide',\n isGroupProgram,\n })}\n {renderFields({\n registrationQuestions,\n isSkillsEnabled,\n typedControl,\n errors,\n pageName,\n role: 'guide',\n isGroupProgram,\n })}\n \n \n {baseLanguage.globals?.common?.continue_button_label ?? 'Continue'}\n \n \n \n \n );\n};\n","// external\nimport { LoadingButton } from '@mui/lab';\nimport { Box, Button, Divider, Paper, Skeleton, useTheme } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// components\nimport { GroupCard, PageCard } from 'components';\n\n// store\nimport { useAppSelector } from 'store/hooks';\nimport { selectGroupGuideForm } from 'store/slices/formsSlice';\n\n// hooks\nimport {\n useCustomFields,\n useMemberships,\n useMobileMediaQuery,\n useProfiles,\n useRelationships,\n useSkills,\n} from 'hooks';\n\n// types\nimport {\n EProgramVariation,\n ICustomField,\n IMembership,\n ISkill,\n} from '@guider-global/shared-types';\n\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useSanityOrganizationPrograms } from '@guider-global/sanity-hooks';\n\nexport const GuideGroupPreviewPage: React.FC = () => {\n // Utils\n const organizationSlug = getSubDomain();\n\n // Styling\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n // React router\n const navigate = useNavigate();\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n // Internal hooks\n // Profiles\n const { getProfiles } = useProfiles({ getSilently: true });\n const [profile] = getProfiles();\n const profileId = profile?.id ?? '';\n const profilePicture = profile?.picture;\n // Memberships\n const { isLoadingMemberships, reqMemberships } = useMemberships({});\n // Skills\n const { isLoadingSkills } = useSkills({});\n // Relationships\n const { reqRelationships, isLoadingRelationships } = useRelationships({});\n\n // Custom fields\n const { reqCustomFields, isLoadingCustomFields } = useCustomFields({});\n // Programs\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n // Events\n\n // Redux\n const groupGuideForm = useAppSelector((state) =>\n selectGroupGuideForm(state, programSlug),\n );\n\n useEffect(() => {\n if (!groupGuideForm) {\n navigate('./../');\n }\n }, [groupGuideForm, navigate]);\n\n const isGuide = role === 'guide';\n useEffect(() => {\n if (!isGuide) {\n navigate(`/programs/${programSlug}`);\n }\n }, [isGuide, navigate, programSlug]);\n\n if (!program || !role) {\n return <>;\n }\n\n if (!groupGuideForm) {\n return <>;\n }\n\n const programType = program?.program_details?.program_type;\n const programTypeCopy = programType?.program_type_text;\n const requiresApproval =\n program.registration?.guide_membership_approval ?? false;\n\n const groupCopy = programTypeCopy?.variations?.group;\n\n const publishGroup = async () => {\n let skills: ISkill[] = [];\n let customFields: ICustomField[] = [];\n\n const {\n title,\n description,\n skills: formSkills,\n ...formCustomFields\n } = groupGuideForm;\n\n const customFieldsPostData: Partial[] = Object.entries(\n formCustomFields,\n ).map(([fieldKey, fieldValue]) => {\n const fieldType = program?.registration?.registration_questions?.find(\n (registrationQuestion) => registrationQuestion.id.current === fieldKey,\n )?.type;\n\n return {\n fieldSlug: fieldKey,\n organizationSlug,\n programSlug,\n fieldType,\n value: fieldValue,\n profileId,\n };\n });\n\n if (customFieldsPostData.length > 0) {\n const customFieldsResponse = await reqCustomFields({\n method: 'POST',\n url: '/customfields',\n data: customFieldsPostData,\n });\n\n Array.isArray(customFieldsResponse.data) &&\n (customFields = customFieldsResponse.data);\n }\n\n const customFieldIds: string[] | undefined = customFields.map(\n (customField) => customField.id,\n );\n\n const { data: relationshipsResponseData } = await reqRelationships({\n method: 'POST',\n url: '/relationships',\n // TODO fix types\n // @ts-ignore\n data: {\n guideProfiles: [profileId],\n isConcluded: false,\n programSlug,\n organizationSlug,\n programTypeSlug: programType?.metadata?.id?.current,\n programVariationTypeSlug: EProgramVariation.Group,\n profileId,\n title,\n description,\n },\n });\n\n if (!relationshipsResponseData) {\n return;\n }\n\n const relationshipId = relationshipsResponseData[0].id;\n\n const membershipData: Partial & { skillSlugs: string[] } = {\n role: 'guide',\n organizationSlug,\n programSlug,\n profile: profileId,\n isPublished: true,\n programFields: customFieldIds ?? [],\n skillSlugs: formSkills ?? [],\n requiresApproval: requiresApproval,\n programVariationTypeSlug: EProgramVariation.Group,\n };\n\n await reqMemberships({\n method: 'POST',\n url: '/memberships',\n data: membershipData,\n });\n\n await Promise.all([\n reqMemberships({ url: '/memberships' }),\n reqRelationships({ url: '/relationships' }),\n ]);\n\n navigate(`/relationships/${relationshipId}`);\n };\n\n return (\n \n \n {!isMobile && }\n {profile ? (\n \n ) : (\n \n )}\n \n navigate('./../')}\n >\n {\n groupCopy?.registration?.registration_guide\n ?.registration_guide_review_profile\n ?.registration_guide_review_profile_edit_profile_button_label\n }\n \n \n {\n groupCopy?.registration?.registration_guide\n ?.registration_guide_review_profile\n ?.registration_guide_review_profile_publish_profile_button_label\n }\n \n \n \n );\n};\n","// external\nimport { Box, Divider, Paper, Typography, useTheme } from '@mui/material';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// internal\nimport {\n getISOStringWithoutMilliseconds,\n getSubDomain,\n} from '@guider-global/front-end-utils';\nimport {\n useSanityBaseLanguage,\n useSanityOrganization,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { EProgramVariation, IMembership } from '@guider-global/shared-types';\nimport { LoadingButton } from '@mui/lab';\nimport { Asterisk, FormAutocomplete, PageCard, Skeleton } from 'components';\nimport {\n useCustomFields,\n useMemberships,\n useMixpanelEvents,\n useMobileMediaQuery,\n useSkills,\n useTrackEvent,\n} from 'hooks';\nimport {\n renderFields,\n renderSkills,\n} from 'pages/ProgramRegistrationPage/utils';\nimport React, { useEffect } from 'react';\nimport { Control, SubmitHandler, useForm } from 'react-hook-form';\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\nimport { hideNavbar } from 'store/slices/appSlice';\nimport {\n IMembershipForm,\n selectMembershipGuideForm,\n setMembershipGuideForm,\n} from 'store/slices/formsSlice';\nimport { Stack } from '@mui/system';\n\nexport const GuideRegistrationAboutYouPage: React.FC = () => {\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n const { trackMixpanelEvent, trackScreenTime } = useMixpanelEvents();\n\n const { isLoadingMemberships, memberships } = useMemberships({});\n\n const { isLoadingSkills } = useSkills({ waitForAuthentication: true });\n\n const { isLoadingCustomFields } = useCustomFields({});\n\n const { programSlug = '' } = useParams<{\n programSlug: string;\n }>();\n\n const membershipGuideForm = useAppSelector((state) =>\n selectMembershipGuideForm(state, programSlug),\n );\n\n const programMemberships: IMembership[] = memberships().filter(\n (membership) => membership.programSlug === programSlug,\n );\n\n const guideMembership: IMembership | undefined = programMemberships.find(\n (membership) => membership.role === 'guide',\n );\n\n useEffect(() => {\n if (guideMembership) {\n navigate(`/programs/${programSlug}/manage/guide`, { replace: true });\n }\n }, [guideMembership, navigate, programSlug]);\n\n const {\n handleSubmit,\n control,\n formState: { errors, isValid },\n } = useForm({\n mode: 'onChange',\n defaultValues: membershipGuideForm,\n });\n const typedControl = control as Control;\n\n const organizationSlug = getSubDomain();\n\n const { getOrganization } = useSanityOrganization({\n getSilently: true,\n organizationSlug: organizationSlug,\n localeCode: 'en_GB',\n });\n\n const organization = getOrganization();\n\n useTrackEvent({\n track: {\n eventKey: 'program-guide-registration-viewed',\n eventParams: {\n organization: { organizationSlug },\n program: {\n organizationSlug,\n programSlug,\n },\n },\n },\n });\n\n useEffect(() => {\n trackMixpanelEvent('Guide Program Registration - Viewed', {\n 'Date viewed': getISOStringWithoutMilliseconds(),\n 'Program ID': programSlug,\n });\n }, [trackMixpanelEvent, programSlug]);\n\n useEffect(() => {\n dispatch(hideNavbar(true));\n }, [dispatch]);\n\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n useEffect(() => {\n if (!program) {\n navigate('./../');\n }\n }, [navigate, program]);\n\n if (!program) {\n return <>;\n }\n\n const isGoalsDisabled = program?.registration?.goals?.guide_disable_goals;\n const registrationQuestions = program?.registration?.registration_questions;\n const customGoalCategories =\n program.registration?.goals?.custom_goal_categories;\n const selectedGoalSource =\n customGoalCategories && customGoalCategories.length > 0\n ? customGoalCategories\n : organization?.goal_categories?.categories;\n\n // Get Sanity Goal Categories\n\n const goalCategories = selectedGoalSource?.map((goalCategory) => ({\n label: goalCategory.goal_category_name,\n value: goalCategory.goal_category_slug?.current,\n }));\n // Events\n const goalsValidation = (value: unknown) => {\n const valueLength = (value as string[]).length;\n if (valueLength < 1) return false;\n return true;\n };\n\n const isGroupProgram =\n program.program_details?.program_variation === EProgramVariation.Group;\n const programType = program.program_details?.program_type;\n const programVariation =\n programType?.program_type_text?.variations?.individual;\n\n const skillsConfig = program?.registration?.skills;\n const isSkillsEnabled = skillsConfig?.enable_skills_question;\n\n const onSubmit: SubmitHandler = async (data) => {\n dispatch(setMembershipGuideForm({ programSlug, data }));\n trackScreenTime('Guide Program Registration - About you Completed');\n navigate('./preview');\n };\n\n const renderForm = () =>\n program && (\n \n {isSkillsEnabled &&\n renderSkills({\n skillsConfig,\n typedControl,\n errors,\n pageName: 'GuideRegistrationAboutYouPage',\n role: 'guide',\n isGroupProgram,\n })}\n {!isGoalsDisabled && goalCategories && !isGroupProgram && (\n \n \n {isSkillsEnabled ? '2. ' : '1. '}\n {\n program.program_details?.program_type?.program_type_text\n .variations?.individual?.registration?.registration_guide\n ?.registration_guide_goals?.registration_guide_goals_title\n }\n \n \n \n {\n program.program_details?.program_type?.program_type_text\n .variations?.individual?.registration?.registration_guide\n ?.registration_guide_goals\n ?.registration_guide_goals_description\n }\n \n\n \n \n )}\n\n {renderFields({\n registrationQuestions,\n isSkillsEnabled,\n typedControl,\n errors,\n pageName: 'GuideRegistrationAboutYouPage',\n role: 'guide',\n isGroupProgram,\n isGoalsDisabled,\n })}\n \n \n {baseLanguage.globals?.common?.continue_button_label ?? 'Continue'}\n \n \n \n );\n\n return (\n \n \n {!isMobile && }\n {!program ? : renderForm()}\n \n );\n};\n","// external\nimport React, { useEffect } from 'react';\nimport { Box, Button, Paper, Typography, useTheme } from '@mui/material';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport PersonPinSharp from '@mui/icons-material/PersonPinSharp';\n\n// components\nimport { PageCard } from 'components';\n\n// internal\nimport {\n useSanityBaseLanguage,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { useMobileMediaQuery } from 'hooks';\n\nexport const GuideRegistrationPendingPage: React.FC = () => {\n // React Router\n const navigate = useNavigate();\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n // Styling\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n // Programs\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n // Base Language\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n\n const isGuide = role === 'guide';\n\n useEffect(() => {\n if (!isGuide) {\n navigate(`/programs/${programSlug}`);\n }\n }, [isGuide, navigate, programSlug]);\n\n if (!program || !role) {\n return <>;\n }\n\n const programType = program.program_details?.program_type;\n const programVariation =\n programType?.program_type_text?.variations?.individual?.registration\n ?.registration_guide;\n const membershipPending =\n programVariation?.registration_guide_membership_pending;\n\n return (\n \n \n \n {membershipPending?.actions_label}\n \n \n navigate('/dashboard')}\n sx={{ mr: { xs: 0, md: 3 } }}\n >\n {membershipPending?.dashboard_button_label}\n \n navigate('/learn')}\n >\n {baseLanguage.globals?.common?.explore_learning_hub}\n \n \n \n );\n};\n","// external\nimport { LoadingButton } from '@mui/lab';\nimport { Box, Button, Divider, Paper, Skeleton, useTheme } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// components\nimport { GuideRegistrationCard, PageCard } from 'components';\n\n// store\nimport { useAppSelector } from 'store/hooks';\nimport { selectMembershipGuideForm } from 'store/slices/formsSlice';\n\n// hooks\nimport {\n useCustomFields,\n useMemberships,\n useMixpanelEvents,\n useMobileMediaQuery,\n useProfiles,\n useSkills,\n useUsers,\n} from 'hooks';\n\n// types\nimport {\n EProgramVariation,\n ICustomField,\n IMembership,\n} from '@guider-global/shared-types';\n\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n useSanityBaseLanguage,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\n\nexport const GuideRegistrationPreviewPage: React.FC = () => {\n // Utils\n const organizationSlug = getSubDomain();\n\n // Styling\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n\n // React router\n const navigate = useNavigate();\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n // Internal hooks\n // Users\n const { users } = useUsers({ getSilently: false });\n const user = users().at(0);\n // Profiles\n const { getProfiles } = useProfiles({ getSilently: true });\n const [profile] = getProfiles();\n const profilePicture = profile?.picture;\n // Memberships\n const { isLoadingMemberships, reqMemberships } = useMemberships({});\n // Skills\n const { isLoadingSkills } = useSkills({});\n // Custom fields\n const { reqCustomFields, isLoadingCustomFields } = useCustomFields({});\n // Programs\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n // Events\n const { trackMixpanelEvent, unionUserProperty } = useMixpanelEvents();\n\n // Redux\n const membershipGuideForm = useAppSelector((state) =>\n selectMembershipGuideForm(state, programSlug),\n );\n\n const isGuide = role === 'guide';\n\n useEffect(() => {\n if (!isGuide) {\n navigate(`/programs/${programSlug}`);\n }\n }, [isGuide, navigate, programSlug]);\n\n if (!program || !role) {\n return <>;\n }\n\n const programTypeText =\n program?.program_details?.program_type?.program_type_text;\n const reviewProfile =\n programTypeText?.variations?.individual?.registration?.registration_guide\n ?.registration_guide_review_profile;\n const requiresApproval =\n program.registration?.guide_membership_approval ?? false;\n\n const publishProfile = async () => {\n let customFields: ICustomField[] = [];\n\n const customFieldsPostData: Partial[] = Object.entries(\n membershipGuideForm,\n )\n .filter(\n ([fieldKey]) =>\n fieldKey !== 'skills' && fieldKey !== 'goalCategorySlugs',\n )\n .map(([fieldKey, fieldValue]) => {\n const fieldType = program?.registration?.registration_questions?.find(\n (registrationQuestion) =>\n registrationQuestion.id.current === fieldKey,\n )?.type;\n\n return {\n fieldSlug: fieldKey,\n organizationSlug,\n programSlug: programSlug,\n fieldType,\n value: fieldValue,\n profileId: profile.id,\n };\n });\n\n if (customFieldsPostData.length > 0) {\n const customFieldsResponse = await reqCustomFields({\n method: 'POST',\n url: '/customfields',\n data: customFieldsPostData,\n });\n\n Array.isArray(customFieldsResponse.data) &&\n (customFields = customFieldsResponse.data);\n }\n\n const customFieldIds: string[] | undefined = customFields.map(\n (customField) => customField.id,\n );\n\n const membershipData: Partial & {\n goalCategorySlugs: string[];\n skillSlugs: string[];\n } = {\n role: 'guide',\n organizationSlug,\n programSlug,\n profile: profile.id,\n isPublished: true,\n programFields: customFieldIds ?? [],\n skillSlugs: membershipGuideForm?.skills ?? [],\n requiresApproval,\n programVariationTypeSlug: EProgramVariation.Individual,\n goalCategorySlugs:\n (membershipGuideForm.goalCategorySlugs as string[]) ?? [],\n };\n\n await reqMemberships({\n method: 'POST',\n url: '/memberships',\n data: membershipData,\n });\n\n await reqMemberships({ url: '/memberships' });\n if (requiresApproval) {\n navigate('./../membership-pending');\n } else {\n navigate('./../published');\n }\n };\n\n const handlePublishProfileButtonClick = async () => {\n try {\n await publishProfile();\n trackMixpanelEvent('Guide Program Registration - Profile published', {\n 'Program type': programTypeText?.common?.verb,\n 'Program ID': programSlug,\n });\n unionUserProperty(\n 'Guide profiles',\n `${organizationSlug}-${programTypeText?.common?.verb}`,\n );\n } catch (err) {\n console.error(err);\n }\n };\n\n return (\n \n \n {!isMobile && }\n {profile ? (\n \n ) : (\n \n )}\n \n navigate('./../')}\n >\n {baseLanguage.globals?.common?.edit_profile_button_label}\n \n \n {\n reviewProfile?.registration_guide_review_profile_publish_profile_button_label\n }\n \n \n \n );\n};\n","// external\nimport React, { useEffect } from 'react';\nimport { Box, Button, Paper, Typography, useTheme } from '@mui/material';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport CheckCircleOutline from '@mui/icons-material/CheckCircleOutline';\n// components\nimport { PageCard } from 'components';\n\n// internal\nimport { useAppDispatch } from 'store/hooks';\nimport { hideConfetti, showConfetti } from 'store/slices/appSlice';\nimport {\n useSanityBaseLanguage,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { useMobileMediaQuery } from 'hooks';\n\nexport const GuideRegistrationPublishedPage: React.FC = () => {\n const dispatch = useAppDispatch();\n const theme = useTheme();\n const navigate = useNavigate();\n const isMobile = useMobileMediaQuery();\n\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n\n useEffect(() => {\n dispatch(showConfetti(true));\n const timer = setTimeout(() => {\n dispatch(hideConfetti(true));\n }, 5000);\n return () => clearTimeout(timer);\n }, [dispatch]);\n\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n const isGuide = role === 'guide';\n useEffect(() => {\n if (!isGuide) {\n navigate(`/programs/${programSlug}`);\n }\n }, [isGuide, navigate, programSlug]);\n\n if (!program || !role) {\n return <>;\n }\n\n const programType = program.program_details?.program_type;\n const programVariation =\n programType?.program_type_text?.variations?.individual;\n\n return (\n \n \n \n {\n programVariation?.registration?.registration_guide\n ?.registration_guide_complete\n ?.registration_guide_complete_actions_label\n }\n \n \n navigate('/dashboard')}\n sx={{ mr: isMobile ? 0 : 3 }}\n >\n {\n programVariation?.registration?.registration_guide\n ?.registration_guide_complete\n ?.registration_guide_complete_dashboard_button_label\n }\n \n navigate('/learn')}\n >\n {baseLanguage.globals?.common?.explore_learning_hub}\n \n \n \n );\n};\n","// external\nimport { useParams } from 'react-router-dom';\n\n// internal\nimport React from 'react';\nimport {\n GuideGroupCreatePage,\n GuideRegistrationAboutYouPage,\n TraineeGroupJoinPage,\n TraineeRegistrationAboutYouPage,\n} from 'pages';\nimport { useSanityOrganizationPrograms } from '@guider-global/sanity-hooks';\n\nexport const ProgramRegistrationAboutYouPage: React.FC = () => {\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n const programVariation = program?.program_details?.program_variation;\n const isGroupProgram = programVariation === 'group';\n const isGuide = role === 'guide';\n\n const GuideComponent = isGroupProgram\n ? GuideGroupCreatePage\n : GuideRegistrationAboutYouPage;\n\n const TraineeComponent = isGroupProgram\n ? TraineeGroupJoinPage\n : TraineeRegistrationAboutYouPage;\n\n return isGuide ? : ;\n};\n","import { Box, Divider, Paper, ThemeProvider, useTheme } from '@mui/material';\nimport React, { useEffect, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport { PageCard } from 'components';\nimport { useAppDispatch } from 'store/hooks';\nimport { useMemberships, useMobileMediaQuery } from 'hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n useSanityBaseLanguage,\n useSanityOrganization,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { IMembership } from '@guider-global/shared-types';\nimport { Stack, StaticAlert, Text, theme } from '@guider-global/ui';\nimport { LoadingButton } from '@mui/lab';\nimport { showAppAlert } from 'store/slices/appSlice';\nimport { deepMerge } from 'utils';\nimport GoalCategoriesView from 'views/Registration/GoalCategoriesView';\n\nexport const ProgramRegistrationGoalsPage: React.FC = () => {\n // Redux\n const dispatch = useAppDispatch();\n\n // React Router\n const navigate = useNavigate();\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n // Styling\n const organizationTheme = useTheme();\n const isMobile = useMobileMediaQuery();\n const combinedPalette = deepMerge(\n theme.appTheme.palette,\n organizationTheme.palette,\n );\n\n // Base Language\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n\n // Organization\n const subdomain = getSubDomain();\n const { getOrganization } = useSanityOrganization({\n organizationSlug: subdomain,\n localeCode: 'en_GB',\n });\n const organization = getOrganization();\n\n // Programs\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n // Programs - baseLanguage\n const programType = program?.program_details?.program_type?.program_type_text;\n const programRegistration = programType?.variations?.individual?.registration;\n const selectGoalLabel =\n program?.registration?.goals?.select_goals_custom_label ||\n baseLanguage.globals?.goals?.select_goals_label;\n const trainee_min_selected_goals =\n program?.registration?.goals?.trainee_min_selected_goals;\n const trainee_max_selected_goals =\n program?.registration?.goals?.trainee_max_selected_goals;\n\n // Internal state\n const [selectedGoalCategories, setSelectedGoalCategories] = useState<\n string[]\n >([]);\n\n const [isLoading, setIsLoading] = useState(false);\n\n const [alert, setAlert] = useState(undefined);\n\n // - Memberships\n const { reqMemberships, memberships } = useMemberships({});\n\n useEffect(() => {\n if (!memberships().length) {\n reqMemberships({\n url: '/memberships',\n });\n }\n }, [reqMemberships, memberships]);\n\n const programMemberships = memberships().filter(\n (membership) => membership.programSlug === programSlug,\n );\n const membership = programMemberships.find(\n (membership) => membership.role === role,\n );\n\n useEffect(() => {\n if (!membership?.goalCategories) return;\n setSelectedGoalCategories(\n membership.goalCategories.map((goalCategory) => goalCategory.fieldSlug),\n );\n }, [membership]);\n\n const customGoalCategories =\n program?.registration?.goals?.custom_goal_categories;\n\n const selectedGoalSource =\n customGoalCategories && customGoalCategories.length > 0\n ? customGoalCategories\n : organization?.goal_categories?.categories;\n\n const goalCategories = selectedGoalSource.map((goalCategory) => ({\n label: goalCategory.goal_category_name,\n slug: goalCategory.goal_category_slug?.current,\n }));\n\n if (!program || !role || !goalCategories) {\n return null;\n }\n\n function handleGoalCategoriesToggle(goalCategorySlugs: string[]) {\n setSelectedGoalCategories(goalCategorySlugs);\n checkGoalLimit(goalCategorySlugs);\n }\n\n function checkGoalLimit(goalCategorySlugs: string[]) {\n if (\n trainee_max_selected_goals &&\n goalCategorySlugs.length > trainee_max_selected_goals\n ) {\n setAlert(\n baseLanguage?.globals?.goals?.max_goals_validation_message ??\n `You've selected too many goals`,\n );\n } else {\n setAlert(undefined);\n }\n }\n\n async function handleGoalCategoriesUpdate() {\n if (!selectedGoalCategories || isLoading) {\n return;\n }\n setIsLoading(true);\n\n const data: Partial & { goalCategorySlugs: string[] } = {\n role: role,\n isPublished: true,\n programSlug,\n goalCategorySlugs: selectedGoalCategories,\n };\n\n const membershipsResult = await reqMemberships({\n method: 'PATCH',\n url: `/memberships/${membership?.id}`,\n data,\n });\n await reqMemberships({\n url: `/memberships`,\n });\n\n if (membershipsResult.status === 'success') {\n navigate('../choose');\n } else {\n dispatch(\n showAppAlert({\n severity: 'error',\n message: membershipsResult.errors?.at(0)?.message,\n timeout: 3000,\n }),\n );\n }\n setIsLoading(false);\n }\n\n const disableContinueButton =\n !!(\n trainee_min_selected_goals &&\n selectedGoalCategories.length < trainee_min_selected_goals\n ) ||\n !!(\n trainee_max_selected_goals &&\n selectedGoalCategories.length > trainee_max_selected_goals\n );\n\n return (\n \n \n {!isMobile && }\n \n \n \n \n {alert && (\n \n )}\n {goalCategories && (\n \n handleGoalCategoriesToggle(goalCategorySlugs)\n }\n buttonLabels={{\n more:\n baseLanguage?.globals?.common?.show_more_button_label ??\n 'Show more',\n less:\n baseLanguage?.globals?.common?.show_less_button_label ??\n 'Show less',\n }}\n />\n )}\n \n \n \n\n \n \n {baseLanguage.globals?.common?.continue_button_label}\n \n \n \n );\n};\n","// external\nimport { useParams } from 'react-router-dom';\n\n// internal\nimport { useSanityOrganizationPrograms } from '@guider-global/sanity-hooks';\nimport { GuideGroupPreviewPage, GuideRegistrationPreviewPage } from 'pages';\nimport React from 'react';\n\nexport const ProgramRegistrationPreviewPage: React.FC = () => {\n const { programSlug = '' } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n const programVariation = program?.program_details?.program_variation;\n const isGroupProgram = programVariation === 'group';\n\n return isGroupProgram ? (\n \n ) : (\n \n );\n};\n","// external\nimport { Box, Divider, Paper, useTheme } from '@mui/material';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Control, SubmitHandler, useForm } from 'react-hook-form';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// internal\nimport {\n EProgramVariation,\n ICustomField,\n IMembership,\n IProfile,\n ISkill,\n ProgramRegistrationSkills,\n} from '@guider-global/shared-types';\nimport { LoadingButton } from '@mui/lab';\nimport { PageCard, Skeleton } from 'components';\nimport { RegistrationLimitReachedModal } from 'modals';\n// Hooks\n\nimport {\n useCustomFields,\n useLocalization,\n useMatches,\n useMemberships,\n useMobileMediaQuery,\n useProfiles,\n useRelationships,\n useSkills,\n useTrackEvent,\n} from 'hooks';\n\n// Store\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\nimport { hideNavbar } from 'store/slices/appSlice';\nimport {\n IMembershipForm,\n selectMembershipTraineeForm,\n setMembershipTraineeForm,\n} from 'store/slices/formsSlice';\n// utils\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n renderFields,\n renderSkills,\n} from 'pages/ProgramRegistrationPage/utils';\nimport { areArraysEqual } from 'utils';\nimport {\n useBaseLanguage,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\n\nexport const TraineeGroupJoinPage: React.FC = () => {\n const [isFormReady, setIsFormReady] = useState(false);\n\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n\n // Organization\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n\n // Base language\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const { getProfiles } = useProfiles({ getSilently: true });\n const [profile] = getProfiles();\n const profileId = profile.id;\n\n const { isLoadingMemberships, reqMemberships, memberships } = useMemberships(\n {},\n );\n\n const { relationships: getRelationships } = useRelationships({});\n const relationships = getRelationships();\n\n const { isLoadingSkills } = useSkills({});\n\n const { reqCustomFields, isLoadingCustomFields } = useCustomFields({});\n\n const { programSlug = '' } = useParams<{\n programSlug: string;\n }>();\n\n const { reqMatches, isLoadingMatches } = useMatches({});\n\n const membershipTraineeForm = useAppSelector((state) =>\n selectMembershipTraineeForm(state, programSlug),\n );\n\n useTrackEvent({\n track: {\n eventKey: 'program-trainee-registration-visited',\n eventParams: {\n organization: { organizationSlug },\n program: {\n organizationSlug,\n programSlug,\n },\n },\n },\n for: programSlug,\n });\n\n const programMemberships: IMembership[] = memberships().filter(\n (membership) => membership.programSlug === programSlug,\n );\n\n const traineeMembership: IMembership | undefined = programMemberships.find(\n (membership) => membership.role === 'trainee',\n );\n\n const { programs } = useOrganizationPrograms({ organizationSlug });\n const program = programs.find(\n (program) => program.metadata.id.current === programSlug,\n );\n\n const skillsConfig = useMemo(\n () => program?.registration?.skills as ProgramRegistrationSkills,\n [program],\n );\n\n const skillsOptions = useMemo(\n () => skillsConfig?.options?.map((skill) => skill.id.current) ?? [],\n [skillsConfig],\n );\n\n const membershipProgramFields = useMemo(\n () => (traineeMembership?.programFields as ICustomField[]) ?? [],\n [traineeMembership],\n );\n\n const defaultFormFields = useMemo(() => {\n const programSkills =\n (traineeMembership?.skills as Partial[]) ?? [];\n\n return {\n ...(programSkills.length !== 0 && {\n skills: programSkills\n .map((skill) => skill.fieldSlug)\n .filter(\n (skillValue) => skillValue && skillsOptions.includes(skillValue),\n ),\n }),\n ...Object.fromEntries(\n membershipProgramFields.map((customField) => [\n customField.fieldSlug,\n customField.value,\n ]),\n ),\n };\n }, [membershipProgramFields, traineeMembership, skillsOptions]);\n\n const {\n handleSubmit,\n control,\n formState: { errors, isValid },\n reset,\n trigger,\n } = useForm({\n mode: 'onChange',\n defaultValues: membershipTraineeForm || defaultFormFields,\n });\n const typedControl: Control = control as unknown as Control;\n\n useEffect(() => {\n if (!isFormReady && Object.keys(defaultFormFields).length !== 0) {\n reset(defaultFormFields);\n\n setTimeout(() => {\n trigger();\n }, 1);\n\n setIsFormReady(true);\n }\n }, [isFormReady, defaultFormFields, reset, trigger]);\n\n useEffect(() => {\n dispatch(hideNavbar(true));\n }, [dispatch]);\n\n const handleRegistrationLimitReachedModalAction = useCallback(() => {\n navigate('/relationships');\n }, [navigate]);\n\n if (!program) {\n return <>;\n }\n\n const isGroupProgram =\n program.program_details?.program_variation === EProgramVariation.Group;\n const programType = program.program_details?.program_type;\n const programTypeText = programType?.program_type_text;\n const programVariation = programTypeText?.variations?.individual;\n const programRelationshipLimits = program.relationships.relationship_limits;\n const isTraineeRelationshipLimitSet =\n programRelationshipLimits?.enable_trainee_relationship_limit;\n const traineeRelationshipLimit = isTraineeRelationshipLimitSet\n ? programRelationshipLimits?.trainee_relationship_limit\n : undefined;\n const programRegistrationTraineeGuideLimitModal =\n programTypeText?.variations?.individual?.registration?.registration_trainee\n ?.registration_trainee_guide_limit_modal;\n const programRelationships = relationships.filter((relationship) => {\n const relationshipTraineeProfileIds = (\n relationship.traineeProfiles as IProfile[]\n ).map((relationship) => relationship.id);\n const relationshipIncludesTrainee =\n relationshipTraineeProfileIds.includes(profileId);\n return (\n relationship.programSlug === programSlug &&\n !relationship.isConcluded &&\n relationshipIncludesTrainee\n );\n });\n\n const registrationQuestions =\n program?.registration?.registration_questions?.filter(\n (registrationQuestion) =>\n ['trainee', 'both'].includes(registrationQuestion.audience),\n );\n\n const showRegistrationLimitReachedModal =\n traineeRelationshipLimit !== undefined\n ? programRelationships.length >= traineeRelationshipLimit\n : false;\n\n const isSkillsEnabled = program?.registration?.skills?.enable_skills_question;\n\n const publishMembership = async (data: IMembershipForm) => {\n let customFields: ICustomField[] = [];\n\n const customFieldsPostData: Partial[] = Object.entries(data)\n .filter(([fieldKey]) => fieldKey !== 'skills')\n .map(([fieldKey, fieldValue]) => {\n const fieldType = program?.registration?.registration_questions?.find(\n (registrationQuestion) =>\n registrationQuestion.id.current === fieldKey,\n )?.type;\n\n return {\n fieldSlug: fieldKey,\n organizationSlug: organizationSlug,\n programSlug: programSlug,\n fieldType,\n value: fieldValue,\n profileId,\n };\n });\n\n if (customFieldsPostData && customFieldsPostData.length !== 0) {\n const customFieldsResponse = await reqCustomFields({\n method: 'POST',\n url: '/customfields',\n data: customFieldsPostData,\n });\n\n Array.isArray(customFieldsResponse.data) &&\n (customFields = customFieldsResponse.data);\n }\n\n const customFieldIds: string[] | undefined = customFields.map(\n (customField) => customField.id,\n );\n\n const membershipData = {\n role: 'trainee' as 'trainee',\n organizationSlug,\n programSlug,\n profile: profileId,\n isPublished: true,\n programFields: customFieldIds ?? [],\n skillSlugs: data.skills ?? [],\n programVariationTypeSlug: EProgramVariation.Group,\n };\n\n await reqMemberships({\n method: 'POST',\n url: '/memberships',\n data: membershipData,\n });\n\n await Promise.all([\n reqMemberships({ url: '/memberships' }),\n reqMatches({\n url: `/matches?organizationSlug=${organizationSlug}&programSlug=${programSlug}`,\n }),\n ]);\n\n navigate('./choose');\n };\n\n const updateMembership: SubmitHandler = async (data) => {\n let newCustomFieldIds: string[] = [];\n\n const { isPublished } = data;\n delete data.isPublished;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { skills, ...newCustomFields } = data;\n\n if (Object.keys(newCustomFields).length !== 0) {\n let customFieldsPostData: ICustomField[] = [];\n\n await Promise.all(\n Object.entries(newCustomFields).map(\n async ([newCustomFieldSlug, newCustomFieldValue]) => {\n const oldMembershipProgramField = membershipProgramFields.find(\n (membershipProgramField) =>\n membershipProgramField.fieldSlug === newCustomFieldSlug,\n );\n const oldValue = oldMembershipProgramField?.value;\n\n const isNew = !oldValue;\n\n if (!isNew) {\n let hasValueChanged = false;\n\n const fieldId = oldMembershipProgramField.id;\n const fieldType = oldMembershipProgramField.fieldType;\n\n const newValue = newCustomFieldValue;\n\n if (fieldType === 'multi-select') {\n if (Array.isArray(newValue) && Array.isArray(oldValue)) {\n hasValueChanged = !areArraysEqual(newValue, oldValue);\n }\n } else {\n hasValueChanged = oldValue !== newValue;\n }\n\n if (!hasValueChanged) {\n return;\n }\n\n return await reqCustomFields({\n method: 'PATCH',\n url: `/customfields/${fieldId}`,\n data: {\n value: newValue,\n fieldType,\n },\n });\n } else {\n const currentRegistrationQuestion = registrationQuestions?.find(\n (registrationQuestion) =>\n registrationQuestion.id.current === newCustomFieldSlug,\n );\n\n return customFieldsPostData.push({\n fieldSlug: newCustomFieldSlug,\n organizationSlug,\n fieldType: currentRegistrationQuestion?.type,\n value: newCustomFieldValue,\n profileId,\n programSlug,\n } as ICustomField);\n }\n },\n ),\n );\n\n if (customFieldsPostData?.length !== 0) {\n const { data: customFieldsResponseData } = await reqCustomFields({\n method: 'POST',\n url: '/customfields',\n data: customFieldsPostData,\n });\n\n if (!!customFieldsResponseData) {\n newCustomFieldIds = customFieldsResponseData.map(\n (customField) => customField.id,\n );\n }\n\n await reqCustomFields({ url: '/customfields' });\n }\n }\n\n const reqMembershipsData: Partial & { skillSlugs?: string[] } =\n {\n isPublished: !!isPublished,\n skillSlugs: data.skills,\n programSlug,\n ...(newCustomFieldIds && {\n programFields: [\n ...membershipProgramFields.map((field) => field.id),\n ...newCustomFieldIds,\n ],\n }),\n };\n\n await reqMemberships({\n method: 'PATCH',\n url: `/memberships/${traineeMembership?.id}`,\n data: reqMembershipsData,\n });\n\n await Promise.all([\n reqMemberships({ url: '/memberships' }),\n reqMatches({\n url: `/matches?organizationSlug=${organizationSlug}&programSlug=${programSlug}`,\n }),\n ]);\n\n navigate('./choose');\n };\n\n const onSubmit: SubmitHandler = async (data) => {\n dispatch(setMembershipTraineeForm({ programSlug, data }));\n\n if (traineeMembership) {\n await updateMembership(data);\n } else {\n await publishMembership(data);\n }\n };\n\n const renderForm = () =>\n program && (\n \n {isSkillsEnabled &&\n renderSkills({\n skillsConfig,\n typedControl,\n errors,\n pageName: 'TraineeRegistrationAboutYouPage',\n role: 'trainee',\n isGroupProgram,\n })}\n {renderFields({\n registrationQuestions,\n isSkillsEnabled,\n typedControl,\n errors,\n pageName: 'TraineeGroupJoinPage',\n role: 'trainee',\n isGroupProgram,\n })}\n \n \n {baseLanguage?.globals?.common?.continue_button_label ?? 'Continue'}\n \n \n \n );\n\n return (\n \n \n \n {!isMobile && }\n {!program ? : renderForm()}\n \n );\n};\n","// external\nimport PersonSearchSharp from '@mui/icons-material/PersonSearchSharp';\nimport {\n Box,\n Button,\n CircularProgress,\n Divider,\n Fade,\n Paper,\n Typography,\n useTheme,\n} from '@mui/material';\nimport React, { useEffect, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// internal\n\n// components\nimport { GroupCard, PageCard } from 'components';\n\n// store\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\nimport { selectMembershipTraineeForm } from 'store/slices/formsSlice';\n\n// hooks\nimport {\n useLocalization,\n useMatches,\n useMobileMediaQuery,\n useProfiles,\n useRelationships,\n useTrackEvent,\n} from 'hooks';\n\n// types\nimport {\n ICustomField,\n IMatch,\n IMembership,\n IProfile,\n ISkill,\n} from '@guider-global/shared-types';\n\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n useBaseLanguage,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { showAppAlert, showConfetti, toggleModal } from 'store/slices/appSlice';\n\nexport const TraineeRegistrationChooseGroupPage: React.FC = () => {\n const dispatch = useAppDispatch();\n const [isLoading, setIsLoading] = useState(true);\n const [loadingMessageIndex, setLoadingMessageIndex] = useState(0);\n const { getProfiles } = useProfiles({ waitForAuthentication: true });\n const [profile] = getProfiles();\n\n const { reqRelationships, isLoadingRelationships } = useRelationships({});\n\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n // Organization\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n\n // Base language\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const navigate = useNavigate();\n\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const membershipTraineeForm = useAppSelector((state) =>\n selectMembershipTraineeForm(state, programSlug),\n );\n\n useTrackEvent({\n track: {\n eventKey: 'programs-trainee-viewed-group-list',\n eventParams: {\n organization: { organizationSlug },\n program: { organizationSlug, programSlug, includeChooseGuideUrl: true },\n },\n },\n });\n\n const { isLoadingMatches, matches } = useMatches({\n query: `?organizationSlug=${organizationSlug}&programSlug=${programSlug}`,\n });\n\n const { programs } = useOrganizationPrograms({ organizationSlug });\n const program = programs.find(\n (program) => program.metadata.id.current === programSlug,\n );\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setIsLoading(false);\n }, 6000);\n return () => clearTimeout(timer);\n }, []);\n\n useEffect(() => {\n if (!isLoading) return;\n const timer = setTimeout(() => {\n loadingMessageIndex !== 3\n ? setLoadingMessageIndex(loadingMessageIndex + 1)\n : setLoadingMessageIndex(0);\n }, 3000);\n return () => clearTimeout(timer);\n }, [loadingMessageIndex, isLoading]);\n\n useEffect(() => {\n if (!program || !role) {\n navigate('./..');\n }\n }, [navigate, program, role]);\n\n const isGuide = role === 'guide';\n useEffect(() => {\n if (isGuide) {\n navigate(`/programs/${programSlug}`);\n }\n }, [isGuide, navigate, programSlug]);\n\n const isMembershipTraineeFormEmpty =\n !membershipTraineeForm || Object.keys(membershipTraineeForm).length === 0;\n useEffect(() => {\n if (isMembershipTraineeFormEmpty) {\n navigate('./..');\n }\n }, [isMembershipTraineeFormEmpty, navigate]);\n\n if (!program || !role) {\n return <>;\n }\n\n const maxSpots = program.relationships.group_settings?.max_trainees ?? 0;\n\n const filteredMatches = matches?.filter((match) => {\n const traineeProfiles = match.relationship?.traineeProfiles ?? [];\n const spotsOccupied = traineeProfiles.length;\n const spotsLeft = maxSpots - spotsOccupied;\n\n return spotsLeft > 0;\n });\n\n if (isGuide) {\n return <>;\n }\n\n if (isMembershipTraineeFormEmpty) {\n return <>;\n }\n\n const programType = program.program_details?.program_type;\n const programVariation = programType?.program_type_text?.variations?.group;\n\n const registrationLoadingMessages =\n programVariation?.registration?.registration_trainee\n ?.registration_trainee_choose_a_guide\n ?.registration_trainee_choose_a_guide_loading_state_messages;\n const loadingMessages = registrationLoadingMessages\n ? Object.values(registrationLoadingMessages)\n : [];\n\n const renderLoadingMessage = loadingMessages.map((loadingMessage, index) => {\n return (\n \n \n {loadingMessage}\n \n \n );\n });\n\n const renderLoading = () => {\n return (\n \n \n \n {renderLoadingMessage}\n \n \n );\n };\n\n const renderNoMatches = () => {\n return (\n <>\n \n \n {\n programVariation?.registration?.registration_trainee\n ?.registration_trainee_no_matches_found\n ?.registration_trainee_no_matches_actions_label\n }\n \n \n navigate('./../')}\n variant=\"contained\"\n color=\"info\"\n size=\"large\"\n fullWidth={isMobile}\n sx={{\n mr: isMobile ? 0 : 3,\n mb: isMobile ? 2 : 0,\n width: '230px',\n fontWeight: '600',\n maxWidth: '100%',\n }}\n >\n {baseLanguage?.globals?.common?.edit_profile_button_label}\n \n navigate('/learn')}\n variant=\"outlined\"\n color=\"info\"\n size=\"large\"\n fullWidth={isMobile}\n sx={{\n width: '230px',\n fontWeight: '600',\n maxWidth: '100%',\n }}\n >\n {baseLanguage?.globals?.common?.explore_learning_hub}\n \n \n \n );\n };\n\n const joinGroup = async (relationshipId: string) => {\n const relationshipResponse = await reqRelationships({\n method: 'PATCH',\n url: `/relationships/${relationshipId}`,\n // TODO fix Types\n // @ts-ignore\n data: {\n traineeProfiles: [profile.id],\n },\n });\n\n if (relationshipResponse.status === 'error') {\n return dispatch(\n showAppAlert({\n severity: 'error',\n message: relationshipResponse.errors?.[0].message,\n timeout: 5000,\n }),\n );\n }\n\n const relationshipData = relationshipResponse?.data;\n const relationship = relationshipData?.[0];\n\n if (!relationship) {\n return;\n }\n\n await reqRelationships({ url: '/relationships' });\n\n navigate(`/relationships/${relationship.id}`);\n dispatch(showConfetti(true));\n dispatch(toggleModal('traineeModal'));\n };\n\n const renderGroup = (match: IMatch, index: number) => {\n const membership: Partial =\n match.membership as Partial;\n\n const traineeProfiles: string[] | undefined =\n match.relationship?.traineeProfiles;\n\n const relationshipId = match.relationship?.id;\n\n if (!relationshipId) {\n console.error('relationshipId missing');\n return;\n }\n\n const guideProfile: Partial =\n membership.profile as Partial;\n\n if (!guideProfile?.id) {\n return;\n }\n const skills: Partial[] = membership.skills as Partial[];\n const skillsSlugs = skills.map((skill) => skill.fieldSlug ?? '');\n\n const programFields: Partial[] =\n membership.programFields as Partial[];\n\n const programFieldsFormatted = Object.fromEntries(\n programFields.map((programField) => [\n programField.fieldSlug,\n programField.value,\n ]),\n );\n\n return (\n joinGroup(relationshipId)}\n blurred={index !== 0}\n isLoading={isLoadingRelationships()}\n />\n );\n };\n\n const renderFoundGuide = () => {\n const renderGroups = () =>\n filteredMatches?.map((match, index) => renderGroup(match, index));\n\n return (\n <>\n \n \n {renderGroups()}\n \n );\n };\n\n const renderContent = () => {\n if (filteredMatches?.length === 0) {\n return renderNoMatches();\n }\n\n return renderFoundGuide();\n };\n\n return (\n \n {isLoading || isLoadingMatches ? renderLoading() : renderContent()}\n \n );\n};\n","// external\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport {\n Box,\n Divider,\n Modal,\n Paper,\n Typography,\n useTheme,\n} from '@mui/material';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { Control, SubmitHandler, useForm } from 'react-hook-form';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// internal\nimport {\n EProgramVariation,\n ICustomField,\n IMembership,\n ISkill,\n ProgramRegistrationSkills,\n} from '@guider-global/shared-types';\nimport { LoadingButton } from '@mui/lab';\nimport { ModalCard, PageCard } from 'components';\n// Hooks\nimport {\n useBaseLanguage,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n useCustomFields,\n useLocalization,\n useMatches,\n useMemberships,\n useMixpanelEvents,\n useMobileMediaQuery,\n useProfiles,\n useTrackEvent,\n} from 'hooks';\n\n// Store\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\nimport { hideNavbar } from 'store/slices/appSlice';\nimport {\n IMembershipForm,\n selectMembershipTraineeForm,\n setMembershipTraineeForm,\n} from 'store/slices/formsSlice';\n// utils\nimport {\n getISOStringWithoutMilliseconds,\n getSubDomain,\n} from '@guider-global/front-end-utils';\nimport {\n renderFields,\n renderSkills,\n} from 'pages/ProgramRegistrationPage/utils';\nimport { areArraysEqual } from 'utils';\n\nexport const TraineeRegistrationAboutYouPage: React.FC = () => {\n const [isFormReady, setIsFormReady] = useState(false);\n\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const { trackMixpanelEvent, trackScreenTime, unionUserProperty } =\n useMixpanelEvents();\n\n const { getProfiles } = useProfiles({ getSilently: true });\n const [profile] = getProfiles();\n const profileId = profile.id;\n\n const { programSlug = '' } = useParams<{\n programSlug: string;\n }>();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n const { isLoadingMemberships, reqMemberships, memberships } = useMemberships(\n {},\n );\n\n const { reqCustomFields, isLoadingCustomFields } = useCustomFields({});\n\n const { reqMatches, isLoadingMatches } = useMatches({});\n\n const membershipTraineeForm = useAppSelector((state) =>\n selectMembershipTraineeForm(state, programSlug),\n );\n\n const disableTraineeRegistration =\n program?.program_details?.trainee_registration_rules\n ?.disable_trainee_registration ?? false;\n\n useTrackEvent({\n track: {\n eventKey: 'program-trainee-registration-visited',\n eventParams: {\n organization: { organizationSlug },\n program: {\n organizationSlug,\n programSlug,\n },\n },\n },\n for: programSlug,\n if: !disableTraineeRegistration,\n });\n\n useEffect(() => {\n if (!disableTraineeRegistration) {\n trackMixpanelEvent('Trainee Program Registration - Viewed', {\n 'Date viewed': getISOStringWithoutMilliseconds(),\n 'Program ID': programSlug,\n });\n }\n }, [trackMixpanelEvent, programSlug, disableTraineeRegistration]);\n\n useEffect(() => {\n dispatch(hideNavbar(true));\n }, [dispatch]);\n\n const programMemberships = memberships().filter(\n (membership) => membership.programSlug === programSlug,\n );\n\n const traineeMembership = programMemberships.find(\n (membership) => membership.role === 'trainee',\n );\n\n const skillsConfig = useMemo(\n () => program?.registration?.skills as ProgramRegistrationSkills,\n [program],\n );\n\n const skillsOptions = useMemo(\n () => skillsConfig?.options?.map((skill) => skill.id.current) ?? [],\n [skillsConfig],\n );\n\n const membershipProgramFields = useMemo(\n () => (traineeMembership?.programFields as ICustomField[]) ?? [],\n [traineeMembership],\n );\n\n const defaultFormFields = useMemo(() => {\n const programSkills =\n (traineeMembership?.skills as Partial[]) ?? [];\n\n return {\n ...(programSkills.length !== 0 && {\n skills: programSkills\n .map((skill) => skill.fieldSlug)\n .filter(\n (skillValue) => skillValue && skillsOptions.includes(skillValue),\n ),\n }),\n ...Object.fromEntries(\n membershipProgramFields.map((customField) => [\n customField.fieldSlug,\n customField.value,\n ]),\n ),\n };\n }, [membershipProgramFields, traineeMembership, skillsOptions]);\n\n const {\n handleSubmit,\n control,\n formState: { errors, isValid },\n reset,\n trigger,\n } = useForm({\n mode: 'onChange',\n defaultValues: membershipTraineeForm || defaultFormFields,\n });\n const typedControl = control as Control;\n\n useEffect(() => {\n if (!isFormReady && Object.keys(defaultFormFields).length !== 0) {\n reset(defaultFormFields);\n\n setTimeout(() => {\n trigger();\n }, 1);\n\n setIsFormReady(true);\n }\n }, [isFormReady, defaultFormFields, reset, trigger]);\n\n if (!program) {\n return <>;\n }\n\n const isGroupProgram =\n program.program_details?.program_variation === EProgramVariation.Group;\n const programType = program.program_details?.program_type;\n const programTypeText = programType?.program_type_text;\n const programVariation = programTypeText?.variations?.individual;\n\n const registrationQuestions =\n program.registration?.registration_questions?.filter(\n (registrationQuestion) =>\n ['trainee', 'both'].includes(registrationQuestion.audience),\n );\n\n const isSkillsEnabled = program.registration?.skills?.enable_skills_question;\n\n const publishMembership = async (data: IMembershipForm) => {\n let customFields: ICustomField[] = [];\n\n const customFieldsPostData: Partial[] = Object.entries(data)\n .filter(([fieldKey]) => fieldKey !== 'skills')\n .map(([fieldKey, fieldValue]) => {\n const fieldType = program.registration?.registration_questions?.find(\n (registrationQuestion) =>\n registrationQuestion.id.current === fieldKey,\n )?.type;\n\n return {\n fieldSlug: fieldKey,\n organizationSlug: organizationSlug,\n programSlug: programSlug,\n fieldType,\n value: fieldValue,\n profileId,\n };\n });\n\n if (customFieldsPostData && customFieldsPostData.length !== 0) {\n const customFieldsResponse = await reqCustomFields({\n method: 'POST',\n url: '/customfields',\n data: customFieldsPostData,\n });\n\n Array.isArray(customFieldsResponse.data) &&\n (customFields = customFieldsResponse.data);\n }\n\n const customFieldIds: string[] | undefined = customFields.map(\n (customField) => customField.id,\n );\n\n const membershipData: Partial & { skillSlugs: string[] } = {\n role: 'trainee',\n organizationSlug,\n programSlug,\n profile: profileId,\n isPublished: true,\n programFields: customFieldIds ?? [],\n skillSlugs: data.skills ?? [],\n programVariationTypeSlug: EProgramVariation.Individual,\n };\n\n await reqMemberships({\n method: 'POST',\n url: '/memberships',\n data: membershipData,\n });\n\n await Promise.all([\n reqMemberships({ url: '/memberships' }),\n reqMatches({\n url: `/matches?organizationSlug=${organizationSlug}&programSlug=${programSlug}`,\n }),\n ]);\n\n navigate('./goals');\n };\n\n const updateMembership: SubmitHandler = async (data) => {\n let newCustomFieldIds: string[] = [];\n\n const { isPublished } = data;\n delete data.isPublished;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { skills, ...newCustomFields } = data;\n\n if (Object.keys(newCustomFields).length !== 0) {\n let customFieldsPostData: ICustomField[] = [];\n\n await Promise.all(\n Object.entries(newCustomFields).map(\n async ([newCustomFieldSlug, newCustomFieldValue]) => {\n const oldMembershipProgramField = membershipProgramFields.find(\n (membershipProgramField) =>\n membershipProgramField.fieldSlug === newCustomFieldSlug,\n );\n const oldValue = oldMembershipProgramField?.value;\n\n const isNew = !oldValue;\n\n if (!isNew) {\n let hasValueChanged = false;\n\n const fieldId = oldMembershipProgramField.id;\n const fieldType = oldMembershipProgramField.fieldType;\n\n const newValue = newCustomFieldValue;\n\n if (fieldType === 'multi-select') {\n if (Array.isArray(newValue) && Array.isArray(oldValue)) {\n hasValueChanged = !areArraysEqual(newValue, oldValue);\n }\n } else {\n hasValueChanged = oldValue !== newValue;\n }\n\n if (!hasValueChanged) {\n return;\n }\n\n return await reqCustomFields({\n method: 'PATCH',\n url: `/customfields/${fieldId}`,\n data: {\n value: newValue,\n fieldType,\n },\n });\n } else {\n const currentRegistrationQuestion = registrationQuestions?.find(\n (registrationQuestion) =>\n registrationQuestion.id.current === newCustomFieldSlug,\n );\n\n return customFieldsPostData.push({\n fieldSlug: newCustomFieldSlug,\n organizationSlug,\n fieldType: currentRegistrationQuestion?.type,\n value: newCustomFieldValue,\n profileId,\n programSlug,\n } as ICustomField);\n }\n },\n ),\n );\n\n if (customFieldsPostData?.length !== 0) {\n const { data: customFieldsResponseData } = await reqCustomFields({\n method: 'POST',\n url: '/customfields',\n data: customFieldsPostData,\n });\n\n if (customFieldsResponseData) {\n newCustomFieldIds = customFieldsResponseData.map(\n (customField) => customField.id,\n );\n }\n\n await reqCustomFields({ url: '/customfields' });\n }\n }\n\n const membershipData: Partial & { skillSlugs: string[] } = {\n isPublished: !!isPublished,\n programSlug,\n skillSlugs: skills ?? [],\n ...(newCustomFieldIds && {\n programFields: [\n ...membershipProgramFields.map((field) => field.id),\n ...newCustomFieldIds,\n ],\n }),\n };\n\n await reqMemberships({\n method: 'PATCH',\n url: `/memberships/${traineeMembership?.id}`,\n data: membershipData,\n });\n\n await Promise.all([\n reqMemberships({ url: '/memberships' }),\n reqMatches({\n url: `/matches?organizationSlug=${organizationSlug}&programSlug=${programSlug}`,\n }),\n ]);\n\n navigate('./goals');\n };\n\n const onSubmit: SubmitHandler = async (data) => {\n try {\n dispatch(setMembershipTraineeForm({ programSlug, data }));\n\n if (traineeMembership) {\n await updateMembership(data);\n } else {\n await publishMembership(data);\n trackScreenTime('Trainee Program Registration - About you Completed', {\n 'Program type': programTypeText?.common?.verb,\n 'Program ID': programSlug,\n });\n unionUserProperty(\n 'Trainee profiles',\n `${organizationSlug}-${programTypeText?.common?.verb}`,\n );\n }\n } catch (err) {\n console.error(err);\n }\n };\n\n return (\n <>\n \n \n {!isMobile && }\n \n {isSkillsEnabled &&\n renderSkills({\n skillsConfig,\n typedControl,\n errors,\n pageName: 'TraineeRegistrationAboutYouPage',\n role: 'trainee',\n isGroupProgram,\n })}\n {renderFields({\n registrationQuestions,\n isSkillsEnabled,\n typedControl,\n errors,\n pageName: 'TraineeRegistrationAboutYouPage',\n role: 'trainee',\n isGroupProgram,\n })}\n \n \n {baseLanguage?.globals?.common?.continue_button_label ??\n 'Continue'}\n \n \n \n \n\n \n \n \n {program.program_details?.trainee_registration_rules\n ?.modal_title ?? ''}\n \n }\n headerLineColor=\"warning\"\n actions={[\n {\n label:\n program.program_details?.trainee_registration_rules\n ?.return_to_dashboard_button_label ?? '',\n action: () => navigate('/dashboard'),\n variant: 'contained',\n color: 'info',\n },\n ]}\n >\n \n {program.program_details?.trainee_registration_rules\n ?.modal_description ?? ''}\n \n \n \n \n );\n};\n","// external\nimport PersonSearchSharp from '@mui/icons-material/PersonSearchSharp';\nimport {\n Avatar,\n Box,\n Button,\n Card,\n CircularProgress,\n Fade,\n Modal,\n ThemeProvider,\n Typography,\n useTheme,\n} from '@mui/material';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\n\n// internal\nimport { deepMerge, hexToRGB } from 'utils';\n\n// components\nimport { AvatarUser, MDIcons, PageCard, SanityIcon } from 'components';\n\n// store\nimport { useAppDispatch, useAppSelector } from 'store/hooks';\nimport {\n hideConfetti,\n showAppAlert,\n showConfetti,\n} from 'store/slices/appSlice';\nimport {\n selectMembershipTraineeForm,\n setMembershipTraineeForm,\n} from 'store/slices/formsSlice';\n\n// hooks\nimport {\n useGoals,\n useMatches,\n useMemberships,\n useMixpanelEvents,\n useMobileMediaQuery,\n useProfiles,\n useRelationships,\n useTrackEvent,\n} from 'hooks';\n\n// types\nimport {\n EProgramVariation,\n ICustomField,\n IMatch,\n IMatchMembership,\n IMatchedSkill,\n IMembership,\n IProfile,\n} from '@guider-global/shared-types';\n\nimport { useProfileImage } from '@guider-global/azure-storage-hooks';\nimport {\n getFormattedProgramFields,\n getSubDomain,\n getVisibleProfileFields,\n} from '@guider-global/front-end-utils';\nimport {\n buildSanityImageUrl,\n useOrganization,\n useSanityBaseLanguage,\n useSanityOrganizationPrograms,\n useSettings,\n} from '@guider-global/sanity-hooks';\nimport {\n IProfileViewField,\n OrganizationProfileView,\n theme,\n} from '@guider-global/ui';\nimport { interpolate } from 'functions';\nimport { RegistrationLimitReachedModal } from 'modals';\n\nimport countries from 'i18n-iso-countries';\n\nexport const TraineeRegistrationChooseGuidePage: React.FC = () => {\n const organizationTheme = useTheme();\n const combinedPalette = deepMerge(\n theme.appTheme.palette,\n organizationTheme.palette,\n );\n\n const dispatch = useAppDispatch();\n const [relationshipId, setRelationshipId] = useState('');\n const [selectedIndex, setSelectedIndex] = useState();\n const [isLoading, setIsLoading] = useState(true);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [chosenGuide, setChosenGuide] = useState<{\n userPicture?: string;\n profile?: Partial;\n }>();\n const [loadingMessageIndex, setLoadingMessageIndex] = useState(0);\n\n const { reqMemberships } = useMemberships({});\n const { getProfiles } = useProfiles({ waitForAuthentication: true });\n const { reqGoals } = useGoals({});\n const [profile] = getProfiles();\n const profileId = profile?.id ?? '';\n\n const { settings } = useSettings({\n localeCode: 'en_GB',\n });\n\n const isMobile = useMobileMediaQuery();\n\n // base lanuage\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n\n const navigate = useNavigate();\n const { trackScreenTime } = useMixpanelEvents();\n const organizationSlug = getSubDomain();\n\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const { getProfileImage } = useProfileImage();\n\n countries.registerLocale(require(`i18n-iso-countries/langs/en.json`));\n\n const membershipTraineeForm = useAppSelector((state) =>\n selectMembershipTraineeForm(state, programSlug),\n );\n const membershipTraineeGoals = membershipTraineeForm?.goals || [];\n\n useTrackEvent({\n track: {\n eventKey: 'program-trainee-viewed-guide-list',\n eventParams: {\n organization: { organizationSlug },\n program: { organizationSlug, programSlug, includeChooseGuideUrl: true },\n },\n },\n });\n\n const { isLoadingMatches, matches } = useMatches({\n query: `?organizationSlug=${organizationSlug}&programSlug=${programSlug}`,\n });\n\n const {\n relationships: getRelationships,\n isLoadingRelationships,\n reqRelationships,\n } = useRelationships({});\n const relationships = getRelationships();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n const { organization } = useOrganization({ organizationSlug });\n\n const handleRegistrationLimitReachedModalAction = useCallback(() => {\n navigate('/relationships');\n }, [navigate]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setIsLoading(false);\n }, 6000);\n return () => clearTimeout(timer);\n }, []);\n\n useEffect(() => {\n if (!isLoading) return;\n const timer = setTimeout(() => {\n loadingMessageIndex !== 3\n ? setLoadingMessageIndex(loadingMessageIndex + 1)\n : setLoadingMessageIndex(0);\n }, 3000);\n return () => clearTimeout(timer);\n }, [loadingMessageIndex, isLoading]);\n\n const programType = program?.program_details?.program_type;\n\n useEffect(() => {\n if (matches?.length === 0) {\n trackScreenTime('Trainee Program Registration - No guides found', {\n 'Program type': programType?.program_type_text.common?.verb,\n 'Program ID': programSlug,\n });\n } else {\n trackScreenTime('Trainee Program Registration - Select a guide', {\n 'Program type': programType?.program_type_text.common?.verb,\n 'Program ID': programSlug,\n 'Count of available guides': matches?.length,\n });\n }\n }, [\n matches,\n programSlug,\n programType?.program_type_text.common?.verb,\n trackScreenTime,\n ]);\n\n const isProgramAvailable = program != null;\n const isRoleAvailable = role != null;\n useEffect(() => {\n if (!isProgramAvailable || !isRoleAvailable) {\n navigate('./..');\n }\n }, [isProgramAvailable, isRoleAvailable, navigate]);\n\n const isGuide = role === 'guide';\n useEffect(() => {\n if (isGuide) {\n navigate(`/programs/${programSlug}`);\n }\n }, [isGuide, navigate, programSlug]);\n\n const isMembershipTraineeFormEmpty =\n !membershipTraineeForm || Object.keys(membershipTraineeForm).length === 0;\n useEffect(() => {\n if (isMembershipTraineeFormEmpty) {\n navigate('./..');\n }\n }, [isMembershipTraineeFormEmpty, navigate]);\n\n if (!program) {\n return <>;\n }\n\n const programTypeText = programType?.program_type_text;\n const programVariation = programTypeText?.variations?.individual;\n const programRelationshipLimits = program.relationships.relationship_limits;\n\n // Relationship limits\n\n const isTraineeRelationshipLimitSet =\n programRelationshipLimits?.enable_trainee_relationship_limit ?? false;\n\n const isGuideRelationshipLimitSet =\n programRelationshipLimits?.enable_guide_relationship_limit ?? false;\n\n const traineeRelationshipLimit = isTraineeRelationshipLimitSet\n ? programRelationshipLimits?.trainee_relationship_limit\n : undefined;\n\n const guideRelationshipLimit = isGuideRelationshipLimitSet\n ? programRelationshipLimits?.guide_relationship_limit\n : undefined;\n\n const programRegistrationTraineeGuideLimitModal =\n programTypeText?.variations?.individual?.registration?.registration_trainee\n ?.registration_trainee_guide_limit_modal;\n\n const programRelationships = relationships.filter((relationship) => {\n const relationshipTraineeProfileIds = (\n relationship.traineeProfiles as IProfile[]\n ).map((relationship) => relationship.id);\n\n const relationshipIncludesTrainee =\n relationshipTraineeProfileIds.includes(profileId);\n return (\n relationship.programSlug === programSlug &&\n !relationship.isConcluded &&\n relationshipIncludesTrainee\n );\n });\n\n const showRegistrationLimitReachedModal =\n traineeRelationshipLimit !== undefined\n ? programRelationships.length >= traineeRelationshipLimit\n : false;\n\n const isLimitModalOpen =\n !isLoadingRelationships() &&\n !isLoadingRelationships() &&\n !isModalOpen &&\n showRegistrationLimitReachedModal;\n\n const registrationLoadingMessages =\n programVariation?.registration?.registration_trainee\n ?.registration_trainee_choose_a_guide\n ?.registration_trainee_choose_a_guide_loading_state_messages;\n const loadingMessages = registrationLoadingMessages\n ? Object.values(registrationLoadingMessages)\n : [];\n\n const handleLimitReachedAlert = (message: string) => {\n dispatch(\n showAppAlert({\n severity: 'error',\n message: message,\n timeout: 5000,\n }),\n );\n };\n\n const renderLoadingMessage = loadingMessages.map((loadingMessage, index) => {\n return (\n \n \n {loadingMessage}\n \n \n );\n });\n\n const renderLoading = () => {\n return (\n \n \n \n {renderLoadingMessage}\n \n \n );\n };\n\n const renderNoMatches = () => {\n return (\n <>\n \n \n {\n programVariation?.registration?.registration_trainee\n ?.registration_trainee_no_matches_found\n ?.registration_trainee_no_matches_actions_label\n }\n \n \n navigate('./../')}\n variant=\"contained\"\n color=\"info\"\n size=\"large\"\n fullWidth={isMobile}\n sx={{\n mr: isMobile ? 0 : 3,\n mb: isMobile ? 2 : 0,\n width: '230px',\n fontWeight: '600',\n maxWidth: '100%',\n }}\n >\n {baseLanguage.globals?.common?.edit_profile_button_label}\n \n navigate('/learn')}\n variant=\"outlined\"\n color=\"info\"\n size=\"large\"\n fullWidth={isMobile}\n sx={{\n width: '230px',\n fontWeight: '600',\n maxWidth: '100%',\n }}\n >\n {baseLanguage.globals?.common?.explore_learning_hub}\n \n \n \n );\n };\n\n const connectWithGuide = async (match?: Partial) => {\n const guideProfile = match?.profile as Partial;\n if (!guideProfile?.id) {\n console.error('No `guideProfile` provided.');\n return;\n }\n\n setChosenGuide({\n userPicture: match?.userPicture,\n profile: guideProfile,\n });\n\n const relationshipsResponse = await reqRelationships({\n method: 'POST',\n url: '/relationships',\n // TODO fix types\n // @ts-ignore\n data: {\n guideProfiles: [guideProfile.id],\n traineeProfiles: [profileId],\n programSlug,\n organizationSlug,\n programTypeSlug: programType?.metadata?.id?.current,\n programVariationTypeSlug: EProgramVariation.Individual,\n profileId,\n goals: membershipTraineeGoals,\n },\n });\n\n relationshipsResponse.errors?.forEach((error) => {\n if (error.message?.includes('relationship limit reached')) {\n handleLimitReachedAlert(error.message);\n } else {\n dispatch(\n showAppAlert({\n severity: 'error',\n message: error.message,\n timeout: 5000,\n }),\n );\n }\n });\n\n const relationshipData = relationshipsResponse?.data;\n const relationship = relationshipData && relationshipData[0];\n\n if (relationship) {\n dispatch(setMembershipTraineeForm({}));\n const relationshipId = relationship?.id || '';\n setRelationshipId(relationshipId);\n dispatch(showConfetti(true));\n setIsModalOpen(true);\n }\n\n await Promise.all([\n reqRelationships({ url: '/relationships' }),\n reqMemberships({ url: '/memberships' }),\n reqGoals({ url: '/goals' }),\n ]);\n };\n\n const renderGuide = (match: IMatch, index: number) => {\n const membership: Partial =\n match.membership as Partial;\n\n const guideProfile: Partial =\n membership.profile as Partial;\n\n if (!guideProfile?.id) {\n return;\n }\n\n const skills = membership.skills as IMatchedSkill[];\n\n const skillsConfig = program?.registration?.skills;\n\n const customFields = getFormattedProgramFields(\n match.membership as IMembership,\n program,\n );\n\n let spotsLeft: number | undefined;\n if (guideRelationshipLimit) {\n spotsLeft = guideRelationshipLimit - (match.relationshipCount ?? 0);\n }\n const image = getProfileImage({\n profilePicture: guideProfile.picture,\n userPicture: membership.userPicture,\n });\n\n const profileVideo = baseLanguage.profile_card;\n\n const organizationFieldsToShow = getVisibleProfileFields(\n organization?.profile_fields,\n guideProfile.organizationFields as ICustomField[],\n );\n\n const fields = organizationFieldsToShow?.map((field) => {\n return {\n icon: ,\n label: field?.label?.toString() ?? '',\n };\n });\n\n const location = `${guideProfile.townOrCity ?? ''}${\n guideProfile.townOrCity && guideProfile.country ? ', ' : ''\n }${\n guideProfile.country ? countries.getName(guideProfile.country, 'en') : ''\n }`;\n\n return (\n {\n const label =\n skillsConfig?.options?.find(\n (option) => option.id.current === skill.fieldSlug,\n )?.label ?? undefined;\n\n return {\n key: `${label}-${index}`,\n isMatched: skill.matched ?? false,\n value: label ?? '',\n };\n }),\n }}\n linkedInUrl={guideProfile.linkedInUrl}\n viewLinkedInLabel={\n baseLanguage.programs?.program_registration\n ?.linkedin_profile_button_label\n }\n buttons={[\n {\n label: interpolate(\n programTypeText?.variations?.individual?.registration\n ?.registration_trainee?.registration_trainee_choose_a_guide\n ?.registration_trainee_choose_a_guide_choose_guide_button_label ??\n '',\n { name: guideProfile.firstName ?? '' },\n ),\n key: '1',\n variant: 'contained',\n color: 'info',\n sx: { px: 3 },\n loading: isLoadingRelationships() && index === selectedIndex,\n disabled: isLoadingRelationships() && index !== selectedIndex,\n onClick: async () => {\n setSelectedIndex(index);\n await connectWithGuide(membership);\n setSelectedIndex(undefined);\n },\n },\n ]}\n bottomText={\n spotsLeft &&\n guideRelationshipLimit &&\n interpolate(profileVideo?.spots_left_label, {\n guideSingular: programTypeText?.common?.guide?.singular ?? '',\n spotNumber: spotsLeft.toString(),\n spot:\n spotsLeft === 1\n ? profileVideo?.spot_singular\n : profileVideo?.spots_plural,\n })\n }\n customFields={customFields as IProfileViewField[]}\n />\n );\n };\n\n const renderFoundGuide = () => {\n const renderGuides = () =>\n matches?.map((match, index) => renderGuide(match, index));\n\n return (\n <>\n \n \n {renderGuides()}\n \n \n );\n };\n\n const renderContent = () => {\n if (matches?.length === 0) {\n return renderNoMatches();\n }\n\n return renderFoundGuide();\n };\n\n const handleViewRelationship = () => {\n dispatch(hideConfetti(true));\n setIsModalOpen(false);\n trackScreenTime('Trainee Program Registration - View relationship');\n navigate(`/relationships/${relationshipId}`);\n };\n\n if (!program || !role) {\n return <>;\n }\n if (isGuide) {\n return <>;\n }\n if (isMembershipTraineeFormEmpty) {\n return <>;\n }\n\n const image = getProfileImage({\n profilePicture: chosenGuide?.profile?.picture,\n userPicture: chosenGuide?.userPicture,\n });\n\n return (\n <>\n {isLoading || isLoadingMatches ? renderLoading() : renderContent()}\n \n \n \n \n \n \n {\n programVariation?.registration?.registration_trainee\n ?.registration_trainee_relationship_created_successfully\n ?.registration_trainee_relationship_created_successfully_title\n }\n \n \n {interpolate(\n programVariation?.registration?.registration_trainee\n ?.registration_trainee_relationship_created_successfully\n ?.registration_trainee_relationship_created_successfully_description ??\n '',\n {\n firstName: chosenGuide?.profile?.firstName || '',\n lastName: chosenGuide?.profile?.lastName || '',\n },\n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {baseLanguage?.globals?.relationships?.view_relationship}\n \n \n \n \n \n );\n};\n","// external\nimport { useParams } from 'react-router-dom';\n\n// internal\nimport { useSanityOrganizationPrograms } from '@guider-global/sanity-hooks';\nimport {\n TraineeRegistrationChooseGroupPage,\n TraineeRegistrationChooseGuidePage,\n} from 'pages';\nimport React from 'react';\n\nexport const TraineeRegistrationChoosePage: React.FC = () => {\n const { programSlug = '' } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n const programVariation = program?.program_details?.program_variation;\n const isGroupProgram = programVariation === 'group';\n\n return isGroupProgram ? (\n \n ) : (\n \n );\n};\n","// external\nimport { useAuth } from '@guider-global/auth-hooks';\nimport ArrowBack from '@mui/icons-material/ArrowBack';\nimport {\n AppBar,\n Box,\n Button,\n Grid,\n Toolbar,\n Typography,\n useScrollTrigger,\n useTheme,\n} from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { Outlet, useNavigate, useParams } from 'react-router-dom';\n\n// store\nimport { useAppDispatch } from 'store/hooks';\nimport { hideNavbar, showNavbar } from 'store/slices/appSlice';\n\n// hooks\nimport {\n useSanityBaseLanguage,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { useMobileMediaQuery, useRelationships } from 'hooks';\n\nexport const ProgramRegistrationPage: React.FC = () => {\n useAuth({});\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n dispatch(hideNavbar(true));\n\n return () => {\n dispatch(showNavbar(true));\n };\n }, [dispatch]);\n\n const { palette, transitions } = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const { isLoadingRelationships } = useRelationships({});\n\n const scrollTrigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 0,\n });\n\n const { programSlug = '', role } = useParams();\n const isInvalidRole = role !== 'guide' && role !== 'trainee';\n\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n const { getBaseLanguage } = useSanityBaseLanguage({});\n const baseLanguage = getBaseLanguage();\n\n useEffect(() => {\n if (!program || !role || isInvalidRole) {\n navigate('./../');\n }\n }, [isInvalidRole, navigate, program, role]);\n\n if (!program || !role || isInvalidRole) {\n return <>;\n }\n\n const programType = program.program_details?.program_type;\n const programVariation = program.program_details?.program_variation;\n const isGroupProgram = programVariation === 'group';\n\n const programVariations = programType?.program_type_text?.variations;\n\n const individualCopy = programVariations?.individual;\n const groupCopy = programVariations?.group;\n\n const isGuide = role === 'guide';\n\n const guideTitle = isGroupProgram\n ? groupCopy?.registration?.registration_guide?.registration_guide_title\n : individualCopy?.registration?.registration_guide\n ?.registration_guide_title;\n\n const traineeTitle = isGroupProgram\n ? groupCopy?.registration?.registration_trainee?.registration_trainee_title\n : individualCopy?.registration?.registration_trainee\n ?.registration_trainee_title;\n\n return (\n <>\n \n \n }\n fullWidth={false}\n disabled={isLoadingRelationships()}\n onClick={() => navigate(-1)}\n sx={{\n color: palette.default.text.primary,\n }}\n >\n {baseLanguage.globals?.common?.go_back_button_label}\n \n \n \n \n \n \n \n {program.metadata.program_name}\n \n \n {isGuide ? guideTitle : traineeTitle}\n \n \n \n \n \n \n );\n};\n","import { ProgramRegistrationQuestion } from '@guider-global/shared-types';\nimport { Box, Typography } from '@mui/material';\nimport { Asterisk, FormTextFieldTyped } from 'components';\nimport { FormAutocomplete } from 'components/FormAutocomplete';\nimport { Control, FieldErrors } from 'react-hook-form';\n\nexport const renderFields = ({\n registrationQuestions,\n isSkillsEnabled,\n typedControl,\n errors,\n pageName,\n role,\n isGroupProgram,\n isGoalsDisabled,\n}: {\n registrationQuestions: ProgramRegistrationQuestion[] | undefined;\n isSkillsEnabled: boolean | undefined;\n typedControl: Control;\n errors: FieldErrors;\n pageName: string;\n role: 'guide' | 'trainee';\n isGroupProgram: boolean;\n isGoalsDisabled?: boolean | undefined;\n}) => {\n const filteredRegistrationQuestions =\n registrationQuestions?.filter((registrationQuestion) =>\n [role, 'both'].includes(registrationQuestion.audience),\n ) || [];\n\n return filteredRegistrationQuestions.map((question, index) =>\n renderFieldWrapper({\n question,\n typedControl,\n errors,\n pageName,\n index,\n isSkillsEnabled,\n role,\n isGroupProgram,\n isGoalsDisabled,\n }),\n );\n};\n\nexport const renderFieldWrapper = ({\n question,\n typedControl,\n errors,\n pageName,\n index,\n isSkillsEnabled,\n role,\n isGroupProgram,\n isGoalsDisabled,\n}: {\n question: ProgramRegistrationQuestion;\n typedControl: Control;\n errors: FieldErrors;\n pageName: string;\n index: number;\n isSkillsEnabled: boolean | undefined;\n role: 'guide' | 'trainee';\n isGroupProgram: boolean;\n isGoalsDisabled?: boolean | undefined;\n}) => {\n const isGuide = role === 'guide';\n const questionId = question.id.current;\n const goalsOffset = !isGoalsDisabled ? 1 : 0;\n const questionIndexOffset = isGroupProgram && isGuide ? 2 : 0;\n const questionIndex = isGuide\n ? index + (isSkillsEnabled ? 2 : 1) + goalsOffset + questionIndexOffset\n : index + (isSkillsEnabled ? 2 : 1) + questionIndexOffset;\n const isRequired = question.required ?? false;\n\n return (\n \n \n {`${questionIndex}. `}\n {question?.[role]?.question_title}\n {isRequired && }\n \n \n {question?.[role]?.question_description}\n \n {renderField({ question, typedControl, errors, pageName })}\n \n );\n};\n\nexport const renderField = ({\n question,\n typedControl,\n errors,\n pageName,\n}: {\n question: ProgramRegistrationQuestion;\n typedControl: Control;\n errors: FieldErrors;\n pageName: string;\n}) => {\n const isRequired = question.required ?? false;\n\n const questionId = question.id.current;\n const questionType = question.type;\n const questionLabel = question?.text?.input_label ?? '';\n\n const requiredErrorText =\n (isRequired ? question.required_validation_error_text : '') ?? '';\n\n if (questionType === 'free-text') {\n const freeTextConfig = question.free_text_config;\n const rows = freeTextConfig?.text_area_size === 'multiline' ? 4 : 1;\n const minLengthErrorMessage =\n freeTextConfig?.text?.minimum_length_not_met_validation_error;\n const maxLengthErrorMessage =\n freeTextConfig?.text?.maximum_length_exceeded_validation_error;\n const minLength = freeTextConfig?.minimum_length;\n const maxLength = freeTextConfig?.maximum_length;\n\n return (\n \n );\n }\n\n if (questionType === 'select') {\n const questionOptions =\n question?.options?.map((option) => ({\n label: option.label ?? '',\n value: option.id.current,\n })) ?? [];\n\n return (\n \n );\n }\n\n if (questionType === 'multi-select') {\n const multiselectConfig = question.multi_select_config;\n const questionOptions =\n question?.options?.map((option) => ({\n label: option.label ?? '',\n value: option.id.current,\n })) ?? [];\n\n const maximumSelections = multiselectConfig?.maximum_selections ?? 5;\n const minimumSelections = multiselectConfig?.minimum_selections ?? 0;\n const errorText = multiselectConfig?.text;\n\n const minimumSelectionsNotMetValidationError =\n errorText?.minimum_selections_not_met_validation_error;\n const maximumSelectionsExceededValidationError =\n errorText?.maximum_selections_exceeded_validation_error;\n\n // Events\n const multiSelectValidate = (value: unknown) => {\n if (question.type === 'multi-select') {\n const valueLength = (value as string[]).length;\n if (valueLength > maximumSelections)\n return maximumSelectionsExceededValidationError;\n if (valueLength < minimumSelections)\n return minimumSelectionsNotMetValidationError;\n return true;\n }\n };\n\n return (\n \n );\n }\n};\n","import { ProgramRegistrationSkills } from '@guider-global/shared-types';\nimport { Typography } from '@mui/material';\nimport { Asterisk } from 'components';\nimport { FormAutocomplete } from 'components/FormAutocomplete';\nimport { Control, FieldErrors } from 'react-hook-form';\n\nexport const renderSkills = ({\n skillsConfig,\n typedControl,\n errors,\n pageName,\n role,\n isGroupProgram,\n index = 1,\n}: {\n skillsConfig: ProgramRegistrationSkills | undefined;\n typedControl: Control;\n errors: FieldErrors;\n pageName: string;\n role: 'guide' | 'trainee';\n isGroupProgram: boolean;\n index?: number;\n}) => {\n const isGuide = role === 'guide';\n const questionIndexOffset = isGroupProgram && isGuide ? 2 : 0; // guide has 2 extra required questions\n const questionIndex = index + questionIndexOffset;\n\n const skillsOptions =\n skillsConfig?.options?.map((skill) => ({\n label: skill.label ?? '',\n value: skill.id.current,\n })) ?? [];\n\n const maximumSelections =\n skillsConfig?.multi_select_config?.maximum_selections ?? 5;\n const minimumSelections =\n skillsConfig?.multi_select_config?.minimum_selections ?? 0;\n const errorText = skillsConfig?.multi_select_config?.text;\n\n const minimumSelectionsNotMetValidationError =\n errorText?.minimum_selections_not_met_validation_error;\n const maximumSelectionsExceededValidationError =\n errorText?.maximum_selections_exceeded_validation_error;\n\n // Events\n const multiSelectValidate = (value: unknown) => {\n const valueLength = (value as string[]).length;\n if (valueLength > maximumSelections)\n return maximumSelectionsExceededValidationError;\n if (valueLength < minimumSelections)\n return minimumSelectionsNotMetValidationError;\n return true;\n };\n\n return (\n <>\n \n {`${questionIndex}. `}\n {skillsConfig?.[role].question_title}\n \n \n \n {skillsConfig?.[role].question_description}\n \n \n \n );\n};\n","import { ProgressContainer } from 'containers';\n\nimport { ProgramMembershipForm } from 'forms/ProgramMembershipForm';\nimport { useNavigate } from 'react-router-dom';\n\nexport function ProgramMembershipPage() {\n const navigate = useNavigate();\n return (\n navigate(-1)} percentage={25}>\n \n \n );\n}\n","import { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n useBaseLanguage,\n useOrganization,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { AvatarBox, Button, Loading } from '@guider-global/ui';\nimport { Stack } from '@mui/system';\nimport { ProgressContainer } from 'containers';\nimport { interpolate } from 'functions';\nimport { useLocalization, useMemberships } from 'hooks';\nimport { useEffect, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport traineeIcon from 'assets/learn.svg';\nimport guideIcon from 'assets/users.svg';\nimport GoalCategoriesView from 'views/Registration/GoalCategoriesView';\nimport { IMembership } from '@guider-global/shared-types';\nimport { useAppDispatch } from 'store/hooks';\nimport { showAppAlert } from 'store/slices/appSlice';\n\nexport function ProgramGoalsPage() {\n const [selectedGoalCategories, setSelectedGoalCategories] = useState<\n string[]\n >([]);\n\n const [loading, setLoading] = useState(false);\n\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const navigate = useNavigate();\n const organizationSlug = getSubDomain();\n const dispatch = useAppDispatch();\n\n const { organization, isLoadingOrganization } = useOrganization({\n organizationSlug,\n });\n\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n // Program\n const { getProgram, isLoadingSanityPrograms } = useSanityOrganizationPrograms(\n {},\n );\n const program = getProgram(programSlug);\n\n // Memberships\n const { memberships, reqMemberships, isLoadingMemberships } = useMemberships({\n getSilently: false,\n forceRefresh: true,\n });\n\n const membership = memberships().find(\n (membership) =>\n membership?.programSlug === programSlug && membership?.role === role,\n );\n\n useEffect(() => {\n if (membership?.goalCategories) {\n setSelectedGoalCategories(\n membership?.goalCategories\n ?.filter((goalCategory) =>\n role === 'guide' ? goalCategory?.offered : goalCategory?.sought,\n )\n ?.map((goalCategory) => goalCategory?.fieldSlug) ?? [],\n );\n }\n }, [membership?.goalCategories, role]);\n\n const goalsSource =\n program?.registration?.goals?.custom_goal_categories ??\n organization?.goal_categories?.categories;\n\n const goalCategories = goalsSource?.map((goalCategory) => ({\n label: goalCategory?.goal_category_name,\n slug: goalCategory?.goal_category_slug?.current,\n }));\n\n async function handleGoalsSubmit() {\n if (!membership || loading) return;\n\n setLoading(true);\n\n const data: Partial & { goalCategorySlugs: string[] } = {\n role,\n isPublished: membership?.isPublished,\n programSlug,\n goalCategorySlugs: selectedGoalCategories,\n };\n\n const membershipsResult = await reqMemberships({\n method: 'PATCH',\n url: `/memberships/${membership?.id}`,\n data,\n });\n\n if (membershipsResult?.status === 'success') {\n navigate(`../skills`);\n } else {\n dispatch(\n showAppAlert({\n severity: 'error',\n message: membershipsResult?.message,\n timeout: 3000,\n }),\n );\n }\n setLoading(false);\n }\n\n const isLoading =\n isLoadingMemberships() ||\n isLoadingSanityPrograms() ||\n isLoadingOrganization;\n\n if (!baseLanguage)\n return (\n \n <>\n \n );\n\n if (isLoading && !loading) {\n return (\n navigate(-1)} percentage={50}>\n \n \n );\n }\n\n return (\n navigate(-1)} percentage={50}>\n \n <>\n \n {goalCategories && (\n setSelectedGoalCategories(slugs)}\n buttonLabels={{\n more: baseLanguage?.globals?.common?.show_more_button_label,\n less: baseLanguage?.globals?.common?.show_less_button_label,\n }}\n selectedGoalCategories={selectedGoalCategories}\n />\n )}\n \n handleGoalsSubmit()}\n data-cy=\"register-goals-continue-button\"\n loading={loading}\n />\n \n \n );\n}\n","import {\n useBaseLanguage,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n AvatarBox,\n Button,\n Checkbox,\n Loading,\n TextStack,\n} from '@guider-global/ui';\nimport { Stack } from '@guider-global/ui/lib/components/Layout/Stack';\nimport guideIcon from 'assets/users.svg';\nimport traineeIcon from 'assets/learn.svg';\nimport { useEffect, useState } from 'react';\nimport { ISkill, ProfileSkill } from '@guider-global/shared-types';\nimport { useLocalization, useMemberships } from 'hooks';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport { ProgressContainer } from 'containers';\nimport { useDispatch } from 'react-redux';\nimport { showAppAlert } from 'store/slices/appSlice';\nimport { ArrowDropDown, ArrowDropUp } from '@mui/icons-material';\nimport { getSubDomain } from '@guider-global/front-end-utils';\n\nexport function ProgramSkillsPage() {\n const navigate = useNavigate();\n const dispatch = useDispatch();\n\n const { programSlug = '', role } = useParams<{\n programSlug: string;\n role: 'guide' | 'trainee';\n }>();\n\n const [showMoreSoftSkills, setShowMoreSoftSkills] = useState(false);\n const [showMoreHardSkills, setShowMoreHardSkills] = useState(false);\n\n const [selectedHardSkills, setSelectedHardSkills] = useState(\n [],\n );\n const [selectedSoftSkills, setSelectedSoftSkills] = useState(\n [],\n );\n\n const [maxError, setMaxError] = useState(false);\n\n const [loading, setLoading] = useState(false);\n\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n // Program\n const { getProgram, isLoadingSanityPrograms } = useSanityOrganizationPrograms(\n {},\n );\n const program = getProgram(programSlug);\n\n // Skill limits\n const min =\n program?.registration?.skills?.multi_select_config?.minimum_selections ?? 1;\n const max =\n program?.registration?.skills?.multi_select_config?.maximum_selections ??\n undefined;\n\n const selectedSkills =\n selectedSoftSkills?.length + selectedHardSkills?.length;\n\n useEffect(() => {\n if (max && selectedSkills === max) {\n setMaxError(true);\n } else {\n setMaxError(false);\n }\n }, [selectedSkills, max]);\n\n // Memberships\n const { memberships, reqMemberships, isLoadingMemberships } = useMemberships({\n getSilently: false,\n forceRefresh: true,\n });\n\n const membership = memberships().find(\n (membership) =>\n membership?.programSlug === programSlug && membership?.role === role,\n );\n\n const hardSkills = program?.registration?.skills?.hard_skills ?? [];\n const softSkills = program?.registration?.skills?.soft_skills ?? [];\n\n useEffect(() => {\n if (membership?.skills) {\n const existingSkillSlugs =\n (membership?.skills as ISkill[])?.map((skill) => skill?.fieldSlug) ??\n [];\n\n const existingHardSkills =\n hardSkills?.filter(\n ({ slug }) => slug && existingSkillSlugs?.includes(slug),\n ) ?? [];\n\n const existingSoftSkills =\n softSkills?.filter(\n ({ slug }) => slug && existingSkillSlugs?.includes(slug),\n ) ?? [];\n\n setSelectedHardSkills(existingHardSkills);\n setSelectedSoftSkills(existingSoftSkills);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [membership?.skills]);\n\n async function handleSkillsSubmit() {\n if (!membership || !role) return;\n setLoading(true);\n\n const skillsData: Partial & {\n hardSkillSlugs?: string[];\n softSkillSlugs?: string[];\n role: 'trainee' | 'guide';\n } = {\n role,\n programSlug,\n hardSkillSlugs: selectedHardSkills?.map(\n (skill) => skill.slug,\n ) as string[],\n softSkillSlugs: selectedSoftSkills?.map(\n (skill) => skill.slug,\n ) as string[],\n };\n\n const result = await reqMemberships({\n method: 'PATCH',\n url: `/memberships/${membership?.id}`,\n data: {\n isPublished: membership?.isPublished,\n ...skillsData,\n },\n });\n\n if (result.status === 'success' && result.data) {\n if (role === 'guide') {\n navigate('../preview');\n } else {\n navigate('../choose');\n }\n } else {\n dispatch(\n showAppAlert({\n severity: 'error',\n message: result?.message,\n timeout: 5000,\n }),\n );\n }\n setLoading(false);\n }\n\n function isSkillSelected(skill: ProfileSkill) {\n return [...selectedSoftSkills, ...selectedHardSkills].find(\n (s) => s?.slug === skill?.slug,\n )\n ? true\n : false;\n }\n\n const toggleSoftSkillSelect = (skill: ProfileSkill) => {\n isSkillSelected(skill)\n ? setSelectedSoftSkills([\n ...selectedSoftSkills?.filter(\n (selected) => selected?.slug !== skill?.slug,\n ),\n ])\n : setSelectedSoftSkills([...selectedSoftSkills, skill]);\n };\n const toggleHardSkillSelect = (skill: ProfileSkill) => {\n isSkillSelected(skill)\n ? setSelectedHardSkills([\n ...selectedHardSkills?.filter(\n (selected) => selected?.slug !== skill?.slug,\n ),\n ])\n : setSelectedHardSkills([...selectedHardSkills, skill]);\n };\n\n if (!baseLanguage || !role)\n return (\n \n <>\n \n );\n\n const isLoading = isLoadingMemberships() || isLoadingSanityPrograms();\n\n if (isLoading && !loading) {\n return (\n navigate(-1)} percentage={75}>\n \n \n );\n }\n\n return (\n navigate(-1)} percentage={75}>\n \n \n\n \n \n {softSkills &&\n softSkills?.length > 0 &&\n softSkills\n ?.slice(0, showMoreSoftSkills ? undefined : 5)\n ?.map((skill, index) => {\n return (\n toggleSoftSkillSelect(skill)}\n isChecked={isSkillSelected(skill) ?? false}\n data-cy={`register-soft-skill-${index}`}\n disabled={maxError && !isSkillSelected(skill)}\n />\n );\n })}\n 5 ? '' : 'none',\n }}\n variant=\"text\"\n label={\n showMoreSoftSkills\n ? baseLanguage?.globals?.common?.show_less_button_label ??\n 'Less'\n : baseLanguage?.globals?.common?.show_more_button_label ??\n 'More'\n }\n endIcon={showMoreSoftSkills ? : }\n onClick={() => setShowMoreSoftSkills(!showMoreSoftSkills)}\n data-cy=\"soft-skills-show-more-less-button\"\n />\n \n\n \n \n {hardSkills &&\n hardSkills?.length > 0 &&\n hardSkills\n ?.slice(0, showMoreHardSkills ? undefined : 5)\n ?.map((skill, index) => {\n return (\n toggleHardSkillSelect(skill)}\n isChecked={isSkillSelected(skill) ?? false}\n data-cy={`register-hard-skill-${index}`}\n disabled={maxError && !isSkillSelected(skill)}\n />\n );\n })}\n 5 ? '' : 'none',\n }}\n variant=\"text\"\n label={\n showMoreHardSkills\n ? baseLanguage?.globals?.common?.show_less_button_label ??\n 'Less'\n : baseLanguage?.globals?.common?.show_more_button_label ??\n 'More'\n }\n endIcon={showMoreHardSkills ? : }\n onClick={() => setShowMoreHardSkills(!showMoreHardSkills)}\n data-cy=\"hard-skills-show-more-less-button\"\n />\n \n selectedSkills}\n data-cy=\"register-skills-continue-button\"\n loading={loading}\n />\n \n \n );\n}\n","import { ProgressContainer } from 'containers';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport { useProfileImage } from '@guider-global/azure-storage-hooks';\nimport guideIcon from 'assets/users.svg';\nimport AvatarImage from 'assets/no_relationships_avatar.svg';\nimport {\n getFormattedProgramFields,\n getSubDomain,\n getVisibleProfileFields,\n} from '@guider-global/front-end-utils';\nimport {\n useBaseLanguage,\n useOrganization,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n ICustomField,\n IMembership,\n ISkill,\n ProfileSkill,\n Program,\n} from '@guider-global/shared-types';\nimport { OrganizationProfileView } from '@guider-global/ui';\nimport {\n AvatarBox,\n Button,\n CustomModal,\n Loading,\n TextStack,\n} from '@guider-global/ui/lib/components';\nimport { Stack } from '@guider-global/ui/lib/components/Layout/Stack';\nimport { MDIcons, SanityIcon } from 'components';\nimport { useLocalization, useMemberships, useProfiles, useUsers } from 'hooks';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { showAppAlert } from 'store/slices/appSlice';\n\nexport function ProgramPreviewPage() {\n const { programSlug = '' } = useParams<{\n programSlug: string;\n }>();\n\n const [showPublishedModal, setShowPublishedModal] = useState(false);\n const [loading, setLoading] = useState(false);\n\n // Hooks\n\n const navigate = useNavigate();\n const organizationSlug = getSubDomain();\n const { getProfileImage } = useProfileImage();\n const dispatch = useDispatch();\n\n // Prefetch image\n useEffect(() => {\n const img = new Image();\n img.src = AvatarImage;\n }, []);\n\n // Organization\n\n const { organization, isLoadingOrganization } = useOrganization({\n organizationSlug,\n });\n\n // Profile\n const { getProfiles, isLoadingProfiles } = useProfiles({\n getSilently: false,\n forceRefresh: true,\n });\n const profile = getProfiles().at(0);\n\n // User\n const { users, isLoadingUsers } = useUsers({ getSilently: false });\n const user = users().at(0);\n\n // Program\n const { getProgram, isLoadingSanityPrograms } = useSanityOrganizationPrograms(\n {\n getSilently: false,\n },\n );\n const program = getProgram(programSlug);\n\n // Base Language\n\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n // Memberships\n const { memberships, isLoadingMemberships, reqMemberships } = useMemberships({\n getSilently: false,\n forceRefresh: true,\n });\n\n const membership = memberships().find(\n (membership) =>\n membership?.programSlug === programSlug && membership?.role === 'guide',\n );\n\n async function handlePublish() {\n if (!membership || !program || !programSlug) return;\n\n if (membership?.requiresApproval === false) {\n navigate('/dashboard');\n return;\n }\n\n setLoading(true);\n\n const requiresApproval =\n program?.registration?.guide_membership_approval ?? false;\n\n const membershipsResult = await reqMemberships({\n method: 'PATCH',\n url: `/memberships/${membership?.id}`,\n data: {\n programSlug,\n requiresApproval,\n isPublished: true,\n },\n });\n\n await reqMemberships({\n method: 'GET',\n url: `/memberships`,\n });\n\n if (membershipsResult?.status === 'success') {\n setShowPublishedModal(true);\n } else {\n dispatch(\n showAppAlert({\n severity: 'error',\n message: membershipsResult?.message,\n timeout: 5000,\n }),\n );\n }\n setLoading(false);\n }\n\n const customFields = getFormattedProgramFields(\n membership as IMembership,\n program as Program,\n );\n\n const userImage =\n getProfileImage({\n profilePicture: profile?.picture,\n userPicture: user?.picture,\n }) ?? '';\n\n const profileFieldsData =\n getVisibleProfileFields(\n organization?.profile_fields,\n profile?.organizationFields as ICustomField[],\n ) ?? [];\n\n const profileFields = profileFieldsData?.map((field) => {\n return {\n icon: ,\n label: field?.label?.toString() ?? '',\n };\n });\n\n const skills =\n (membership?.skills as ISkill[])?.map((skill, index) => {\n const allSkills = [\n ...(program?.registration?.skills?.soft_skills ?? []),\n ...(program?.registration?.skills?.hard_skills ?? []),\n ] as ProfileSkill[];\n\n let label =\n allSkills?.find((s) => s?.slug === skill?.fieldSlug)?.label ??\n undefined;\n\n if (label === '' || !label) {\n label =\n program?.registration?.skills?.options?.find(\n (s) => s?.id?.current === skill?.fieldSlug,\n )?.label ?? undefined;\n }\n\n return {\n key: `${label}-${index}`,\n isMatched: false,\n value: label ?? '',\n };\n }) ?? [];\n\n const goalsSource =\n program?.registration?.goals?.custom_goal_categories ??\n organization?.goal_categories?.categories;\n\n const goals =\n membership?.goalCategories?.map((goalCategory, index) => {\n const label = goalsSource?.find(\n (g) => g?.goal_category_slug?.current === goalCategory?.fieldSlug,\n )?.goal_category_name;\n\n return {\n key: `${label}-${index}`,\n isMatched: false,\n value: label ?? '',\n };\n }) ?? [];\n\n const isLoading =\n isLoadingMemberships() ||\n isLoadingProfiles() ||\n isLoadingUsers() ||\n isLoadingSanityPrograms() ||\n isLoadingOrganization;\n\n if (!baseLanguage)\n return (\n \n <>\n \n );\n\n if (isLoading && !loading)\n return (\n navigate(-1)}\n percentage={100}\n >\n \n \n );\n\n return (\n navigate(-1)} percentage={100}>\n \n \n\n \n \n \n \n \n \n navigate('/dashboard')}\n label={\n membership?.requiresApproval\n ? program?.program_details?.program_type?.program_type_text\n ?.variations?.individual?.registration?.registration_guide\n ?.registration_guide_membership_pending\n ?.dashboard_button_label\n : program?.program_details?.program_type?.program_type_text\n ?.variations?.individual?.registration?.registration_guide\n ?.registration_guide_complete\n ?.registration_guide_complete_dashboard_button_label\n }\n />\n \n \n \n );\n}\n","import { ProgressContainer } from 'containers';\n\nimport { useNavigate, useParams } from 'react-router-dom';\n\nimport { useProfileImage } from '@guider-global/azure-storage-hooks';\nimport NoMatches from 'assets/no_relationships_avatar.svg';\nimport {\n getFormattedProgramFields,\n getSubDomain,\n getVisibleProfileFields,\n} from '@guider-global/front-end-utils';\nimport {\n useBaseLanguage,\n useOrganization,\n useSanityOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n EProgramVariation,\n ICustomField,\n IMatchV2,\n IMembership,\n IProfile,\n IRelationship,\n ProfileSkill,\n Program,\n} from '@guider-global/shared-types';\nimport { OrganizationProfileView } from '@guider-global/ui';\nimport {\n Button,\n CircularAvatarPair,\n CustomModal,\n Image,\n Loading,\n TextStack,\n} from '@guider-global/ui/lib/components';\n\nimport { Stack } from '@guider-global/ui/lib/components/Layout/Stack';\nimport { MDIcons, SanityIcon } from 'components';\nimport { interpolate } from 'functions';\nimport {\n useLocalization,\n useMemberships,\n useProfiles,\n useRelationships,\n useUsers,\n} from 'hooks';\nimport { useMatchesV2 } from 'hooks/useMatchesV2';\nimport { useState } from 'react';\nimport { NoMatchesView } from 'views';\nimport { useAppDispatch } from 'store/hooks';\nimport { showAppAlert } from 'store/slices/appSlice';\nimport ConfettiExplosion from 'react-confetti-explosion';\n\nexport function ProgramMatchesPage() {\n const { programSlug = '' } = useParams<{\n programSlug: string;\n }>();\n\n // State\n const [matchingLoading, setMatchingLoading] = useState(false);\n const [selectedProfileId, setSelectedProfileId] = useState<\n string | undefined\n >(undefined);\n const [showMatchedModal, setShowMatchedModal] = useState(false);\n const [selectedMatch, setSelectedMatch] = useState<{\n match: IMatchV2 | undefined;\n relationshipId: string | undefined;\n }>({ match: undefined, relationshipId: undefined });\n\n // Hooks\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const organizationSlug = getSubDomain();\n const { getProfileImage } = useProfileImage();\n\n // Organization\n\n const { organization } = useOrganization({\n organizationSlug,\n });\n\n // Profile\n const { getProfiles } = useProfiles({ getSilently: false });\n const profile = getProfiles().at(0);\n\n // User\n const { users } = useUsers({ getSilently: false });\n const user = users().at(0);\n\n // Program\n const { getProgram } = useSanityOrganizationPrograms({});\n const program = getProgram(programSlug);\n\n // Base Language\n\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n // Memberships\n const { memberships } = useMemberships({\n getSilently: false,\n forceRefresh: true,\n });\n\n const membership = memberships().find(\n (membership) =>\n membership?.programSlug === programSlug && membership?.role === 'trainee',\n );\n\n // Strings and assets\n\n const matchesToDisplay = program?.registration?.matches_to_display ?? 10;\n\n // Matching\n\n const { matchesV2: matches, isLoadingMatchesV2 } = useMatchesV2({\n query: `?resultType=guideMembership&organizationSlug=${organizationSlug}&programSlug=${programSlug}&pageLimit=${matchesToDisplay}`,\n });\n\n // Relationships\n\n const {\n relationships: getRelationships,\n reqRelationships,\n isLoadingRelationships,\n } = useRelationships({\n getSilently: false,\n waitForAuthentication: true,\n });\n const relationships = getRelationships();\n\n // Relationship limits\n\n const isTraineeRelationshipLimitSet =\n program?.relationships?.relationship_limits\n ?.enable_trainee_relationship_limit ?? false;\n\n const traineeRelationshipLimit = isTraineeRelationshipLimitSet\n ? program?.relationships?.relationship_limits?.trainee_relationship_limit\n : undefined;\n\n const programRelationships = relationships?.filter((relationship) => {\n const relationshipTraineeProfileIds = (\n relationship?.traineeProfiles as IProfile[]\n ).map((relationship) => relationship?.id);\n\n const relationshipIncludesTrainee =\n profile && relationshipTraineeProfileIds.includes(profile?.id);\n return (\n relationship?.programSlug === programSlug &&\n !relationship?.isConcluded &&\n relationshipIncludesTrainee\n );\n });\n\n const showRegistrationLimitReachedModal =\n traineeRelationshipLimit !== undefined\n ? programRelationships?.length >= traineeRelationshipLimit\n : false;\n\n const isRelationshipLimitModalOpen =\n !isLoadingRelationships() &&\n !showMatchedModal &&\n showRegistrationLimitReachedModal;\n\n // Handle match\n\n const handleMatching = async (id: string, match: IMatchV2) => {\n if (!membership) return;\n\n setMatchingLoading(true);\n setSelectedProfileId(id);\n\n const result = await reqRelationships({\n method: 'POST',\n url: '/relationships',\n // TODO fix types\n // @ts-ignore\n data: {\n guideProfiles: [id],\n traineeProfiles: [(membership?.profile as Partial)?.id],\n organizationSlug,\n programSlug,\n programTypeSlug:\n program?.program_details?.program_type?.metadata?.id?.current,\n programVariationTypeSlug: EProgramVariation.Individual,\n profileId: (membership?.profile as Partial)?.id,\n },\n });\n\n if (result.status === 'success' && result.data) {\n const relationshipId = (result?.data as IRelationship[])[0]?.id;\n\n setSelectedMatch({\n match,\n relationshipId,\n });\n setShowMatchedModal(true);\n setMatchingLoading(false);\n } else {\n setMatchingLoading(false);\n dispatch(\n showAppAlert({\n severity: 'error',\n message: result?.message,\n timeout: 5000,\n }),\n );\n }\n };\n\n if (!baseLanguage)\n return (\n \n <>\n \n );\n\n if (!matches || isLoadingMatchesV2)\n return (\n navigate(-1)}\n endAdornment={\n navigate('/dashboard')}\n label={baseLanguage?.globals?.common?.skip_button_label}\n />\n }\n >\n \n \n );\n\n if (matches?.length === 0 && !isLoadingMatchesV2) {\n const title = interpolate(\n baseLanguage?.registration?.open_matching?.matches?.empty_state_title,\n {\n rolePluralized:\n organization?.open_matching?.program_type?.program_type_text?.common\n ?.guide?.pluralized ?? 'Mentors',\n roleSingular:\n organization?.open_matching?.program_type?.program_type_text?.common\n ?.guide?.singular ?? 'Mentor',\n },\n );\n return (\n navigate(-1)}\n endAdornment={\n navigate('/dashboard')}\n label={baseLanguage?.globals?.common?.skip_button_label}\n />\n }\n percentage={100}\n >\n navigate(-1),\n },\n {\n key: 'matches-btn-2',\n variant: 'contained',\n label: baseLanguage?.globals?.common?.continue_button_label,\n color: 'info',\n onClick: () => navigate('/dashboard'),\n },\n ]}\n />\n \n );\n }\n\n // Match modal\n\n const matchImage =\n getProfileImage({\n profilePicture: selectedMatch?.match?.profile?.picture,\n userPicture: selectedMatch?.match?.user?.picture,\n }) ?? '';\n\n const userImage =\n getProfileImage({\n profilePicture: profile?.picture,\n userPicture: user?.picture,\n }) ?? '';\n\n return (\n navigate(-1)}\n endAdornment={\n navigate('/dashboard')}\n label={baseLanguage?.globals?.common?.skip_button_label}\n />\n }\n >\n \n \n\n {matches?.map((match, index) => {\n const profileFieldsData =\n getVisibleProfileFields(\n organization?.profile_fields,\n match?.profile?.organizationFields as ICustomField[],\n ) ?? [];\n\n const profileFields = profileFieldsData?.map((field) => {\n return {\n icon: ,\n label: field?.label?.toString() ?? '',\n };\n });\n\n const image = getProfileImage({\n profilePicture: match?.profile?.picture,\n userPicture: match?.user?.picture,\n });\n\n const buttonLabel = interpolate(\n program?.program_details?.program_type?.program_type_text\n ?.variations?.individual?.registration?.registration_trainee\n ?.registration_trainee_choose_a_guide\n ?.registration_trainee_choose_a_guide_choose_guide_button_label ??\n '',\n { name: match?.profile?.firstName ?? '' },\n );\n\n const bottomText =\n program?.relationships?.relationship_limits\n ?.enable_guide_relationship_limit &&\n program?.relationships?.relationship_limits\n ?.guide_relationship_limit &&\n match?.relationshipSpotsLeft &&\n interpolate(baseLanguage?.profile_card?.spots_left_label, {\n guideSingular:\n program?.program_details?.program_type?.program_type_text\n ?.common?.guide?.singular ?? '',\n spotNumber: match?.relationshipSpotsLeft?.toString(),\n spot:\n match.relationshipSpotsLeft === 1\n ? baseLanguage?.profile_card?.spot_singular\n : baseLanguage?.profile_card?.spots_plural,\n });\n\n const matchText =\n match?.percentage &&\n interpolate(baseLanguage?.profile_card?.match_percentage, {\n matchPercentage: match?.percentage.toFixed(0),\n });\n\n const skills = match?.skills?.map((skill, index) => {\n const allSkills = [\n ...(program?.registration?.skills?.soft_skills ?? []),\n ...(program?.registration?.skills?.hard_skills ?? []),\n ] as ProfileSkill[];\n\n let label =\n allSkills?.find((s) => s?.slug === skill?.fieldSlug)?.label ??\n undefined;\n\n if (label === '' || !label) {\n label =\n program?.registration?.skills?.options?.find(\n (s) => s?.id?.current === skill?.fieldSlug,\n )?.label ?? undefined;\n }\n\n return {\n key: `${'label'}-${index}`,\n isMatched: skill?.matched ?? false,\n value: label ?? '',\n };\n });\n\n const goalsSource =\n program?.registration?.goals?.custom_goal_categories ??\n organization?.goal_categories?.categories;\n\n const goals = match?.goalCategories.map((goalCategory, index) => {\n const label = goalsSource?.find(\n (g) => g?.goal_category_slug?.current === goalCategory?.fieldSlug,\n )?.goal_category_name;\n\n return {\n key: `${'label'}-${index}`,\n isMatched: true,\n value: label ?? '',\n };\n });\n\n const matchSkills =\n match?.skills?.length !== 0\n ? {\n title: baseLanguage?.profile_card?.matched_on_skills_label,\n skills,\n }\n : undefined;\n\n const matchGoals =\n match?.goalCategories?.length !== 0\n ? {\n title: baseLanguage?.profile_card?.matched_on_goals_label,\n goals,\n }\n : undefined;\n\n const customFields = getFormattedProgramFields(\n match?.membership as IMembership,\n program as Program,\n );\n\n return (\n handleMatching(match?.profile?.id, match),\n loading:\n matchingLoading && selectedProfileId === match?.profile?.id,\n disabled:\n matchingLoading && selectedProfileId !== match?.profile?.id,\n },\n ]}\n bottomText={bottomText}\n />\n );\n })}\n \n \n \n \n \n navigate(`/relationships`)}\n />\n \n \n \n \n \n \n \n \n \n navigate(`/relationships/${selectedMatch?.relationshipId}`)\n }\n />\n \n \n \n \n \n );\n}\n"],"names":["GuideGroupCreatePage","navigate","dispatch","getBaseLanguage","useSanityBaseLanguage","baseLanguage","isLoadingMemberships","memberships","isLoadingSkills","waitForAuthentication","isLoadingCustomFields","programSlug","groupGuideForm","state","guideMembership","filter","membership","find","role","useEffect","handleSubmit","control","formState","errors","isValid","mode","defaultValues","typedControl","organizationSlug","getSubDomain","track","eventKey","eventParams","organization","program","theme","useTheme","isMobile","getProgram","useSanityOrganizationPrograms","pageName","programRegistration","registration","registrationQuestions","registration_questions","isGroupProgram","program_details","program_variation","EProgramVariation","programType","program_type","programVariations","program_type_text","variations","groupCopy","group","skillsConfig","skills","isSkillsEnabled","enable_skills_question","Paper","sx","pt","pb","borderTop","palette","secondary","main","borderRadius","title","registration_guide","registration_guide_about_you","registration_guide_about_you_title","subtitle","registration_guide_about_you_description","Divider","my","mx","onSubmit","data","style","padding","ProgramManageGuideTitle","ProgramManageGuideDescription","Box","width","display","justifyContent","alignItems","mt","LoadingButton","variant","color","size","type","disabled","fullWidth","loading","globals","common","continue_button_label","GuideGroupPreviewPage","getProfiles","getSilently","profile","profileId","id","profilePicture","picture","reqMemberships","reqRelationships","isLoadingRelationships","reqCustomFields","isGuide","programTypeCopy","requiresApproval","guide_membership_approval","registration_guide_review_profile","registration_guide_review_profile_title","registration_guide_review_profile_description","userRole","guide","displayName","jobTitle","townOrCity","linkedInUrl","organizationFields","Skeleton","height","transform","flexDirection","px","Button","onClick","registration_guide_review_profile_edit_profile_button_label","mb","_b","_c","customFields","_a","description","formSkills","formCustomFields","customFieldsPostData","Object","entries","map","fieldKey","fieldValue","fieldType","registrationQuestion","current","fieldSlug","value","length","customFieldsResponse","method","url","Array","isArray","customFieldIds","customField","relationshipsResponseData","guideProfiles","isConcluded","programTypeSlug","metadata","programVariationTypeSlug","relationshipId","membershipData","isPublished","programFields","skillSlugs","Promise","all","registration_guide_review_profile_publish_profile_button_label","GuideRegistrationAboutYouPage","trackMixpanelEvent","trackScreenTime","membershipGuideForm","replace","getOrganization","useSanityOrganization","localeCode","getISOStringWithoutMilliseconds","isGoalsDisabled","goals","guide_disable_goals","customGoalCategories","custom_goal_categories","selectedGoalSource","goal_categories","categories","goalCategories","goalCategory","label","goal_category_name","goal_category_slug","goalsValidation","programVariation","individual","direction","_g","_f","_e","_d","registration_guide_goals","registration_guide_goals_title","whiteSpace","_n","_m","_l","_k","_j","_i","_h","registration_guide_goals_description","multiple","defaultValue","name","_q","_p","_o","options","rules","required","validate","_s","_r","GuideRegistrationPendingPage","membershipPending","registration_guide_membership_pending","icon","textAlign","xs","md","actions_label","mr","dashboard_button_label","explore_learning_hub","GuideRegistrationPreviewPage","users","user","at","unionUserProperty","programTypeText","reviewProfile","firstName","lastName","pictures","edit_profile_button_label","goalCategorySlugs","verb","err","console","error","GuideRegistrationPublishedPage","timer","setTimeout","clearTimeout","registration_guide_complete","registration_guide_complete_title","registration_guide_complete_description","registration_guide_complete_actions_label","registration_guide_complete_dashboard_button_label","ProgramRegistrationAboutYouPage","GuideComponent","TraineeComponent","ProgramRegistrationGoalsPage","organizationTheme","combinedPalette","subdomain","selectGoalLabel","select_goals_custom_label","select_goals_label","trainee_min_selected_goals","trainee_max_selected_goals","selectedGoalCategories","setSelectedGoalCategories","useState","isLoading","setIsLoading","alert","setAlert","slug","handleGoalCategoriesToggle","max_goals_validation_message","checkGoalLimit","disableContinueButton","registration_trainee","registration_trainee_goals","registration_trainee_goals_title","registration_trainee_goals_description","text","fontSize","fontWeight","message","backgroundColor","onSelected","buttonLabels","more","show_more_button_label","less","show_less_button_label","membershipsResult","status","severity","timeout","ProgramRegistrationPreviewPage","TraineeGroupJoinPage","isFormReady","setIsFormReady","useBaseLanguage","relationships","getRelationships","reqMatches","isLoadingMatches","membershipTraineeForm","for","traineeMembership","programs","useOrganizationPrograms","useMemo","skillsOptions","skill","membershipProgramFields","defaultFormFields","programSkills","skillValue","includes","fromEntries","reset","trigger","keys","handleRegistrationLimitReachedModalAction","useCallback","programRelationshipLimits","relationship_limits","traineeRelationshipLimit","enable_trainee_relationship_limit","trainee_relationship_limit","programRegistrationTraineeGuideLimitModal","registration_trainee_guide_limit_modal","programRelationships","relationship","relationshipIncludesTrainee","traineeProfiles","audience","showRegistrationLimitReachedModal","updateMembership","newCustomFieldIds","newCustomFields","newCustomFieldSlug","newCustomFieldValue","oldMembershipProgramField","membershipProgramField","oldValue","currentRegistrationQuestion","push","hasValueChanged","fieldId","newValue","customFieldsResponseData","reqMembershipsData","field","publishMembership","open","registration_trainee_guide_limit_modal_title","content","registration_trainee_guide_limit_modal_description","action","registration_trainee_guide_limit_modal_button_label","registration_trainee_about_you","registration_trainee_about_you_title","registration_trainee_about_you_description","TraineeRegistrationChooseGroupPage","loadingMessageIndex","setLoadingMessageIndex","includeChooseGuideUrl","matches","query","isMembershipTraineeFormEmpty","maxSpots","group_settings","max_trainees","filteredMatches","match","spotsOccupied","registrationLoadingMessages","registration_trainee_choose_a_guide","registration_trainee_choose_a_guide_loading_state_messages","renderLoadingMessage","values","loadingMessage","index","Fade","in","enter","exit","Typography","position","joinGroup","relationshipResponse","relationshipData","renderFoundGuide","registration_trainee_choose_a_guide_title","registration_trainee_choose_a_guide_description","guideProfile","skillsSlugs","programFieldsFormatted","programField","isBestMatch","blurred","renderGroup","p","CircularProgress","registration_trainee_no_matches_found","registration_trainee_no_matches_found_title","registration_trainee_no_matches_found_description","PersonSearchSharp","registration_trainee_no_matches_actions_label","maxWidth","TraineeRegistrationAboutYouPage","disableTraineeRegistration","trainee_registration_rules","disable_trainee_registration","if","flexFlow","gap","modal_title","headerLineColor","actions","return_to_dashboard_button_label","modal_description","TraineeRegistrationChooseGuidePage","setRelationshipId","selectedIndex","setSelectedIndex","isModalOpen","setIsModalOpen","chosenGuide","setChosenGuide","reqGoals","settings","useSettings","getProfileImage","useProfileImage","membershipTraineeGoals","useOrganization","isProgramAvailable","isRoleAvailable","isTraineeRelationshipLimitSet","isGuideRelationshipLimitSet","enable_guide_relationship_limit","guideRelationshipLimit","guide_relationship_limit","isLimitModalOpen","loadingMessages","connectWithGuide","userPicture","relationshipsResponse","forEach","cardSx","getFormattedProgramFields","spotsLeft","relationshipCount","image","profileVideo","profile_card","organizationFieldsToShow","getVisibleProfileFields","profile_fields","fields","toString","location","country","profileFields","guideReviews","reviewsPlural","reviews_plural","reviewsSingular","reviews_singular","buttonLabel","reviews_button_label","noReviewsText","no_reviews_yet_label","reviews","bestMatchLabel","program_registration","best_match_label","subtitles","avatarSrc","matched_on_skills_label","option","key","isMatched","matched","viewLinkedInLabel","linkedin_profile_button_label","buttons","registration_trainee_choose_a_guide_choose_guide_button_label","bottomText","spots_left_label","guideSingular","singular","spotNumber","spot","spot_singular","spots_plural","renderGuide","minHeight","maxwidth","py","boxSizing","top","left","info","component","registration_trainee_relationship_created_successfully","registration_trainee_relationship_created_successfully_title","registration_trainee_relationship_created_successfully_description","zIndex","border","src","buildSanityImageUrl","source","static_media","relationship_created","ml","view_relationship","TraineeRegistrationChoosePage","ProgramRegistrationPage","useAuth","transitions","scrollTrigger","disableHysteresis","threshold","isInvalidRole","individualCopy","guideTitle","registration_guide_title","traineeTitle","registration_trainee_title","elevation","transition","duration","standard","easing","easeInOut","startIcon","default","primary","go_back_button_label","container","spacing","rowSpacing","item","paper","program_name","renderFields","question","renderFieldWrapper","questionId","questionIndexOffset","questionIndex","isRequired","question_title","question_description","renderField","questionType","questionLabel","input_label","requiredErrorText","required_validation_error_text","freeTextConfig","free_text_config","rows","text_area_size","minLengthErrorMessage","minimum_length_not_met_validation_error","maxLengthErrorMessage","maximum_length_exceeded_validation_error","minLength","minimum_length","maxLength","maximum_length","requiredErrorMessage","questionOptions","FormAutocomplete","multiselectConfig","multi_select_config","maximumSelections","maximum_selections","minimumSelections","minimum_selections","errorText","minimumSelectionsNotMetValidationError","minimum_selections_not_met_validation_error","maximumSelectionsExceededValidationError","maximum_selections_exceeded_validation_error","multiSelectValidate","valueLength","renderSkills","ProgramMembershipPage","onBackButtonClick","percentage","ProgramMembershipForm","ProgramGoalsPage","setLoading","isLoadingOrganization","isLoadingSanityPrograms","forceRefresh","offered","sought","goalsSource","Stack","orientation","textSpacing","heading","open_matching","title_guide","traineeSingular","trainee","title_trainee","lineHeight","select_number_of_goals","avatarSx","GoalCategoriesView","slugs","handleGoalsSubmit","ProgramSkillsPage","useDispatch","showMoreSoftSkills","setShowMoreSoftSkills","showMoreHardSkills","setShowMoreHardSkills","selectedHardSkills","setSelectedHardSkills","selectedSoftSkills","setSelectedSoftSkills","maxError","setMaxError","min","max","selectedSkills","hardSkills","hard_skills","softSkills","soft_skills","isSkillSelected","s","existingSkillSlugs","existingHardSkills","existingSoftSkills","select_skills_number_description","soft_skill_label","tooltipText","soft_skill_tooltip","slice","onChange","selected","toggleSoftSkillSelect","isChecked","endIcon","ArrowDropUp","ArrowDropDown","hard_skill_label","hard_skill_tooltip","toggleHardSkillSelect","skillsData","hardSkillSlugs","softSkillSlugs","result","ProgramPreviewPage","showPublishedModal","setShowPublishedModal","Image","isLoadingProfiles","isLoadingUsers","userImage","profileFieldsData","allSkills","g","question_heading","save_changes_button_label","isOpen","align","alt","ProgramMatchesPage","matchingLoading","setMatchingLoading","selectedProfileId","setSelectedProfileId","showMatchedModal","setShowMatchedModal","selectedMatch","setSelectedMatch","matchesToDisplay","matches_to_display","matchesV2","isLoadingMatchesV2","useMatchesV2","relationshipTraineeProfileIds","isRelationshipLimitModalOpen","handleMatching","endAdornment","skip_button_label","empty_state_title","rolePluralized","pluralized","roleSingular","imageSrc","empty_state_description","matchImage","_t","_u","_v","_w","_x","_y","_z","_A","_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","__","_$","_aa","_ba","_ca","relationshipSpotsLeft","matchText","match_percentage","matchPercentage","toFixed","matchSkills","matchGoals","matched_on_goals_label","score","parseFloat","fit","force","mainAvatar","secondaryAvatar"],"sourceRoot":""}