From 4c92345af6aeaa36e8abc2e1a780903be4b78500 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Thu, 19 Dec 2024 16:33:51 +0700 Subject: [PATCH 1/4] Add Guide booking link to #admins header --- src/languages/en.ts | 1 + src/languages/es.ts | 1 + src/pages/home/HeaderView.tsx | 28 +++++++++++++++++++++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 457f2063ffb4..8b886cdf136f 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -4476,6 +4476,7 @@ const translations = { description: 'Choose from the support options below:', chatWithConcierge: 'Chat with Concierge', scheduleSetupCall: 'Schedule a setup call', + scheduleADemo: 'Schedule a demo', questionMarkButtonTooltip: 'Get assistance from our team', exploreHelpDocs: 'Explore help docs', }, diff --git a/src/languages/es.ts b/src/languages/es.ts index ef9ec53705ce..b1655ce1f925 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -4524,6 +4524,7 @@ const translations = { description: 'Elige una de las siguientes opciones:', chatWithConcierge: 'Chatear con Concierge', scheduleSetupCall: 'Concertar una llamada', + scheduleADemo: 'Schedule a demo', questionMarkButtonTooltip: 'Obtén ayuda de nuestro equipo', exploreHelpDocs: 'Explorar la documentación de ayuda', }, diff --git a/src/pages/home/HeaderView.tsx b/src/pages/home/HeaderView.tsx index 03e7dcd82156..ff80e589e239 100644 --- a/src/pages/home/HeaderView.tsx +++ b/src/pages/home/HeaderView.tsx @@ -1,5 +1,5 @@ import {useRoute} from '@react-navigation/native'; -import React, {memo} from 'react'; +import React, {memo, useEffect} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; import {useOnyx} from 'react-native-onyx'; @@ -25,6 +25,8 @@ import usePolicy from '@hooks/usePolicy'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; +import {openExternalLink} from '@libs/actions/Link'; +import {getAssignedSupportData} from '@libs/actions/Policy/Policy'; import Navigation from '@libs/Navigation/Navigation'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import Parser from '@libs/Parser'; @@ -75,6 +77,7 @@ function HeaderView({report, parentReportAction, reportID, onNavigationMenuButto const [parentReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${report?.parentReportID || report?.reportID || '-1'}`); const policy = usePolicy(report?.policyID); const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST); + const [account] = useOnyx(ONYXKEYS.ACCOUNT); const {translate} = useLocalize(); const theme = useTheme(); @@ -101,6 +104,14 @@ function HeaderView({report, parentReportAction, reportID, onNavigationMenuButto const policyName = ReportUtils.getPolicyName(report, true); const policyDescription = ReportUtils.getPolicyDescriptionText(policy); const isPersonalExpenseChat = isPolicyExpenseChat && ReportUtils.isCurrentUserSubmitter(report?.reportID ?? ''); + const policyID = report?.policyID; + useEffect(() => { + if (!policyID) { + return; + } + getAssignedSupportData(policyID); + }, [policyID]); + const shouldShowSubtitle = () => { if (!subtitle) { return false; @@ -114,6 +125,19 @@ function HeaderView({report, parentReportAction, reportID, onNavigationMenuButto return true; }; + const shouldShowGuideBooking = !!account && report?.reportID.toString() === account?.adminsRoomReportID?.toString() && !!account?.guideDetails?.calendarLink; + + const guideBookingButton = ( +