{"version":3,"file":"static/js/app-81ce99fd_0932103307f12c08662b.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/components/Relationships/RelationshipActions/RelationshipsConcludeDialog/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Relationships/RelationshipActions/ReviewDialog/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Relationships/RelationshipActions/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Relationships/RelationshipDetails/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Relationships/RelationshipDetailsGroupSidebar/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Relationships/RelationshipDetailsSidebar/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/RelationshipsWrapper/index.tsx"],"sourcesContent":["import { FC } from 'react';\n\nimport { ConfirmationModal } from 'modals';\n\ninterface RelationshipsConcludeDialogProps {\n dialogTitle: string;\n dialogDescription: string;\n cancelButtonLabel: string;\n concludeRelationshipButtonLabel: string;\n open: boolean;\n loading: boolean;\n onClose: () => void;\n onConcludeRelationship: () => void;\n}\n\nconst RelationshipsConcludeDialog: FC = ({\n dialogTitle,\n dialogDescription,\n cancelButtonLabel,\n concludeRelationshipButtonLabel,\n open,\n loading,\n onClose,\n onConcludeRelationship,\n}) => {\n return (\n \n );\n};\n\nexport default RelationshipsConcludeDialog;\n","import { getSubDomain } from '@guider-global/front-end-utils';\nimport { useBaseLanguage, useSettings } from '@guider-global/sanity-hooks';\nimport { IProfile, IUser, ProgramType } from '@guider-global/shared-types';\nimport {\n ButtonStack,\n FormTextArea,\n InfoIcon,\n Stack,\n StarRating,\n StarRatingInputValue,\n SurveyModal,\n Text,\n} from '@guider-global/ui';\nimport { Box, useTheme } from '@mui/system';\nimport { interpolate } from 'functions';\nimport { useLocalization, useReviews } from 'hooks';\nimport { SubmitHandler, useForm } from 'react-hook-form';\nimport { useAppDispatch } from 'store/hooks';\nimport { showAppAlert } from 'store/slices/appSlice';\n\ninterface ReviewDialogProps {\n open: boolean;\n onClose: () => void;\n guideProfile: Partial;\n profile: Partial;\n programType: Partial | undefined;\n programSlug?: string;\n}\n\ntype GuideReviewInput = {\n [key: string]: StarRatingInputValue;\n};\n\nconst ReviewDialog = ({\n open,\n onClose,\n guideProfile,\n profile,\n programType,\n programSlug,\n}: ReviewDialogProps) => {\n const { palette } = useTheme();\n const dispatch = useAppDispatch();\n\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const { reqReviews, isMutatingReviews, isLoadingReviews } = useReviews({});\n\n const { settings } = useSettings({\n localeCode,\n });\n\n const reviewBaseLanguage = baseLanguage?.relationships?.review_guide;\n\n const programTypeText = programType?.program_type_text;\n\n const {\n handleSubmit,\n control,\n formState: { isValid, isSubmitting },\n } = useForm({\n mode: 'onChange',\n });\n\n const onSubmit: SubmitHandler = async (data) => {\n let rating, reviewText;\n\n Object.entries(data).forEach(([_, { value }]) => {\n if (typeof value === 'number') {\n rating = value;\n } else {\n reviewText = value;\n }\n });\n\n const reviewsResult = await reqReviews({\n method: 'POST',\n url: `/reviews`,\n data: {\n reviewText,\n rating,\n organizationSlug,\n users: [guideProfile?.userId, profile?.userId] as Partial[],\n authorProfile: profile?.id as Partial,\n reviewedProfile: guideProfile.id as Partial,\n ...(programSlug && {\n programSlug: programSlug,\n }),\n },\n });\n\n if (reviewsResult.status === 'success') {\n onClose();\n return dispatch(\n showAppAlert({\n severity: 'success',\n message: reviewBaseLanguage?.review_success_text,\n timeout: 5000,\n }),\n );\n } else {\n return dispatch(\n showAppAlert({\n severity: 'error',\n message: reviewsResult?.message,\n timeout: 5000,\n }),\n );\n }\n };\n\n return (\n \n *:not(:last-of-type)': { marginBottom: 3 },\n '& > *:nth-last-of-type(2)': { marginBottom: 0 },\n }}\n >\n \n \n \n \n \n \n \n \n \n onSubmit,\n disabled:\n !isValid ||\n isSubmitting ||\n isLoadingReviews ||\n isMutatingReviews,\n loading: isSubmitting || isLoadingReviews || isMutatingReviews,\n },\n ]}\n direction={'row'}\n width={'100%'}\n buttonsWidth=\"min-content\"\n justifyContent={'space-between'}\n />\n \n \n \n );\n};\n\nexport default ReviewDialog;\n","import { IProfile, IRelationship } from '@guider-global/shared-types';\nimport { Box } from '@mui/material';\nimport { useLocalization, useReviews } from 'hooks';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nimport { useProfiles } from '@guider-global/front-end-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n useBaseLanguage,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { AvatarButton, DropDown, IconButton } from '@guider-global/ui';\nimport { Reviews } from '@mui/icons-material';\nimport MoreHoriz from '@mui/icons-material/MoreHoriz';\nimport PersonOff from '@mui/icons-material/PersonOff';\nimport useConcludeRelationship from 'hooks/useConcludeRelationship';\nimport RelationshipsConcludeDialog from './RelationshipsConcludeDialog';\nimport ReviewDialog from './ReviewDialog';\nimport { interpolate } from 'functions';\n\ninterface RelationshipActionsProps {\n relationship: IRelationship;\n}\n\nconst RelationshipActions = ({ relationship }: RelationshipActionsProps) => {\n const organizationSlug = getSubDomain();\n const { profiles } = useProfiles({});\n const profile = profiles?.at(0);\n const profileId = profile?.id;\n\n const programSlug = relationship?.programSlug;\n const relationshipId = relationship.id;\n const guideProfile = relationship?.guideProfiles?.at(0) as IProfile;\n\n const { localeCode } = useLocalization(organizationSlug);\n const { programs } = useOrganizationPrograms({\n organizationSlug,\n localeCode,\n });\n\n const { reviews } = useReviews({});\n const existingReview = !!reviews?.find(\n (review) =>\n review.authorProfile.id === profileId &&\n review.reviewedProfile.id === guideProfile?.id,\n );\n\n const program = programs?.find(\n (program) => program.metadata.id.current === programSlug,\n );\n const programType = program?.program_details?.program_type;\n\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const { pathname } = useLocation();\n // Local state\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isReviewModalOpen, setIsReviewModalOpen] = useState(false);\n\n // Hooks\n const guideProfiles = relationship?.guideProfiles as IProfile[];\n const guideProfilesIds = guideProfiles?.map((guide) => guide.id) ?? [];\n const isGroupProgram = relationship?.programVariationTypeSlug === 'group';\n const isGuide = guideProfilesIds.includes(profileId ?? '');\n\n const { concludeRelationship, getModalConfig } = useConcludeRelationship({\n organizationSlug,\n programSlug,\n relationshipId,\n isGroupProgram,\n isGuide,\n programType,\n setIsLoading,\n });\n\n const handleConcludeRelationship = async () => {\n await concludeRelationship();\n };\n\n // Events\n const handleModalClose = useCallback(() => {\n setIsModalOpen(false);\n }, []);\n\n const handleModalOpen = () => {\n setIsModalOpen(true);\n };\n\n // Derivatives\n const archived = relationship.isConcluded;\n\n useEffect(() => {\n if (archived) {\n handleModalClose();\n return;\n }\n }, [handleModalClose, archived, pathname]);\n\n if (!profile) return <>;\n\n const modalConfig = getModalConfig();\n\n return (\n \n } />}\n >\n }\n size=\"small\"\n heading={modalConfig.heading}\n subtitles={[modalConfig.subtitle]}\n disabled={archived}\n />\n {profileId !== guideProfile?.id && (\n setIsReviewModalOpen(true)}\n orientation=\"horizontal\"\n icon={}\n size=\"small\"\n heading={interpolate(\n baseLanguage?.relationships?.review_guide?.button_title,\n {\n firstName: guideProfile?.firstName,\n },\n '',\n )}\n subtitles={[\n baseLanguage?.relationships?.review_guide?.button_subtitle,\n ]}\n disabled={existingReview}\n />\n )}\n \n\n \n setIsReviewModalOpen(false)}\n guideProfile={guideProfile}\n profile={profile}\n programType={programType}\n programSlug={programSlug}\n />\n \n );\n};\n\nexport default RelationshipActions;\n","// external\nimport { Box, Collapse } from '@mui/material';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } from 'react-router-dom';\n// components\nimport {\n Chat,\n RelationshipDetailsGroupSidebar,\n RelationshipDetailsSidebar,\n RelationshipHeader,\n} from 'components';\n\n// store\nimport { RootState } from 'store';\nimport { hideNavbar, showNavbar } from 'store/slices/appSlice';\n\n// hooks\nimport {\n useAvailabilities,\n useLocalization,\n useMixpanelEvents,\n useMobileMediaQuery,\n} from 'hooks';\n\n// types\nimport { useProfiles } from '@guider-global/front-end-hooks';\nimport {\n getISOStringWithoutMilliseconds,\n getSubDomain,\n} from '@guider-global/front-end-utils';\nimport {\n useBaseLanguage,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n EProgramVariation,\n IGroup,\n IProfile,\n IRelationship,\n} from '@guider-global/shared-types';\nimport { interpolate } from 'functions';\nimport { RelationshipGroupTraineeModal } from 'modals/Relationship/RelationshipGroup';\nimport { getRecipients } from 'utils/getRelationshipRecipients';\nimport { AutoConcludeModal } from 'modals/AutoConcludeModal';\nimport useConcludeRelationship from 'hooks/useConcludeRelationship';\n\ninterface IRelationshipDetailsProps {\n relationship: IRelationship;\n}\n\nexport const RelationshipDetails: React.FC = ({\n relationship,\n}) => {\n const dispatch = useDispatch();\n const traineeModal = useSelector(\n (state: RootState) => state.app.modals.traineeModal,\n );\n\n const organizationSlug = getSubDomain();\n\n const programSlug = relationship?.programSlug ?? undefined;\n\n // Base Language\n\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const { trackMixpanelEvent } = useMixpanelEvents();\n\n const { profiles } = useProfiles({});\n const profile = profiles?.at(0);\n const profileId = profile?.id;\n const userId = profile?.userId;\n\n const isMobile = useMobileMediaQuery();\n\n const [isSidebarOpen, setIsSidebarOpen] = useState(false);\n\n const [isConcludeDialog, setIsConcludeDialog] = useState(false);\n const [isSessionsModalOpen, setIsSessionsModalOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const { reqAvailabilities } = useAvailabilities({});\n const navigate = useNavigate();\n\n const isReengaged =\n relationship.reengagedAt &&\n !relationship.isConcluded &&\n relationship.programVariationTypeSlug === EProgramVariation.Individual;\n\n const handleConcludeRelationship = async () => {\n try {\n setIsLoading(true);\n await concludeRelationship();\n navigate('/relationships');\n } catch (error) {\n console.error('Error concluding relationship:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleScheduleSession = async () => {\n await reqAvailabilities({ url: '/availabilities' });\n navigate(`/relationships/${relationship.id}/sessions/create`);\n setIsSessionsModalOpen(true);\n };\n\n const handleSessionsModalClose = () => {\n navigate(`/relationships/${relationship.id}`);\n setIsSessionsModalOpen(false);\n };\n\n useEffect(() => {\n if (isMobile) {\n dispatch(hideNavbar(true));\n } else {\n dispatch(showNavbar(true));\n }\n\n return function cleanup() {\n dispatch(showNavbar(true));\n };\n }, [dispatch, isMobile]);\n\n const guideProfiles = relationship?.guideProfiles as Partial[];\n const traineeProfiles = relationship?.traineeProfiles as Partial[];\n\n const guideProfilesIds = guideProfiles?.map(\n (guideProfile) => guideProfile?.id,\n );\n const traineeProfilesIds = traineeProfiles?.map(\n (traineeProfile) => traineeProfile?.id,\n );\n\n const isGuide = guideProfilesIds?.includes(profileId) ?? false;\n const isTrainee = traineeProfilesIds?.includes(profileId) ?? false;\n\n const chosenGuide = guideProfiles?.at(0);\n\n const isGroupProgram =\n relationship?.programVariationTypeSlug === EProgramVariation.Group;\n const group = relationship?.group as Partial;\n\n const isActiveGroup =\n group?.activatedAt !== null && group?.activatedAt !== undefined;\n\n const isTraineeModalOpen = isTrainee && traineeModal;\n\n // - Programs\n const { programs } = useOrganizationPrograms({\n organizationSlug,\n localeCode,\n });\n\n const program = programs.find(\n (program) => program.metadata.id.current === programSlug,\n );\n const programType = program?.program_details?.program_type;\n\n const relationshipCreatedAt = relationship.createdAt;\n\n const recipients = getRecipients({\n role: isGuide ? 'guide' : 'trainee',\n relationship,\n userId,\n });\n\n const handleMessageSend = useCallback(async () => {\n trackMixpanelEvent('Relationship - Message sent', {\n 'Sent on': getISOStringWithoutMilliseconds(),\n Role: isGuide ? 'guide' : 'trainee',\n Program: relationship.programSlug,\n });\n }, [isGuide, relationship.programSlug, trackMixpanelEvent]);\n\n useEffect(() => {\n if (!program || !recipients) return;\n trackMixpanelEvent('Relationship - Viewed', {\n 'Viewed on': getISOStringWithoutMilliseconds(),\n Program: relationship.programSlug,\n });\n }, [program, recipients, relationship.programSlug, trackMixpanelEvent]);\n\n const programVariation =\n programType?.program_type_text?.variations?.individual;\n\n const programName = program?.metadata.program_name;\n\n const recipient = recipients.at(0);\n\n const { concludeRelationship, getModalConfig } = useConcludeRelationship({\n relationshipId: relationship.id,\n isGroupProgram,\n isGuide,\n programSlug,\n programType,\n organizationSlug,\n setIsLoading,\n });\n\n return (\n \n \n \n \n \n {!!relationship && (\n \n )}\n \n \n \n {isGroupProgram ? (\n \n ) : (\n \n )}\n \n \n {!isGuide && (\n \n )}\n {isReengaged && (\n \n )}\n \n );\n};\n\nexport default RelationshipDetails;\n","// external\nimport {\n Avatar,\n Box,\n Chip,\n ChipProps,\n Divider,\n Drawer,\n Typography,\n useTheme,\n} from '@mui/material';\nimport React, { useState } from 'react';\n\n// components\nimport {\n RelationshipGroupAlert,\n RelationshipSessions,\n RelationshipViewProfileModal,\n} from 'components';\n\n// types\nimport {\n useBaseLanguage,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n IGroup,\n IMembership,\n IRelationship,\n ISkill,\n ProfileSkill,\n} from '@guider-global/shared-types';\n\nimport { useProfileImage } from '@guider-global/azure-storage-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n Button,\n MultiAvatarButton,\n Stack,\n Text,\n hexToRGB,\n} from '@guider-global/ui';\nimport {\n MembershipDataProps,\n ProfilePreviewProfileData,\n} from 'components/ProfilePreview';\nimport { useLocalization, useMobileMediaQuery } from 'hooks';\nimport { RelationshipGroupMembersModal } from 'modals';\n\ninterface IRelationshipDetailsGroupSidebarProps {\n relationship: IRelationship;\n isGroupProgram: boolean;\n isGuide: boolean;\n}\n\nexport const RelationshipDetailsGroupSidebar: React.FC<\n IRelationshipDetailsGroupSidebarProps\n> = ({ relationship, isGroupProgram, isGuide }) => {\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n const { getProfileImage } = useProfileImage();\n\n const [selectedUserId, setSelectedUserId] = useState();\n\n const organizationSlug = getSubDomain();\n\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n const [groupMembersModalOpen, setGroupMembersModalOpen] = useState(false);\n const handleGroupMembersModalClose = () => {\n setGroupMembersModalOpen(false);\n };\n\n const programSlug = relationship?.programSlug;\n const { programs } = useOrganizationPrograms({ organizationSlug });\n const program = programs.find(\n (program) => program.metadata.id.current === programSlug,\n );\n\n const groupSkills = relationship?.skills;\n\n const group = relationship?.group as Partial;\n\n if (!programSlug || !program) {\n return <>;\n }\n const isActiveGroup =\n group?.activatedAt !== null && group?.activatedAt !== undefined;\n\n const programTypeGuideNoun =\n program?.program_details?.program_type?.program_type_text.common?.noun;\n\n const skillsConfig = program?.registration?.skills;\n const isSkillsEnabled = skillsConfig?.enable_skills_question;\n\n const modalTitle = baseLanguage?.relationships?.view_profile_modal?.title;\n\n const modalCloseButtonLabel =\n baseLanguage?.globals?.common?.close_button_label ?? 'Close';\n\n const handleProfileModalClose = () => {\n setSelectedUserId(undefined);\n setGroupMembersModalOpen(true);\n };\n const handleProfileModalOpen = (userId?: string) => {\n setSelectedUserId(userId);\n handleGroupMembersModalClose();\n };\n\n const getSelectedProfileData = (\n selectedUserId?: string,\n ): ProfilePreviewProfileData => {\n const guideProfiles = relationship.guideProfiles ?? [];\n const traineeProfiles = relationship.traineeProfiles ?? [];\n const profiles = [...guideProfiles, ...traineeProfiles];\n const users = relationship.users ?? [];\n\n const selectedProfile = profiles.find(\n (profile) => profile.userId === selectedUserId,\n );\n\n const selectedProfileUserId = selectedProfile?.userId;\n\n const selectedUser = users.find(\n (user) => user.id === selectedProfileUserId,\n );\n return {\n ...selectedProfile,\n pictures: {\n profile: selectedProfile?.picture,\n user: selectedUser?.picture,\n },\n };\n };\n\n const getSelectedProfileMembershipData = (\n selectedUserId?: string,\n ): MembershipDataProps => {\n const guideMemberships = relationship.guideMemberships ?? [];\n const traineeMemberships = relationship.traineeMemberships ?? [];\n const memberships = [...guideMemberships, ...traineeMemberships];\n\n const selectedMembership = memberships.find(\n (membership) => membership.userId === selectedUserId,\n );\n\n const groupSkills = relationship?.skills as ISkill[];\n\n const skillFieldSlugs = selectedMembership?.skills?.map((skill) => {\n const skillTyped = skill as ISkill;\n return skillTyped.fieldSlug;\n });\n\n return {\n skills: skillFieldSlugs ?? [],\n membership: selectedMembership ? [selectedMembership as IMembership] : [],\n groupSkills,\n };\n };\n const getSelectedRelationshipRole = (selectedUserId?: string) => {\n const guideProfile = relationship.guideProfiles?.find(\n (guideProfile) => guideProfile.userId === selectedUserId,\n );\n if (guideProfile) return 'guide';\n return 'trainee';\n };\n\n const avatars =\n relationship.users?.map((user) => {\n const userId = user.id;\n const traineeProfile = relationship.traineeProfiles?.find(\n (traineeProfile) => traineeProfile.userId === userId,\n );\n const guideProfile = relationship.guideProfiles?.find(\n (guideProfile) => guideProfile.userId === userId,\n );\n const profilePicture = traineeProfile\n ? traineeProfile.picture\n : guideProfile?.picture;\n const userPicture = user.picture;\n return getProfileImage({\n profilePicture: profilePicture,\n userPicture: userPicture,\n });\n }) ?? [];\n\n const chipProps: Partial = {\n size: 'small',\n sx: {\n backgroundColor: `rgba(${hexToRGB(theme.palette.info.main)}, 0.08)`,\n mr: 1,\n mb: 1,\n },\n };\n\n const programName = program.metadata.program_name;\n return (\n \n {isMobile && (\n <>\n \n \n {programName}\n \n \n setGroupMembersModalOpen(!groupMembersModalOpen)}\n />\n \n \n \n \n )}\n \n \n \n \n {program.registration?.registration_group?.group_description\n .question_heading ??\n program.registration?.registration_group?.group_description\n .input_label}\n \n\n \n {group?.description}\n \n {isSkillsEnabled && (\n \n \n {skillsConfig.guide.question_heading ??\n skillsConfig?.text?.input_label ??\n ''}\n \n \n {(groupSkills as ISkill[])?.map((skill, index) => {\n const allSkills = [\n ...(program?.skills?.soft_skills?.flatMap(\n (skill) => skill?.skills,\n ) ?? []),\n ...(program?.skills?.hard_skills?.flatMap(\n (skill) => skill?.skills,\n ) ?? []),\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 \n );\n })}\n \n \n )}\n \n\n {relationship && (\n \n )}\n {relationship && (\n \n {relationship.guideProfiles?.map((guideProfile) => {\n const guideUser = relationship.users?.find(\n (user) => guideProfile.userId,\n );\n\n return (\n handleProfileModalOpen(guideProfile?.userId)}\n >\n \n \n \n \n );\n })}\n\n {relationship.traineeProfiles?.map((traineeProfile, index) => {\n const traineeUser = relationship.users?.find(\n (user) => traineeProfile.userId === user.id,\n );\n return (\n handleProfileModalOpen(traineeProfile.userId)}\n >\n \n\n \n \n );\n })}\n \n )}\n \n );\n};\n","// external\nimport { Divider, Drawer, Typography, useTheme } from '@mui/material';\nimport React from 'react';\n\n// components\nimport {\n RelationshipGoals,\n RelationshipNotes,\n RelationshipSessions,\n RelationshipViewProfile,\n} from 'components';\n\n// types\nimport { useOrganizationPrograms } from '@guider-global/sanity-hooks';\nimport { IRelationship, Program } from '@guider-global/shared-types';\n\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useLocalization, useMobileMediaQuery } from 'hooks';\n\ninterface IRelationshipDetailsSidebarProps {\n relationship: IRelationship;\n isGroupProgram: boolean;\n isGuide: boolean;\n}\n\nexport const RelationshipDetailsSidebar: React.FC<\n IRelationshipDetailsSidebarProps\n> = ({ relationship, isGroupProgram, isGuide }) => {\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const programSlug = relationship?.programSlug ?? undefined;\n\n const { getProgram } = useOrganizationPrograms({\n organizationSlug,\n localeCode,\n });\n let program: Program | undefined;\n\n if (programSlug) {\n program = getProgram(programSlug);\n }\n\n const programName = program?.metadata?.program_name;\n return (\n \n {isMobile && programName && (\n <>\n \n {programName}\n \n \n \n )}\n \n \n \n \n \n );\n};\n\nexport default RelationshipDetailsSidebar;\n","import { ChatMessageReceivedEvent } from '@azure/communication-chat';\nimport { AzureCommunicationTokenCredential } from '@azure/communication-common';\nimport {\n StatefulChatClient,\n createStatefulChatClient,\n} from '@azure/communication-react';\nimport { FC, useEffect, useMemo, useState } from 'react';\n\nimport { RelationshipsPage } from 'pages';\n\nimport { useChatToken } from 'hooks';\n\nimport { useAppDispatch } from 'store/hooks';\nimport {\n IRelationshipThread,\n IRelationshipThreads,\n setIsUnreadMessages,\n updateRelationshipThreads,\n} from 'store/slices/relationshipThreadsSlice';\n\nimport { IError } from '@guider-global/shared-types';\n\nimport { datadogLogs } from '@guider-global/datadog';\nimport { useProfiles, useRelationships } from '@guider-global/front-end-hooks';\nimport { useChatParticipants } from 'hooks/useChatParticipants';\nimport { showAppAlert } from 'store/slices/appSlice';\n\ninterface RelationshipsWrapperProps {}\n\nconst { REACT_APP_AZURE_COMMUNICATION_ENDPOINT_URL } = process.env;\n\nexport const RelationshipsWrapper: FC = () => {\n // Redux\n const dispatch = useAppDispatch();\n // Local state\n const [error, setError] = useState();\n const [credential, setCredential] =\n useState();\n const [statefulChatClient, setStatefulChatClient] =\n useState();\n\n // Internal Hooks\n // Relationships\n const { relationships } = useRelationships({});\n\n // Profile\n const { profiles } = useProfiles({});\n const profile = profiles?.at(0);\n const profileId = profile?.id ?? '';\n const communicationUserId = profile?.communicationUserId ?? '';\n const displayName = profile?.displayName ?? '';\n // Chat token\n const { token, error: chatTokenError } = useChatToken(profileId);\n // Chats\n const { chatParticipants } = useChatParticipants({});\n\n useEffect(() => {\n if (!token) return;\n\n try {\n const getCredential = new AzureCommunicationTokenCredential(token);\n setCredential(getCredential);\n } catch (error) {\n datadogLogs.logger.error('RelationshipWrapper:getCredential:', {\n error,\n });\n if (error instanceof Error) {\n setError({ message: error?.message, code: error?.name });\n } else {\n setError({\n message: 'Failed to construct token credential',\n code: 'unknown error',\n });\n }\n console.error('Failed to construct token credential');\n return undefined;\n }\n }, [token]);\n\n useEffect(() => {\n if (!credential) return;\n const endpoint = REACT_APP_AZURE_COMMUNICATION_ENDPOINT_URL;\n if (!endpoint) return;\n const getStatefulChatClient = createStatefulChatClient({\n userId: { communicationUserId },\n displayName: displayName,\n endpoint,\n credential,\n });\n\n setStatefulChatClient(getStatefulChatClient);\n }, [communicationUserId, credential, displayName]);\n\n useEffect(() => {\n if (!statefulChatClient) return;\n const startRealtimeNotifications = async () => {\n try {\n await statefulChatClient.startRealtimeNotifications();\n } catch (err) {\n datadogLogs.logger.error(\n 'RelationshipWrapper:startRealtimeNotifications',\n {\n err,\n },\n );\n console.error(err);\n if (err instanceof Error) {\n setError({ message: err?.message, code: err?.name });\n } else {\n setError({\n message: 'Error Occurred starting Real time notifications',\n code: 'unknown error',\n });\n }\n }\n };\n\n const threads = relationships?.map((relationship): IRelationshipThread => {\n const threadId = relationship.threadId ?? '';\n const relationshipId = relationship.id;\n const isConcluded = relationship.isConcluded;\n const isUnreadMessages =\n chatParticipants?.find(\n (participant) => participant.threadId === threadId,\n )?.isUnreadMessages ?? false;\n return {\n id: relationshipId,\n threadId,\n isConcluded,\n isUnreadMessages,\n };\n });\n\n const relationshipThreads = {\n threads,\n statefulChatClient,\n } as IRelationshipThreads;\n\n dispatch(updateRelationshipThreads(relationshipThreads));\n\n startRealtimeNotifications();\n\n const onChatMessageReceived = ({\n threadId,\n sender,\n }: ChatMessageReceivedEvent) => {\n if (\n sender.kind === 'communicationUser' &&\n sender.communicationUserId !== communicationUserId\n ) {\n dispatch(setIsUnreadMessages({ threadId }));\n }\n };\n\n statefulChatClient.on('chatMessageReceived', onChatMessageReceived);\n return () => {\n statefulChatClient.off('chatMessageReceived', onChatMessageReceived);\n };\n }, [\n chatParticipants,\n communicationUserId,\n dispatch,\n relationships,\n statefulChatClient,\n ]);\n\n useEffect(() => {\n const handleDispatchedError = (\n errorCode?: string,\n errorMessage?: string,\n ) => {\n const code = errorCode ?? 'Undefined Error Code';\n const message = errorMessage ?? 'Undefined Error Messsage';\n console.error('error', { code, message });\n datadogLogs.logger.error('RelationshipWrapper:', { code, message });\n dispatch(\n showAppAlert({\n severity: 'error',\n message: message,\n timeout: 10000,\n }),\n );\n };\n\n if (chatTokenError) {\n const errorCode = chatTokenError.code?.toString();\n handleDispatchedError(errorCode, chatTokenError.message);\n }\n if (error?.message) {\n const errorCode = error.code?.toString();\n handleDispatchedError(errorCode, error.message);\n }\n }, [chatTokenError, dispatch, error?.code, error?.message]);\n\n return ;\n};\n"],"names":["dialogTitle","dialogDescription","cancelButtonLabel","concludeRelationshipButtonLabel","open","loading","onClose","onConcludeRelationship","title","description","isLoading","actions","label","action","color","variant","textColor","isLoadingButton","dataCyLabel","handleClose","guideProfile","profile","programType","programSlug","palette","useTheme","dispatch","organizationSlug","getSubDomain","localeCode","baseLanguage","useBaseLanguage","reqReviews","isMutatingReviews","isLoadingReviews","settings","useSettings","reviewBaseLanguage","relationships","review_guide","programTypeText","program_type_text","handleSubmit","control","formState","isValid","isSubmitting","mode","onSubmit","data","rating","reviewText","Object","entries","forEach","_","value","reviewsResult","method","url","users","userId","authorProfile","id","reviewedProfile","status","severity","message","review_success_text","timeout","modal_title","firstName","contentSx","pt","component","sx","display","flexDirection","marginBottom","direction","gap","py","name","heading","guider_surveys","guide_feedback_survey","trainee_rating_question_title","guideSingular","common","guide","singular","errorMessage","globals","errors","required_field","fieldType","trainee_feedback_question_title","guideFirstName","programTypeVerb","verb","placeholder","response_placeholder","spacing","size","text","secondary","disclaimer","paddingY","justifyContent","position","left","bottom","backgroundColor","buttons","key","close_button_label","onClick","submit_button_label","type","disabled","width","buttonsWidth","relationship","profiles","useProfiles","at","profileId","relationshipId","guideProfiles","programs","useOrganizationPrograms","reviews","existingReview","find","review","program","metadata","current","program_details","program_type","pathname","isModalOpen","setIsModalOpen","useState","setIsLoading","isReviewModalOpen","setIsReviewModalOpen","guideProfilesIds","map","isGroupProgram","programVariationTypeSlug","isGuide","includes","concludeRelationship","getModalConfig","useConcludeRelationship","handleModalClose","useCallback","archived","isConcluded","useEffect","modalConfig","Box","height","flexFlow","ul","p","anchor","icon","MoreHoriz","orientation","PersonOff","subtitles","subtitle","Reviews","button_title","button_subtitle","buttonLabel","RelationshipDetails","useDispatch","traineeModal","useSelector","state","app","modals","trackMixpanelEvent","isMobile","isSidebarOpen","setIsSidebarOpen","isConcludeDialog","setIsConcludeDialog","isSessionsModalOpen","setIsSessionsModalOpen","reqAvailabilities","navigate","isReengaged","reengagedAt","EProgramVariation","traineeProfiles","traineeProfilesIds","traineeProfile","isTrainee","chosenGuide","group","isActiveGroup","activatedAt","isTraineeModalOpen","relationshipCreatedAt","createdAt","recipients","role","handleMessageSend","getISOStringWithoutMilliseconds","Role","Program","programVariation","variations","individual","programName","program_name","recipient","gridTemplateColumns","gridTemplateRows","otherPartyProfile","displayName","profilePicture","picture","userPicture","roleLabel","your_trainee","your_guide","alignItems","alignContent","overflowY","in","px","maxWidth","isNotLiveGroup","threadId","onSendMessage","registration","registration_trainee","registration_trainee_relationship_created_successfully","registration_trainee_relationship_created_successfully_title","groupName","registration_trainee_relationship_created_successfully_description","view_relationship","handleConcludeRelationship","error","console","handleScheduleSession","handleSessionsModalClose","RelationshipDetailsGroupSidebar","theme","getProfileImage","useProfileImage","selectedUserId","setSelectedUserId","groupMembersModalOpen","setGroupMembersModalOpen","handleGroupMembersModalClose","groupSkills","skills","programTypeGuideNoun","noun","skillsConfig","isSkillsEnabled","enable_skills_question","modalTitle","view_profile_modal","modalCloseButtonLabel","handleProfileModalClose","handleProfileModalOpen","avatars","user","_a","_b","chipProps","info","main","mr","mb","borderLeft","divider","pb","avatarSrcArray","avatarHeight","avatarWidth","textSize","length","toString","border","borderRadius","pl","mt","fontWeight","registration_group","group_description","question_heading","input_label","wordBreak","flexWrap","skill","index","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","allSkills","soft_skills","flatMap","hard_skills","s","slug","fieldSlug","options","isOpen","closeButtonLabel","closeButtonAction","userRole","profileData","selectedProfile","selectedProfileUserId","selectedUser","pictures","getSelectedProfileData","membershipData","selectedMembership","guideMemberships","traineeMemberships","membership","skillFieldSlugs","getSelectedProfileMembershipData","guideUser","textTransform","cursor","background","default","src","fontSize","traineeUser","RelationshipDetailsSidebar","getProgram","REACT_APP_AZURE_COMMUNICATION_ENDPOINT_URL","RelationshipsWrapper","setError","credential","setCredential","statefulChatClient","setStatefulChatClient","useRelationships","communicationUserId","token","chatTokenError","chatParticipants","getCredential","datadogLogs","Error","code","endpoint","getStatefulChatClient","relationshipThreads","threads","isUnreadMessages","participant","startRealtimeNotifications","err","onChatMessageReceived","sender","kind","on","off","handleDispatchedError","errorCode"],"sourceRoot":""}