Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/CONST/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9513,6 +9513,9 @@ const CONST = {
SETTINGS_HELP: {
CONCIERGE_CHAT: 'SettingsHelp-ConciergeChat',
HELP_DOCS: 'SettingsHelp-HelpDocs',
ACCOUNT_MANAGER: 'SettingsHelp-AccountManager',
PARTNER_MANAGER: 'SettingsHelp-PartnerManager',
GUIDE: 'SettingsHelp-Guide',
},
SETTINGS_ABOUT: {
APP_DOWNLOAD_LINKS: 'SettingsAbout-AppDownloadLinks',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2119,6 +2119,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'Hilfeseite',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Ihr persönlicher KI-Agent',
accountManagerDescription: 'Ihre Kundenbetreuung',
partnerManagerDescription: 'Ihre Partnermanagerin / Ihr Partnermanager',
guideDescription: 'Ihre Einrichtungsfachkraft',
},
},
closeAccountPage: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2185,6 +2185,9 @@ const translations = {
helpSite: 'Help site',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Your personal AI agent',
accountManagerDescription: 'Your account manager',
partnerManagerDescription: 'Your partner manager',
guideDescription: 'Your setup specialist',
},
whatIsNew: "What's new",
accountSettings: 'Account settings',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2002,6 +2002,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'Sitio de ayuda',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Tu agente personal de IA',
accountManagerDescription: 'Tu gestor de cuenta',
partnerManagerDescription: 'Tu gestor de partners',
guideDescription: 'Tu especialista asignado',
},
whatIsNew: 'Qué hay de nuevo',
accountSettings: 'Configuración de la cuenta',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2123,6 +2123,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'Site d’aide',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Votre agent IA personnel',
accountManagerDescription: 'Votre gestionnaire de compte',
partnerManagerDescription: 'Votre gestionnaire partenaire',
guideDescription: 'Votre spécialiste de configuration',
},
},
closeAccountPage: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2116,6 +2116,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'Sito di assistenza',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Il tuo assistente IA personale',
accountManagerDescription: 'Il tuo account manager',
partnerManagerDescription: 'Il tuo partner manager',
guideDescription: 'Il tuo specialista di configurazione',
},
},
closeAccountPage: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2095,6 +2095,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'ヘルプサイト',
conciergeChat: 'Concierge',
conciergeChatDescription: 'あなた専用のAIエージェント',
accountManagerDescription: 'お客様のアカウントマネージャー',
partnerManagerDescription: 'パートナーマネージャー',
guideDescription: 'お客様のセットアップ担当者',
},
},
closeAccountPage: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2112,6 +2112,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'Helppagina',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Je persoonlijke AI-agent',
accountManagerDescription: 'Je accountmanager',
partnerManagerDescription: 'Je partnerbeheerder',
guideDescription: 'Je instelspecialist',
},
},
closeAccountPage: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2111,6 +2111,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'Centrum pomocy',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Twój osobisty agent AI',
accountManagerDescription: 'Twój opiekun konta',
partnerManagerDescription: 'Twój opiekun partnerski',
guideDescription: 'Twój specjalista ds. konfiguracji',
},
},
closeAccountPage: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2108,6 +2108,9 @@ const translations: TranslationDeepObject<typeof en> = {
helpSite: 'Site de ajuda',
conciergeChat: 'Concierge',
conciergeChatDescription: 'Seu agente de IA pessoal',
accountManagerDescription: 'Seu gerente de conta',
partnerManagerDescription: 'Seu gerente de parcerias',
guideDescription: 'Seu especialista de configuração',
},
},
closeAccountPage: {
Expand Down
11 changes: 10 additions & 1 deletion src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2052,7 +2052,16 @@ const translations: TranslationDeepObject<typeof en> = {
accountSettings: '账户设置',
account: '账户',
general: '常规',
helpPage: {title: '帮助与支持', description: '我们全天候 24/7 为您提供帮助', helpSite: '帮助网站', conciergeChat: 'Concierge', conciergeChatDescription: '你的个人 AI 助理'},
helpPage: {
title: '帮助与支持',
description: '我们全天候 24/7 为您提供帮助',
helpSite: '帮助网站',
conciergeChat: 'Concierge',
conciergeChatDescription: '你的个人 AI 助理',
accountManagerDescription: '您的客户经理',
partnerManagerDescription: '您的合作伙伴经理',
guideDescription: '您的设置专员',
},
},
closeAccountPage: {
closeAccount: '关闭账户',
Expand Down
2 changes: 2 additions & 0 deletions src/libs/API/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1255,6 +1255,7 @@ const READ_COMMANDS = {
GET_SAML_SETTINGS: 'GetSAMLSettings',
GET_DUPLICATE_TRANSACTION_DETAILS: 'GetDuplicateTransactionDetails',
GET_TRANSACTIONS_MATCHING_CODING_RULE: 'GetTransactionsMatchingCodingRule',
GET_ASSIGNED_SUPPORT_DATA: 'GetAssignedSupportData',
} as const;

type ReadCommand = ValueOf<typeof READ_COMMANDS>;
Expand Down Expand Up @@ -1347,6 +1348,7 @@ type ReadCommandParameters = {
[READ_COMMANDS.OPEN_DOMAIN_INITIAL_PAGE]: Parameters.DomainParams;
[READ_COMMANDS.GET_DUPLICATE_TRANSACTION_DETAILS]: Parameters.GetDuplicateTransactionDetailsParams;
[READ_COMMANDS.GET_TRANSACTIONS_MATCHING_CODING_RULE]: Parameters.GetTransactionsMatchingCodingRuleParams;
[READ_COMMANDS.GET_ASSIGNED_SUPPORT_DATA]: null;
};

const SIDE_EFFECT_REQUEST_COMMANDS = {
Expand Down
9 changes: 9 additions & 0 deletions src/libs/actions/Help.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import * as API from '@libs/API';
import {READ_COMMANDS} from '@libs/API/types';

function openHelpPage() {
API.read(READ_COMMANDS.GET_ASSIGNED_SUPPORT_DATA, null);
Comment thread
Pujan92 marked this conversation as resolved.
}

// eslint-disable-next-line import/prefer-default-export
export {openHelpPage};
62 changes: 60 additions & 2 deletions src/pages/settings/HelpPage/HelpPage.tsx
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
import React from 'react';
import React, {useEffect} from 'react';
import {View} from 'react-native';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
import MenuItemList from '@components/MenuItemList';
import ScreenWrapper from '@components/ScreenWrapper';
import ScrollView from '@components/ScrollView';
import Section from '@components/Section';
import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
import useIsPaidPolicyAdmin from '@hooks/useIsPaidPolicyAdmin';
import {useMemoizedLazyExpensifyIcons, useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useResponsiveLayout from '@hooks/useResponsiveLayout';
import useSidePanelActions from '@hooks/useSidePanelActions';
import useThemeStyles from '@hooks/useThemeStyles';
import {openHelpPage} from '@libs/actions/Help';
import {openExternalLink} from '@libs/actions/Link';
import {navigateToConciergeChat} from '@libs/actions/Report';
import {navigateToAndOpenReportWithAccountIDs, navigateToConciergeChat} from '@libs/actions/Report';
import getPlatform from '@libs/getPlatform';
import Navigation from '@libs/Navigation/Navigation';
import {getPersonalDetailByEmail} from '@libs/PersonalDetailsUtils';
import colors from '@styles/theme/colors';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
Expand All @@ -29,6 +32,12 @@ function HelpPage() {
const {translate} = useLocalize();
const {shouldUseNarrowLayout} = useResponsiveLayout();
const styles = useThemeStyles();
const [account] = useOnyx(ONYXKEYS.ACCOUNT);
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST);
const isPaidPolicyAdmin = useIsPaidPolicyAdmin();
const accountManagerDetails = account?.accountManagerAccountID ? personalDetails?.[account.accountManagerAccountID] : null;
const partnerManagerDetails = account?.partnerManagerAccountID ? personalDetails?.[account.partnerManagerAccountID] : null;
const guideDetails = account?.guideDetails?.email ? getPersonalDetailByEmail(account.guideDetails.email) : null;
const [conciergeReportID] = useOnyx(ONYXKEYS.CONCIERGE_REPORT_ID);
const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED);
const [isSelfTourViewed] = useOnyx(ONYXKEYS.NVP_ONBOARDING, {selector: hasSeenTourSelector});
Expand All @@ -48,6 +57,51 @@ function HelpPage() {
wrapperStyle: [styles.sectionMenuItemTopDescription],
sentryLabel: CONST.SENTRY_LABEL.SETTINGS_HELP.CONCIERGE_CHAT,
},
...(accountManagerDetails && isPaidPolicyAdmin
? [
{
key: accountManagerDetails.login,
title: accountManagerDetails.displayName,
description: translate('initialSettingsPage.helpPage.accountManagerDescription'),
icon: accountManagerDetails.avatar,
iconType: CONST.ICON_TYPE_AVATAR,
onPress: () => navigateToAndOpenReportWithAccountIDs([accountManagerDetails.accountID], currentUserAccountID, introSelected, isSelfTourViewed, betas),
shouldShowRightIcon: true,
wrapperStyle: [styles.sectionMenuItemTopDescription],
sentryLabel: CONST.SENTRY_LABEL.SETTINGS_HELP.ACCOUNT_MANAGER,
},
]
: []),
...(partnerManagerDetails && isPaidPolicyAdmin
? [
{
key: partnerManagerDetails.login,
title: partnerManagerDetails.displayName,
description: translate('initialSettingsPage.helpPage.partnerManagerDescription'),
icon: partnerManagerDetails.avatar,
iconType: CONST.ICON_TYPE_AVATAR,
onPress: () => navigateToAndOpenReportWithAccountIDs([partnerManagerDetails.accountID], currentUserAccountID, introSelected, isSelfTourViewed, betas),
shouldShowRightIcon: true,
wrapperStyle: [styles.sectionMenuItemTopDescription],
sentryLabel: CONST.SENTRY_LABEL.SETTINGS_HELP.PARTNER_MANAGER,
},
]
: []),
...(guideDetails && isPaidPolicyAdmin
? [
{
key: guideDetails.login,
title: guideDetails.displayName,
description: translate('initialSettingsPage.helpPage.guideDescription'),
icon: guideDetails.avatar,
iconType: CONST.ICON_TYPE_AVATAR,
onPress: () => navigateToAndOpenReportWithAccountIDs([guideDetails.accountID], currentUserAccountID, introSelected, isSelfTourViewed, betas),
shouldShowRightIcon: true,
wrapperStyle: [styles.sectionMenuItemTopDescription],
sentryLabel: CONST.SENTRY_LABEL.SETTINGS_HELP.GUIDE,
},
]
: []),
{
key: 'initialSettingsPage.helpPage.helpSite',
title: translate('initialSettingsPage.helpPage.helpSite'),
Expand All @@ -61,6 +115,10 @@ function HelpPage() {
},
];

useEffect(() => {
openHelpPage();
}, []);

return (
<ScreenWrapper
includeSafeAreaPaddingBottom={false}
Expand Down
6 changes: 6 additions & 0 deletions src/types/onyx/Account.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,12 @@ type Account = {
/** The Report ID of the account manager */
accountManagerReportID?: string;

/** The account ID of the partner manager */
partnerManagerAccountID?: number;

/** The email of the partner manager */
partnerManagerEmail?: string;
Copy link
Copy Markdown
Contributor

@FitseTLT FitseTLT Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see this being used. Ignore it I see in the discussion that it is returned from BE


/** The message to be displayed when code requested */
message?: string;

Expand Down
Loading