{"version":3,"file":"static/js/app-81ce99fd_50b5792d23b7d24e0d12.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 useOrganization,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { AvatarButton, DropDown, IconButton } from '@guider-global/ui';\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 { Reviews } from '@mui/icons-material';\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 { organization } = useOrganization({ organizationSlug });\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 let programType;\n\n if (programSlug) {\n const program = programs?.find(\n (program) => program.metadata.id.current === programSlug,\n );\n programType = program?.program_details?.program_type;\n } else {\n programType = organization?.open_matching?.program_type;\n }\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 useOrganization,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport {\n EProgramVariation,\n IGroup,\n IProfile,\n IRelationship,\n Program,\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 { organization } = useOrganization({ organizationSlug });\n\n let program: Program | undefined;\n let programType;\n\n if (programSlug) {\n program = programs.find(\n (program) => program.metadata.id.current === programSlug,\n );\n programType = program?.program_details?.program_type;\n } else {\n programType = organization?.open_matching?.program_type;\n }\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","organization","useOrganization","reviews","existingReview","find","review","program","metadata","current","program_details","program_type","open_matching","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":""}