Skip to content

Commit

Permalink
Merge pull request Expensify#56843 from s77rt/nsqs-paymentaccount
Browse files Browse the repository at this point in the history
[NoQA] NSQS Payment Account
  • Loading branch information
yuwenmemon authored Feb 21, 2025
2 parents e0e1529 + 081b272 commit 1751b66
Show file tree
Hide file tree
Showing 23 changed files with 100 additions and 107 deletions.
2 changes: 1 addition & 1 deletion src/CONST.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2231,7 +2231,7 @@ const CONST = {
},
EXPORTER: 'exporter',
EXPORT_DATE: 'exportDate',
APPROVAL_ACCOUNT: 'approvalAccount',
PAYMENT_ACCOUNT: 'paymentAccount',
},

QUICKBOOKS_EXPORT_DATE: {
Expand Down
8 changes: 4 additions & 4 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2013,14 +2013,14 @@ const ROUTES = {
route: 'settings/workspaces/:policyID/accounting/nsqs/export/date',
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/nsqs/export/date` as const,
},
POLICY_ACCOUNTING_NSQS_EXPORT_PAYMENT_ACCOUNT: {
route: 'settings/workspaces/:policyID/accounting/nsqs/export/payment-account',
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/nsqs/export/payment-account` as const,
},
POLICY_ACCOUNTING_NSQS_ADVANCED: {
route: 'settings/workspaces/:policyID/accounting/nsqs/advanced',
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/nsqs/advanced` as const,
},
POLICY_ACCOUNTING_NSQS_ADVANCED_APPROVAL_ACCOUNT: {
route: 'settings/workspaces/:policyID/accounting/nsqs/advanced/approval-account',
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/nsqs/advanced/approval-account` as const,
},
POLICY_ACCOUNTING_SAGE_INTACCT_PREREQUISITES: {
route: 'settings/workspaces/:policyID/accounting/sage-intacct/prerequisites',
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/sage-intacct/prerequisites` as const,
Expand Down
2 changes: 1 addition & 1 deletion src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -440,8 +440,8 @@ const SCREENS = {
NSQS_EXPORT: 'Policy_Accounting_NSQS_Export',
NSQS_EXPORT_PREFERRED_EXPORTER: 'Policy_Accounting_NSQS_Export_Preferred_Exporter',
NSQS_EXPORT_DATE: 'Policy_Accounting_NSQS_Export_Date',
NSQS_EXPORT_PAYMENT_ACCOUNT: 'Policy_Accounting_NSQS_Export_Payment_Account',
NSQS_ADVANCED: 'Policy_Accounting_NSQS_Advanced',
NSQS_ADVANCED_APPROVAL_ACCOUNT: 'Policy_Accounting_NSQS_Advanced_Approval_Account',
SAGE_INTACCT_PREREQUISITES: 'Policy_Accounting_Sage_Intacct_Prerequisites',
ENTER_SAGE_INTACCT_CREDENTIALS: 'Policy_Enter_Sage_Intacct_Credentials',
EXISTING_SAGE_INTACCT_CONNECTIONS: 'Policy_Existing_Sage_Intacct_Connections',
Expand Down
7 changes: 3 additions & 4 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3469,13 +3469,12 @@ const translations = {
expense: 'Expense',
reimbursableExpenses: 'Export reimbursable expenses as',
nonReimbursableExpenses: 'Export non-reimbursable expenses as',
defaultPaymentAccount: 'NSQS default',
paymentAccount: 'Payment account',
paymentAccountDescription: 'Choose the account that will be used as the payment account for transactions NSQS.',
},
advanced: {
autoSyncDescription: 'Sync NSQS and Expensify automatically, every day. Export finalized report in realtime',
defaultApprovalAccount: 'NSQS default',
approvalAccount: 'A/P approval account',
approvalAccountDescription:
'Choose the account that transactions will be approved against in NSQS. If you’re syncing reimbursed reports, this is also the account that bill payments will be created against.',
},
},
intacct: {
Expand Down
7 changes: 3 additions & 4 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3508,13 +3508,12 @@ const translations = {
expense: 'Gasto',
reimbursableExpenses: 'Exportar gastos reembolsables como',
nonReimbursableExpenses: 'Exportar gastos no reembolsables como',
defaultPaymentAccount: 'Preferencia predeterminada de NSQS',
paymentAccount: 'Cuenta de pago',
paymentAccountDescription: 'Elige la cuenta que se utilizará como cuenta de pago para las transacciones NSQS.',
},
advanced: {
autoSyncDescription: 'Sincroniza NSQS y Expensify automáticamente, todos los días. Exporta el informe finalizado en tiempo real',
defaultApprovalAccount: 'Preferencia predeterminada de NSQS',
approvalAccount: 'Cuenta de aprobación de cuentas por pagar',
approvalAccountDescription:
'Elija la cuenta con la que se aprobarán las transacciones en NSQS. Si está sincronizando informes reembolsados, esta es también la cuenta con la que se crearán los pagos de facturas.',
},
},
intacct: {
Expand Down
6 changes: 0 additions & 6 deletions src/libs/API/parameters/UpdateNSQSApprovalAccountParams.ts

This file was deleted.

6 changes: 6 additions & 0 deletions src/libs/API/parameters/UpdateNSQSPaymentAccountParams.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
type UpdateNSQSPaymentAccountParams = {
policyID: string;
value: string;
};

export default UpdateNSQSPaymentAccountParams;
2 changes: 1 addition & 1 deletion src/libs/API/parameters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ export type {default as UpdateNSQSProjectsMappingParams} from './UpdateNSQSProje
export type {default as UpdateNSQSExporterParams} from './UpdateNSQSExporterParams';
export type {default as UpdateNSQSExportDateParams} from './UpdateNSQSExportDateParams';
export type {default as UpdateNSQSAutoSyncParams} from './UpdateNSQSAutoSyncParams';
export type {default as UpdateNSQSApprovalAccountParams} from './UpdateNSQSApprovalAccountParams';
export type {default as UpdateNSQSPaymentAccountParams} from './UpdateNSQSPaymentAccountParams';
export type {default as UpdateSageIntacctGenericTypeParams} from './UpdateSageIntacctGenericTypeParams';
export type {default as UpdateNetSuiteCustomersJobsParams} from './UpdateNetSuiteCustomersJobsParams';
export type {default as CopyExistingPolicyConnectionParams} from './CopyExistingPolicyConnectionParams';
Expand Down
4 changes: 2 additions & 2 deletions src/libs/API/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ const WRITE_COMMANDS = {
UPDATE_NSQS_EXPORTER: 'UpdateNSQSExporter',
UPDATE_NSQS_EXPORT_DATE: 'UpdateNSQSExportDate',
UPDATE_NSQS_AUTO_SYNC: 'UpdateNSQSAutoSync',
UPDATE_NSQS_APPROVAL_ACCOUNT: 'UpdateNSQSApprovalAccount',
UPDATE_NSQS_PAYMENT_ACCOUNT: 'UpdateNSQSPaymentAccount',
REQUEST_EXPENSIFY_CARD_LIMIT_INCREASE: 'RequestExpensifyCardLimitIncrease',
CONNECT_POLICY_TO_SAGE_INTACCT: 'ConnectPolicyToSageIntacct',
COPY_EXISTING_POLICY_CONNECTION: 'CopyExistingPolicyConnection',
Expand Down Expand Up @@ -876,7 +876,7 @@ type WriteCommandParameters = {
[WRITE_COMMANDS.UPDATE_NSQS_EXPORTER]: Parameters.UpdateNSQSExporterParams;
[WRITE_COMMANDS.UPDATE_NSQS_EXPORT_DATE]: Parameters.UpdateNSQSExportDateParams;
[WRITE_COMMANDS.UPDATE_NSQS_AUTO_SYNC]: Parameters.UpdateNSQSAutoSyncParams;
[WRITE_COMMANDS.UPDATE_NSQS_APPROVAL_ACCOUNT]: Parameters.UpdateNSQSApprovalAccountParams;
[WRITE_COMMANDS.UPDATE_NSQS_PAYMENT_ACCOUNT]: Parameters.UpdateNSQSPaymentAccountParams;
[WRITE_COMMANDS.UPDATE_SAGE_INTACCT_ENTITY]: Parameters.UpdateSageIntacctGenericTypeParams<'entity', string>;
[WRITE_COMMANDS.UPDATE_SAGE_INTACCT_BILLABLE]: Parameters.UpdateSageIntacctGenericTypeParams<'enabled', boolean>;
[WRITE_COMMANDS.UPDATE_SAGE_INTACCT_DEPARTMENT_MAPPING]: Parameters.UpdateSageIntacctGenericTypeParams<'mapping', SageIntacctMappingValue>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,9 +507,8 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_PREFERRED_EXPORTER]: () =>
require<ReactComponentModule>('../../../../pages/workspace/accounting/nsqs/export/NSQSPreferredExporterPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_DATE]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/nsqs/export/NSQSDatePage').default,
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_PAYMENT_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/nsqs/export/NSQSPaymentAccountPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/nsqs/advanced/NSQSAdvancedPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED_APPROVAL_ACCOUNT]: () =>
require<ReactComponentModule>('../../../../pages/workspace/accounting/nsqs/advanced/NSQSApprovalAccountPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_PREREQUISITES]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/intacct/SageIntacctPrerequisitesPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.ENTER_SAGE_INTACCT_CREDENTIALS]: () =>
require<ReactComponentModule>('../../../../pages/workspace/accounting/intacct/EnterSageIntacctCredentialsPage').default,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,8 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT,
SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_PREFERRED_EXPORTER,
SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_DATE,
SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_PAYMENT_ACCOUNT,
SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED,
SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED_APPROVAL_ACCOUNT,
SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_PREREQUISITES,
SCREENS.WORKSPACE.ACCOUNTING.ENTER_SAGE_INTACCT_CREDENTIALS,
SCREENS.WORKSPACE.ACCOUNTING.EXISTING_SAGE_INTACCT_CONNECTIONS,
Expand Down
6 changes: 3 additions & 3 deletions src/libs/Navigation/linkingConfig/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -526,12 +526,12 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_DATE]: {
path: ROUTES.POLICY_ACCOUNTING_NSQS_EXPORT_DATE.route,
},
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_PAYMENT_ACCOUNT]: {
path: ROUTES.POLICY_ACCOUNTING_NSQS_EXPORT_PAYMENT_ACCOUNT.route,
},
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED]: {
path: ROUTES.POLICY_ACCOUNTING_NSQS_ADVANCED.route,
},
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED_APPROVAL_ACCOUNT]: {
path: ROUTES.POLICY_ACCOUNTING_NSQS_ADVANCED_APPROVAL_ACCOUNT.route,
},
[SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_PREREQUISITES]: {path: ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_PREREQUISITES.route},
[SCREENS.WORKSPACE.ACCOUNTING.ENTER_SAGE_INTACCT_CREDENTIALS]: {path: ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_ENTER_CREDENTIALS.route},
[SCREENS.WORKSPACE.ACCOUNTING.EXISTING_SAGE_INTACCT_CONNECTIONS]: {path: ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_EXISTING_CONNECTIONS.route},
Expand Down
4 changes: 2 additions & 2 deletions src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -683,10 +683,10 @@ type SettingsNavigatorParamList = {
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_DATE]: {
policyID: string;
};
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED]: {
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_EXPORT_PAYMENT_ACCOUNT]: {
policyID: string;
};
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED_APPROVAL_ACCOUNT]: {
[SCREENS.WORKSPACE.ACCOUNTING.NSQS_ADVANCED]: {
policyID: string;
};
[SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_IMPORT]: {
Expand Down
8 changes: 4 additions & 4 deletions src/libs/actions/connections/NSQS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -173,15 +173,15 @@ function updateNSQSAutoSync(policyID: string, enabled: boolean) {
API.write(WRITE_COMMANDS.UPDATE_NSQS_AUTO_SYNC, params, onyxData);
}

function updateNSQSApprovalAccount(policyID: string, value: string, oldValue: string) {
const onyxData = buildOnyxDataForNSQSConfiguration(policyID, 'approvalAccount', value, oldValue, CONST.NSQS_CONFIG.APPROVAL_ACCOUNT);
function updateNSQSPaymentAccount(policyID: string, value: string, oldValue: string) {
const onyxData = buildOnyxDataForNSQSConfiguration(policyID, 'paymentAccount', value, oldValue, CONST.NSQS_CONFIG.PAYMENT_ACCOUNT);

const params = {
policyID,
value,
};

API.write(WRITE_COMMANDS.UPDATE_NSQS_APPROVAL_ACCOUNT, params, onyxData);
API.write(WRITE_COMMANDS.UPDATE_NSQS_PAYMENT_ACCOUNT, params, onyxData);
}

export {connectPolicyToNSQS, updateNSQSCustomersMapping, updateNSQSProjectsMapping, updateNSQSExporter, updateNSQSExportDate, updateNSQSAutoSync, updateNSQSApprovalAccount};
export {connectPolicyToNSQS, updateNSQSCustomersMapping, updateNSQSProjectsMapping, updateNSQSExporter, updateNSQSExportDate, updateNSQSAutoSync, updateNSQSPaymentAccount};
34 changes: 2 additions & 32 deletions src/pages/workspace/accounting/nsqs/advanced/NSQSAdvancedPage.tsx
Original file line number Diff line number Diff line change
@@ -1,43 +1,23 @@
import React, {useCallback, useMemo} from 'react';
import React, {useCallback} from 'react';
import {View} from 'react-native';
import ConnectionLayout from '@components/ConnectionLayout';
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
import OfflineWithFeedback from '@components/OfflineWithFeedback';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import {updateNSQSAutoSync} from '@libs/actions/connections/NSQS';
import {getLatestErrorField} from '@libs/ErrorUtils';
import Navigation from '@libs/Navigation/Navigation';
import {areSettingsInErrorFields, settingsPendingAction} from '@libs/PolicyUtils';
import {settingsPendingAction} from '@libs/PolicyUtils';
import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow';
import {clearNSQSErrorField} from '@userActions/Policy/Policy';
import CONST from '@src/CONST';
import ROUTES from '@src/ROUTES';
import type {NSQSPayableAccount} from '@src/types/onyx/Policy';

function NSQSAdvancedPage({policy}: WithPolicyProps) {
const {translate} = useLocalize();
const styles = useThemeStyles();
const policyID = policy?.id;
const nsqsConfig = policy?.connections?.netsuiteQuickStart?.config;
const isAutoSyncEnabled = nsqsConfig?.autoSync?.enabled ?? false;
const approvalAccount = nsqsConfig?.approvalAccount ?? '';
const nsqsData = policy?.connections?.netsuiteQuickStart?.data;
const payableAccounts: NSQSPayableAccount[] = useMemo(() => nsqsData?.payableAccounts ?? [], [nsqsData?.payableAccounts]);

const defaultApprovalAccount: NSQSPayableAccount = useMemo(
() => ({
id: '',
name: translate(`workspace.nsqs.advanced.defaultApprovalAccount`),
displayName: translate(`workspace.nsqs.advanced.defaultApprovalAccount`),
number: '',
type: '',
}),
[translate],
);
const selectedApprovalAccount = [defaultApprovalAccount, ...payableAccounts].find((account) => account.id === approvalAccount);

const toggleAutoSync = useCallback(() => {
if (!policyID) {
Expand Down Expand Up @@ -69,16 +49,6 @@ function NSQSAdvancedPage({policy}: WithPolicyProps) {
errors={getLatestErrorField(nsqsConfig, CONST.NSQS_CONFIG.AUTO_SYNC)}
onCloseError={policyID ? () => clearNSQSErrorField(policyID, CONST.NSQS_CONFIG.AUTO_SYNC) : undefined}
/>
<OfflineWithFeedback pendingAction={settingsPendingAction([CONST.NSQS_CONFIG.APPROVAL_ACCOUNT], nsqsConfig?.pendingFields)}>
<MenuItemWithTopDescription
title={selectedApprovalAccount?.displayName}
description={translate(`workspace.nsqs.advanced.approvalAccount`)}
wrapperStyle={[styles.sectionMenuItemTopDescription, styles.mt3]}
shouldShowRightIcon
onPress={policyID ? () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NSQS_ADVANCED_APPROVAL_ACCOUNT.getRoute(policyID)) : undefined}
brickRoadIndicator={areSettingsInErrorFields([CONST.NSQS_CONFIG.APPROVAL_ACCOUNT], nsqsConfig?.errorFields) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
/>
</OfflineWithFeedback>
</View>
</ConnectionLayout>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ function NSQSDatePage({policy}: WithPolicyProps) {
return (
<SelectionScreen<Option>
policyID={policyID}
accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN, CONST.POLICY.ACCESS_VARIANTS.CONTROL]}
accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN, CONST.POLICY.ACCESS_VARIANTS.PAID]}
featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED}
displayName={NSQSDatePage.displayName}
headerContent={headerContent}
Expand Down
28 changes: 27 additions & 1 deletion src/pages/workspace/accounting/nsqs/export/NSQSExportPage.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React from 'react';
import React, {useMemo} from 'react';
import {View} from 'react-native';
import ConnectionLayout from '@components/ConnectionLayout';
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
Expand All @@ -11,6 +11,7 @@ import type {WithPolicyProps} from '@pages/workspace/withPolicy';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
import CONST from '@src/CONST';
import ROUTES from '@src/ROUTES';
import type {NSQSPaymentAccount} from '@src/types/onyx/Policy';

function NSQSExportPage({policy}: WithPolicyProps) {
const {translate} = useLocalize();
Expand All @@ -20,6 +21,21 @@ function NSQSExportPage({policy}: WithPolicyProps) {
const nsqsConfig = policy?.connections?.netsuiteQuickStart?.config;
const exporter = nsqsConfig?.exporter ?? policyOwner;
const exportDate = nsqsConfig?.exportDate ?? CONST.NSQS_EXPORT_DATE.LAST_EXPENSE;
const paymentAccount = nsqsConfig?.paymentAccount ?? '';
const nsqsData = policy?.connections?.netsuiteQuickStart?.data;
const paymentAccounts: NSQSPaymentAccount[] = useMemo(() => nsqsData?.paymentAccounts ?? [], [nsqsData?.paymentAccounts]);

const defaultPaymentAccount: NSQSPaymentAccount = useMemo(
() => ({
id: '',
name: translate(`workspace.nsqs.export.defaultPaymentAccount`),
displayName: translate(`workspace.nsqs.export.defaultPaymentAccount`),
number: '',
type: '',
}),
[translate],
);
const selectedPaymentAccount = [defaultPaymentAccount, ...paymentAccounts].find((account) => account.id === paymentAccount);

return (
<ConnectionLayout
Expand Down Expand Up @@ -66,6 +82,16 @@ function NSQSExportPage({policy}: WithPolicyProps) {
description={translate('workspace.nsqs.export.nonReimbursableExpenses')}
wrapperStyle={[styles.sectionMenuItemTopDescription]}
/>
<OfflineWithFeedback pendingAction={settingsPendingAction([CONST.NSQS_CONFIG.PAYMENT_ACCOUNT], nsqsConfig?.pendingFields)}>
<MenuItemWithTopDescription
title={selectedPaymentAccount?.displayName}
description={translate(`workspace.nsqs.export.paymentAccount`)}
wrapperStyle={[styles.sectionMenuItemTopDescription]}
shouldShowRightIcon
onPress={policyID ? () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NSQS_EXPORT_PAYMENT_ACCOUNT.getRoute(policyID)) : undefined}
brickRoadIndicator={areSettingsInErrorFields([CONST.NSQS_CONFIG.PAYMENT_ACCOUNT], nsqsConfig?.errorFields) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
/>
</OfflineWithFeedback>
</ConnectionLayout>
);
}
Expand Down
Loading

0 comments on commit 1751b66

Please sign in to comment.