diff --git a/src/components/GustoSyncResultsModal.tsx b/src/components/HRSyncResultsModal.tsx
similarity index 71%
rename from src/components/GustoSyncResultsModal.tsx
rename to src/components/HRSyncResultsModal.tsx
index 7f771b4bdb3c..74f4de488d0b 100644
--- a/src/components/GustoSyncResultsModal.tsx
+++ b/src/components/HRSyncResultsModal.tsx
@@ -2,10 +2,13 @@ import React, {useState} from 'react';
import {View} from 'react-native';
import {useMemoizedLazyExpensifyIcons, useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
import useLocalize from '@hooks/useLocalize';
+import useOnyx from '@hooks/useOnyx';
import useTheme from '@hooks/useTheme';
import useThemeStyles from '@hooks/useThemeStyles';
-import type {GustoSyncResult} from '@libs/API/GustoSyncResult';
+import type {HrSyncResult} from '@libs/API/HrSyncResult';
+import {getConnectedHRProvider} from '@libs/PolicyUtils';
import CONST from '@src/CONST';
+import ONYXKEYS from '@src/ONYXKEYS';
import Button from './Button';
import FixedFooter from './FixedFooter';
import HeaderWithBackButton from './HeaderWithBackButton';
@@ -16,46 +19,55 @@ import PressableWithoutFeedback from './Pressable/PressableWithoutFeedback';
import ScrollView from './ScrollView';
import Text from './Text';
-type GustoSyncResultsModalProps = ModalProps & {
- /** Sync result returned by the completed Gusto sync job */
- result: GustoSyncResult;
+type HRSyncResultsModalProps = ModalProps & {
+ /** Sync result returned by the completed HR sync job */
+ result: HrSyncResult;
+
+ /** ID of the policy associated with this sync */
+ policyID: string;
};
-function GustoSyncResultsModal({result, closeModal}: GustoSyncResultsModalProps) {
+function HRSyncResultsModal({result, policyID, closeModal}: HRSyncResultsModalProps) {
const {translate} = useLocalize();
const theme = useTheme();
const styles = useThemeStyles();
const icons = useMemoizedLazyExpensifyIcons(['DownArrow']);
const illustrations = useMemoizedLazyIllustrations(['SyncUsers']);
const [isSkippedSectionExpanded, setIsSkippedSectionExpanded] = useState(false);
+ const [isVisible, setIsVisible] = useState(true);
+ const [providerDisplayName = ''] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {
+ selector: (policy) => getConnectedHRProvider(policy)?.displayName ?? '',
+ });
const addedCount = result.addedEmployeesCount ?? 0;
const removedCount = result.removedEmployeesCount ?? 0;
const skippedCount = result.skippedEmployees?.length ?? 0;
- const closeResultsModal = () => closeModal();
+
+ const hideModal = () => setIsVisible(false);
const renderResultSummary = (label: string, count: number) => (
{label}
- {translate('workspace.hr.gusto.syncResults.employeeCount', {count})}
+ {translate('workspace.hr.syncResults.employeeCount', {count})}
);
return (
@@ -65,19 +77,19 @@ function GustoSyncResultsModal({result, closeModal}: GustoSyncResultsModalProps)
height={68}
/>
- {translate('workspace.hr.gusto.syncResults.successTitle')}
- {renderResultSummary(translate('workspace.hr.gusto.syncResults.added'), addedCount)}
- {renderResultSummary(translate('workspace.hr.gusto.syncResults.removed'), removedCount)}
+ {translate('workspace.hr.syncResults.successTitle', providerDisplayName)}
+ {renderResultSummary(translate('workspace.hr.syncResults.added'), addedCount)}
+ {renderResultSummary(translate('workspace.hr.syncResults.removed'), removedCount)}
setIsSkippedSectionExpanded((isExpanded) => !isExpanded)}
style={[styles.flexRow, styles.justifyContentBetween, styles.alignItemsCenter]}
>
- {translate('workspace.hr.gusto.syncResults.skipped')}
- {translate('workspace.hr.gusto.syncResults.employeeCount', {count: skippedCount})}
+ {translate('workspace.hr.syncResults.skipped')}
+ {translate('workspace.hr.syncResults.employeeCount', {count: skippedCount})}
@@ -109,4 +121,4 @@ function GustoSyncResultsModal({result, closeModal}: GustoSyncResultsModalProps)
);
}
-export default GustoSyncResultsModal;
+export default HRSyncResultsModal;
diff --git a/src/hooks/useGustoSyncResultsModal.ts b/src/hooks/useGustoSyncResultsModal.ts
deleted file mode 100644
index 35d9fc61b134..000000000000
--- a/src/hooks/useGustoSyncResultsModal.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import {useEffect} from 'react';
-import type {OnyxEntry} from 'react-native-onyx';
-import GustoSyncResultsModal from '@components/GustoSyncResultsModal';
-import {useModal} from '@components/Modal/Global/ModalContext';
-import CONST from '@src/CONST';
-import type {PolicyConnectionSyncProgress} from '@src/types/onyx/Policy';
-import usePrevious from './usePrevious';
-
-function useGustoSyncResultsModal(policyID: string, connectionSyncProgress: OnyxEntry, isFocused: boolean) {
- const modal = useModal();
- const previousSyncProgress = usePrevious(connectionSyncProgress);
-
- useEffect(() => {
- const syncResult = connectionSyncProgress?.result;
- const isGustoSyncDoneWithResult =
- connectionSyncProgress?.connectionName === CONST.POLICY.CONNECTIONS.NAME.GUSTO &&
- connectionSyncProgress?.stageInProgress === CONST.POLICY.CONNECTIONS.SYNC_STAGE_NAME.JOB_DONE &&
- !!syncResult;
- const didTransitionToJobDone =
- previousSyncProgress?.connectionName === CONST.POLICY.CONNECTIONS.NAME.GUSTO && previousSyncProgress?.stageInProgress !== CONST.POLICY.CONNECTIONS.SYNC_STAGE_NAME.JOB_DONE;
- const didGustoSyncComplete = isFocused && isGustoSyncDoneWithResult && didTransitionToJobDone;
-
- if (!didGustoSyncComplete || !syncResult) {
- return;
- }
-
- modal.showModal({
- component: GustoSyncResultsModal,
- props: {result: syncResult},
- id: `gusto-sync-results-${policyID}`,
- });
- }, [
- connectionSyncProgress?.connectionName,
- connectionSyncProgress?.result,
- connectionSyncProgress?.stageInProgress,
- connectionSyncProgress?.timestamp,
- isFocused,
- policyID,
- previousSyncProgress?.connectionName,
- previousSyncProgress?.stageInProgress,
- modal,
- ]);
-}
-
-export default useGustoSyncResultsModal;
diff --git a/src/hooks/useHRSyncResultsModal.ts b/src/hooks/useHRSyncResultsModal.ts
new file mode 100644
index 000000000000..8a45dff48a74
--- /dev/null
+++ b/src/hooks/useHRSyncResultsModal.ts
@@ -0,0 +1,51 @@
+import {useEffect} from 'react';
+import type {OnyxEntry} from 'react-native-onyx';
+import type {TupleToUnion} from 'type-fest';
+import HRSyncResultsModal from '@components/HRSyncResultsModal';
+import {useModal} from '@components/Modal/Global/ModalContext';
+import CONST from '@src/CONST';
+import type {PolicyConnectionSyncProgress} from '@src/types/onyx/Policy';
+import usePrevious from './usePrevious';
+
+/**
+ * Watches an HR provider's sync progress and automatically opens the `HRSyncResultsModal`
+ * when the sync transitions to the `JOB_DONE` stage with a result payload.
+ */
+function useHRSyncResultsModal(policyID: string, connectionSyncProgress: OnyxEntry, isFocused: boolean) {
+ const modal = useModal();
+ const previousSyncProgress = usePrevious(connectionSyncProgress);
+
+ const connectionName = connectionSyncProgress?.connectionName;
+
+ useEffect(() => {
+ const syncResult = connectionSyncProgress?.result;
+ const isHRSyncDoneWithResult =
+ CONST.POLICY.CONNECTIONS.HR_CONNECTION_NAMES.includes(connectionName as TupleToUnion) &&
+ connectionSyncProgress?.stageInProgress === CONST.POLICY.CONNECTIONS.SYNC_STAGE_NAME.JOB_DONE &&
+ !!syncResult;
+ const didTransitionToJobDone = previousSyncProgress?.connectionName === connectionName && previousSyncProgress?.stageInProgress !== CONST.POLICY.CONNECTIONS.SYNC_STAGE_NAME.JOB_DONE;
+ const didHRSyncComplete = isFocused && isHRSyncDoneWithResult && didTransitionToJobDone;
+
+ if (!didHRSyncComplete || !syncResult || !connectionName) {
+ return;
+ }
+
+ modal.showModal({
+ component: HRSyncResultsModal,
+ props: {result: syncResult, policyID},
+ id: `${connectionName}-sync-results-${policyID}`,
+ });
+ }, [
+ connectionName,
+ connectionSyncProgress?.result,
+ connectionSyncProgress?.stageInProgress,
+ connectionSyncProgress?.timestamp,
+ isFocused,
+ policyID,
+ previousSyncProgress?.connectionName,
+ previousSyncProgress?.stageInProgress,
+ modal,
+ ]);
+}
+
+export default useHRSyncResultsModal;
diff --git a/src/languages/de.ts b/src/languages/de.ts
index c77a6ba1bd60..1fa7829881b8 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -7189,19 +7189,19 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc
}
}
},
+ syncResults: {
+ title: (provider: string) => `${provider}-Synchronisierung abgeschlossen`,
+ successTitle: (provider: string) => `Ihre ${provider}-Verbindung wurde erfolgreich synchronisiert!`,
+ added: 'Hinzugefügt',
+ removed: 'Entfernt',
+ skipped: 'Übersprungen',
+ employeeCount: () => ({
+ one: '1 Mitarbeiter',
+ other: (count: number) => `${count} Mitarbeitende`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Gusto-Synchronisierungsergebnisse',
- successTitle: 'Ihre Gusto-Verbindung wurde erfolgreich synchronisiert!',
- added: 'Hinzugefügt',
- removed: 'Entfernt',
- skipped: 'Übersprungen',
- employeeCount: () => ({
- one: '1 Mitarbeiter',
- other: (count: number) => `${count} Mitarbeitende`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/en.ts b/src/languages/en.ts
index 23d4be8a5b88..9b790669cd7b 100644
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -6493,19 +6493,19 @@ const translations = {
}
}
},
+ syncResults: {
+ title: (provider: string) => `${provider} sync complete`,
+ successTitle: (provider: string) => `Successfully synced your ${provider} connection!`,
+ added: 'Added',
+ removed: 'Removed',
+ skipped: 'Skipped',
+ employeeCount: () => ({
+ one: '1 employee',
+ other: (count: number) => `${count} employees`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Gusto sync results',
- successTitle: 'Successfully synced your Gusto connection!',
- added: 'Added',
- removed: 'Removed',
- skipped: 'Skipped',
- employeeCount: () => ({
- one: '1 employee',
- other: (count: number) => `${count} employees`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index cfcfe238925c..c4134f6b60c7 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -6306,19 +6306,19 @@ ${amount} para ${merchant} - ${date}`,
}
}
},
+ syncResults: {
+ title: (provider: string) => `Sincronización de ${provider} completada`,
+ successTitle: (provider: string) => `¡Se sincronizó correctamente tu conexión de ${provider}!`,
+ added: 'Añadido',
+ removed: 'Eliminado',
+ skipped: 'Omitido',
+ employeeCount: () => ({
+ one: '1 empleado',
+ other: (count: number) => `${count} empleados`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Resultados de la sincronización de Gusto',
- successTitle: '¡Se sincronizó correctamente tu conexión con Gusto!',
- added: 'Añadido',
- removed: 'Eliminado',
- skipped: 'Omitido',
- employeeCount: () => ({
- one: '1 empleado',
- other: (count: number) => `${count} empleados`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index f217296b269d..1d793a5b61f2 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -7218,19 +7218,19 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e
}
}
},
+ syncResults: {
+ title: (provider: string) => `Synchronisation ${provider} terminée`,
+ successTitle: (provider: string) => `Connexion ${provider} synchronisée avec succès !`,
+ added: 'Ajouté',
+ removed: 'Supprimé',
+ skipped: 'Ignoré',
+ employeeCount: () => ({
+ one: '1 employé',
+ other: (count: number) => `${count} employés`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Résultats de la synchronisation Gusto',
- successTitle: 'Connexion Gusto synchronisée avec succès !',
- added: 'Ajouté',
- removed: 'Supprimé',
- skipped: 'Ignoré',
- employeeCount: () => ({
- one: '1 employé',
- other: (count: number) => `${count} employés`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 04714349e740..0f519070ca42 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -7176,19 +7176,19 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`,
}
}
},
+ syncResults: {
+ title: (provider: string) => `Sincronizzazione ${provider} completata`,
+ successTitle: (provider: string) => `Connessione ${provider} sincronizzata correttamente!`,
+ added: 'Aggiunto',
+ removed: 'Rimosso',
+ skipped: 'Saltato',
+ employeeCount: () => ({
+ one: '1 dipendente',
+ other: (count: number) => `${count} dipendenti`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Risultati sincronizzazione Gusto',
- successTitle: 'Connessione a Gusto sincronizzata con successo!',
- added: 'Aggiunto',
- removed: 'Rimosso',
- skipped: 'Saltato',
- employeeCount: () => ({
- one: '1 dipendente',
- other: (count: number) => `${count} dipendenti`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index c6ee83df7138..b68ea7fbc6a9 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -7095,19 +7095,19 @@ ${reportName}
}
}
},
+ syncResults: {
+ title: (provider: string) => `${provider} の同期が完了しました`,
+ successTitle: (provider: string) => `${provider} との接続が正常に同期されました!`,
+ added: '追加済み',
+ removed: '削除済み',
+ skipped: 'スキップ済み',
+ employeeCount: () => ({
+ one: '1 従業員',
+ other: (count: number) => `${count} 従業員`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Gusto 同期結果',
- successTitle: 'Gusto との連携が正常に同期されました!',
- added: '追加済み',
- removed: '削除済み',
- skipped: 'スキップ済み',
- employeeCount: () => ({
- one: '1 従業員',
- other: (count: number) => `${count} 従業員`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 891386fd47b8..9cee24168e26 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -7151,19 +7151,19 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
}
}
},
+ syncResults: {
+ title: (provider: string) => `Synchronisatie met ${provider} voltooid`,
+ successTitle: (provider: string) => `Je ${provider}-verbinding is succesvol gesynchroniseerd!`,
+ added: 'Toegevoegd',
+ removed: 'Verwijderd',
+ skipped: 'Overgeslagen',
+ employeeCount: () => ({
+ one: '1 werknemer',
+ other: (count: number) => `${count} medewerkers`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Gusto-synchronisatieresultaten',
- successTitle: 'Je Gusto-verbinding is succesvol gesynchroniseerd!',
- added: 'Toegevoegd',
- removed: 'Verwijderd',
- skipped: 'Overgeslagen',
- employeeCount: () => ({
- one: '1 werknemer',
- other: (count: number) => `${count} medewerkers`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 91459e089731..df2b5e0eae25 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -7146,19 +7146,19 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
}
}
},
+ syncResults: {
+ title: (provider: string) => `Synchronizacja z ${provider} zakończona`,
+ successTitle: (provider: string) => `Pomyślnie zsynchronizowano twoje połączenie z ${provider}!`,
+ added: 'Dodano',
+ removed: 'Usunięto',
+ skipped: 'Pominięto',
+ employeeCount: () => ({
+ one: '1 pracownik',
+ other: (count: number) => `${count} pracownicy`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Wyniki synchronizacji Gusto',
- successTitle: 'Pomyślnie zsynchronizowano Twoje połączenie z Gusto!',
- added: 'Dodano',
- removed: 'Usunięto',
- skipped: 'Pominięto',
- employeeCount: () => ({
- one: '1 pracownik',
- other: (count: number) => `${count} pracownicy`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 535659f23f58..ddb23a1d5b55 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -7151,19 +7151,19 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`,
}
}
},
+ syncResults: {
+ title: (provider: string) => `Sincronização com ${provider} concluída`,
+ successTitle: (provider: string) => `Conexão com ${provider} sincronizada com sucesso!`,
+ added: 'Adicionado',
+ removed: 'Removido',
+ skipped: 'Ignorado',
+ employeeCount: () => ({
+ one: '1 funcionário',
+ other: (count: number) => `${count} funcionários`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Resultados da sincronização com Gusto',
- successTitle: 'Sua conexão com o Gusto foi sincronizada com sucesso!',
- added: 'Adicionado',
- removed: 'Removido',
- skipped: 'Ignorado',
- employeeCount: () => ({
- one: '1 funcionário',
- other: (count: number) => `${count} funcionários`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 3c9e8607e50e..e27cc801569b 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -6968,19 +6968,19 @@ ${reportName}
}
}
},
+ syncResults: {
+ title: (provider: string) => `${provider} 同步完成`,
+ successTitle: (provider: string) => `已成功同步您的 ${provider} 连接!`,
+ added: '已添加',
+ removed: '已移除',
+ skipped: '已跳过',
+ employeeCount: () => ({
+ one: '1 员工',
+ other: (count: number) => `${count} 员工`,
+ }),
+ },
gusto: {
title: 'Gusto',
- syncResults: {
- title: 'Gusto 同步结果',
- successTitle: '已成功同步你的 Gusto 连接!',
- added: '已添加',
- removed: '已移除',
- skipped: '已跳过',
- employeeCount: () => ({
- one: '1 员工',
- other: (count: number) => `${count} 员工`,
- }),
- },
},
zenefits: {
title: 'TriNet',
diff --git a/src/libs/API/GustoSyncResult.ts b/src/libs/API/GustoSyncResult.ts
deleted file mode 100644
index 79c497f0fcc9..000000000000
--- a/src/libs/API/GustoSyncResult.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-type GustoSyncSkippedEmployee = {
- name: string;
- id: string;
- reason: string;
-};
-
-type GustoSyncResult = {
- addedEmployeesCount?: number;
- removedEmployeesCount?: number;
- skippedEmployees?: GustoSyncSkippedEmployee[];
-};
-
-export type {GustoSyncResult, GustoSyncSkippedEmployee};
diff --git a/src/libs/API/HrSyncResult.ts b/src/libs/API/HrSyncResult.ts
new file mode 100644
index 000000000000..3795653ea647
--- /dev/null
+++ b/src/libs/API/HrSyncResult.ts
@@ -0,0 +1,23 @@
+type HrSyncSkippedEmployee = {
+ /** Full name of the employee */
+ name: string;
+
+ /** Unique identifier of the employee */
+ id: string;
+
+ /** Human-readable explanation of why the employee was skipped */
+ reason: string;
+};
+
+type HrSyncResult = {
+ /** Number of employees added during the sync */
+ addedEmployeesCount?: number;
+
+ /** Number of employees removed during the sync */
+ removedEmployeesCount?: number;
+
+ /** Employees that were skipped during the sync */
+ skippedEmployees?: HrSyncSkippedEmployee[];
+};
+
+export type {HrSyncResult, HrSyncSkippedEmployee};
diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx
index d5fea3a0ad46..a961812e6f75 100644
--- a/src/pages/workspace/WorkspaceMembersPage.tsx
+++ b/src/pages/workspace/WorkspaceMembersPage.tsx
@@ -28,7 +28,7 @@ import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'
import useDebouncedAccessibilityAnnouncement from '@hooks/useDebouncedAccessibilityAnnouncement';
import useDebouncedValue from '@hooks/useDebouncedValue';
import useFilteredSelection from '@hooks/useFilteredSelection';
-import useGustoSyncResultsModal from '@hooks/useGustoSyncResultsModal';
+import useHRSyncResultsModal from '@hooks/useHRSyncResultsModal';
import {useMemoizedLazyExpensifyIcons, useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
import useLocalize from '@hooks/useLocalize';
import useMobileSelectionMode from '@hooks/useMobileSelectionMode';
@@ -617,7 +617,7 @@ function WorkspaceMembersPage({personalDetails, route, policy}: WorkspaceMembers
clearInviteDraft(route.params.policyID);
}, [invitedEmailsToAccountIDsDraft, isFocused, accountIDs, prevAccountIDs, route.params.policyID]);
- useGustoSyncResultsModal(policyID, connectionSyncProgress, isFocused);
+ useHRSyncResultsModal(policyID, connectionSyncProgress, isFocused);
const headerMessage = useMemo(() => {
if (isOfflineAndNoMemberDataAvailable) {
diff --git a/src/pages/workspace/hr/WorkspaceHRPage.tsx b/src/pages/workspace/hr/WorkspaceHRPage.tsx
index 41f750e55eca..55924cd2c35c 100644
--- a/src/pages/workspace/hr/WorkspaceHRPage.tsx
+++ b/src/pages/workspace/hr/WorkspaceHRPage.tsx
@@ -8,7 +8,7 @@ import ScreenWrapper from '@components/ScreenWrapper';
import ScrollView from '@components/ScrollView';
import Section from '@components/Section';
import Text from '@components/Text';
-import useGustoSyncResultsModal from '@hooks/useGustoSyncResultsModal';
+import useHRSyncResultsModal from '@hooks/useHRSyncResultsModal';
import {useMemoizedLazyExpensifyIcons, useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
import useLocalize from '@hooks/useLocalize';
import useNetwork from '@hooks/useNetwork';
@@ -58,7 +58,7 @@ function WorkspaceHRPage({
openPolicyHRPage(policyID);
}, [policyID]);
- useGustoSyncResultsModal(policyID, connectionSyncProgress, isFocused);
+ useHRSyncResultsModal(policyID, connectionSyncProgress, isFocused);
const cards = getHRCards({
policy,
diff --git a/src/types/onyx/Policy.ts b/src/types/onyx/Policy.ts
index cae582bc766f..6bfe2f4ba067 100644
--- a/src/types/onyx/Policy.ts
+++ b/src/types/onyx/Policy.ts
@@ -1,6 +1,6 @@
import type {CONST as COMMON_CONST} from 'expensify-common';
import type {ValueOf} from 'type-fest';
-import type {GustoSyncResult} from '@libs/API/GustoSyncResult';
+import type {HrSyncResult} from '@libs/API/HrSyncResult';
import type CONST from '@src/CONST';
import type {Country} from '@src/CONST';
import type {MergeHRProviderSlug} from '@src/CONST/MERGE_HR_PROVIDERS';
@@ -2372,7 +2372,7 @@ type PolicyConnectionSyncProgress = {
timestamp: string;
/** Optional result payload shown after a completed sync */
- result?: GustoSyncResult;
+ result?: HrSyncResult;
};
export default Policy;