Skip to content

Commit 525005c

Browse files
MelvinBotsuneox
andcommitted
Use canUsePrivateNotes pattern instead of beta flag
Replace isBetaEnabled(CONST.BETAS.PRIVATE_NOTES) with a Permissions.canUsePrivateNotes() function that returns false, following the same pattern as canUseLinkPreviews. This avoids needing a backend beta configuration. Co-authored-by: Cong Pham <suneox@users.noreply.github.com>
1 parent 6b54e15 commit 525005c

4 files changed

Lines changed: 15 additions & 14 deletions

File tree

src/CONST/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -887,7 +887,6 @@ const CONST = {
887887
BULK_EDIT: 'bulkEdit',
888888
NEW_MANUAL_EXPENSE_FLOW: 'newManualExpenseFlow',
889889
BULK_SUBMIT_APPROVE_PAY: 'bulkSubmitApprovePay',
890-
PRIVATE_NOTES: 'privateNotes',
891890
},
892891
BUTTON_STATES: {
893892
DEFAULT: 'default',

src/libs/Permissions.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,16 @@ function canUseTrackFlows(): boolean {
3535
return false;
3636
}
3737

38+
/**
39+
* Private notes are temporarily disabled.
40+
*/
41+
function canUsePrivateNotes(): boolean {
42+
return false;
43+
}
44+
3845
export default {
3946
canUseLinkPreviews,
4047
canUseTrackFlows,
48+
canUsePrivateNotes,
4149
isBetaEnabled,
4250
};

src/pages/ProfilePage.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'
2121
import {useMemoizedLazyExpensifyIcons} from '@hooks/useLazyAsset';
2222
import useLocalize from '@hooks/useLocalize';
2323
import useOnyx from '@hooks/useOnyx';
24-
import usePermissions from '@hooks/usePermissions';
2524
import useThemeStyles from '@hooks/useThemeStyles';
2625
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
2726
import Navigation from '@libs/Navigation/Navigation';
2827
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
28+
import Permissions from '@libs/Permissions';
2929
import {getDisplayNameOrDefault, getPhoneNumber} from '@libs/PersonalDetailsUtils';
3030
import {
3131
findSelfDMReportID,
@@ -91,7 +91,6 @@ function ProfilePage({route}: ProfilePageProps) {
9191

9292
const styles = useThemeStyles();
9393
const {translate, formatPhoneNumber} = useLocalize();
94-
const {isBetaEnabled} = usePermissions();
9594

9695
const isValidAccountID = isValidAccountRoute(accountID);
9796
const loginParams = route.params?.login;
@@ -268,7 +267,7 @@ function ProfilePage({route}: ProfilePageProps) {
268267
}}
269268
/>
270269
)}
271-
{isBetaEnabled(CONST.BETAS.PRIVATE_NOTES) && !isEmptyObject(report) && !!report.reportID && !isCurrentUser && (
270+
{Permissions.canUsePrivateNotes() && !isEmptyObject(report) && !!report.reportID && !isCurrentUser && (
272271
<MenuItem
273272
title={`${translate('privateNotes.title')}`}
274273
titleStyle={styles.flex1}

src/pages/ReportDetailsPage.tsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import useNetwork from '@hooks/useNetwork';
3838
import useOnyx from '@hooks/useOnyx';
3939
import usePaginatedReportActions from '@hooks/usePaginatedReportActions';
4040
import useParentReportAction from '@hooks/useParentReportAction';
41-
import usePermissions from '@hooks/usePermissions';
4241
import usePreferredPolicy from '@hooks/usePreferredPolicy';
4342
import useReportAttributes from '@hooks/useReportAttributes';
4443
import useReportIsArchived from '@hooks/useReportIsArchived';
@@ -163,7 +162,6 @@ type CaseID = ValueOf<typeof CASES>;
163162
function ReportDetailsPage({policy, report, route, reportMetadata}: ReportDetailsPageProps) {
164163
const {translate, localeCompare, formatPhoneNumber} = useLocalize();
165164
const {isOffline} = useNetwork();
166-
const {isBetaEnabled} = usePermissions();
167165
const {isRestrictedToPreferredPolicy, preferredPolicyID} = usePreferredPolicy();
168166
const activePolicy = useActivePolicy();
169167
const styles = useThemeStyles();
@@ -325,16 +323,14 @@ function ReportDetailsPage({policy, report, route, reportMetadata}: ReportDetail
325323
const reportAttributes = useReportAttributes();
326324
const isWorkspaceChat = useMemo(() => isWorkspaceChatUtil(report?.chatType ?? ''), [report?.chatType]);
327325

328-
const isPrivateNotesEnabled = isBetaEnabled(CONST.BETAS.PRIVATE_NOTES);
329-
330326
useEffect(() => {
331-
// Do not fetch private notes if the beta is disabled, isLoadingPrivateNotes is already defined, the network is offline, or if the report is a self DM.
332-
if (!isPrivateNotesEnabled || isPrivateNotesFetchTriggered || isOffline || isSelfDM) {
327+
// Do not fetch private notes if the feature is disabled, isLoadingPrivateNotes is already defined, the network is offline, or if the report is a self DM.
328+
if (!Permissions.canUsePrivateNotes() || isPrivateNotesFetchTriggered || isOffline || isSelfDM) {
333329
return;
334330
}
335331

336332
getReportPrivateNote(report?.reportID);
337-
}, [report?.reportID, isOffline, isPrivateNotesFetchTriggered, isSelfDM, isPrivateNotesEnabled]);
333+
}, [report?.reportID, isOffline, isPrivateNotesFetchTriggered, isSelfDM]);
338334

339335
const leaveChat = useCallback(() => {
340336
if (isRootGroupChat) {
@@ -530,8 +526,8 @@ function ReportDetailsPage({policy, report, route, reportMetadata}: ReportDetail
530526
}
531527
}
532528

533-
// Prevent displaying private notes option for threads and task reports, or when the beta is disabled
534-
if (isBetaEnabled(CONST.BETAS.PRIVATE_NOTES) && !isChatThread && !isMoneyRequestReport && !isInvoiceReport && !isTaskReport) {
529+
// Prevent displaying private notes option for threads and task reports, or when the feature is disabled
530+
if (Permissions.canUsePrivateNotes() && !isChatThread && !isMoneyRequestReport && !isInvoiceReport && !isTaskReport) {
535531
items.push({
536532
key: CONST.REPORT_DETAILS_MENU_ITEM.PRIVATE_NOTES,
537533
translationKey: 'privateNotes.title',
@@ -655,7 +651,6 @@ function ReportDetailsPage({policy, report, route, reportMetadata}: ReportDetail
655651
ownerBillingGracePeriodEnd,
656652
iouTransaction,
657653
delegateEmail,
658-
isBetaEnabled,
659654
]);
660655

661656
const displayNamesWithTooltips = useMemo(() => {

0 commit comments

Comments
 (0)