From f79c4fd92b73964fb6c4b8f9cef4b6723fc15129 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Tue, 2 Jul 2024 22:38:20 +0800 Subject: [PATCH 1/7] disable optimistic personal detail of newly added ws members --- src/libs/PersonalDetailsUtils.ts | 1 + src/pages/workspace/WorkspaceMembersPage.tsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/PersonalDetailsUtils.ts b/src/libs/PersonalDetailsUtils.ts index 8ba468e87ed0..8bdf0cb1d5fe 100644 --- a/src/libs/PersonalDetailsUtils.ts +++ b/src/libs/PersonalDetailsUtils.ts @@ -157,6 +157,7 @@ function getPersonalDetailsOnyxDataForOptimisticUsers(newLogins: string[], newAc login, accountID, displayName: LocalePhoneNumber.formatPhoneNumber(login), + isOptimisticPersonalDetail: true, }; /** diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index 8f1bb6ee12ba..b5fdb98150db 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -355,7 +355,7 @@ function WorkspaceMembersPage({personalDetails, invitedEmailsToAccountIDsDraft, accountID, isSelected, isDisabledCheckbox: !(isPolicyAdmin && accountID !== policy?.ownerAccountID && accountID !== session?.accountID), - isDisabled: isPolicyAdmin && (policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors)), + isDisabled: details.isOptimisticPersonalDetail || (isPolicyAdmin && (policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors))), text: formatPhoneNumber(PersonalDetailsUtils.getDisplayNameOrDefault(details)), alternateText: formatPhoneNumber(details?.login ?? ''), rightElement: roleBadge, From 63207ffa306d1da42a3fa13a9965f6fd37d926f6 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Tue, 2 Jul 2024 22:53:21 +0800 Subject: [PATCH 2/7] lint --- src/pages/workspace/WorkspaceMembersPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index b5fdb98150db..3e5b4dd3d7dd 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -355,7 +355,7 @@ function WorkspaceMembersPage({personalDetails, invitedEmailsToAccountIDsDraft, accountID, isSelected, isDisabledCheckbox: !(isPolicyAdmin && accountID !== policy?.ownerAccountID && accountID !== session?.accountID), - isDisabled: details.isOptimisticPersonalDetail || (isPolicyAdmin && (policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors))), + isDisabled: !!details.isOptimisticPersonalDetail || (isPolicyAdmin && (policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors))), text: formatPhoneNumber(PersonalDetailsUtils.getDisplayNameOrDefault(details)), alternateText: formatPhoneNumber(details?.login ?? ''), rightElement: roleBadge, From df0a29609a3e89c787f2c1f34e293bcfe1ef4d6b Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Tue, 2 Jul 2024 23:20:51 +0800 Subject: [PATCH 3/7] prettier --- src/pages/workspace/WorkspaceMembersPage.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index 3e5b4dd3d7dd..dc256575b0d0 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -355,7 +355,9 @@ function WorkspaceMembersPage({personalDetails, invitedEmailsToAccountIDsDraft, accountID, isSelected, isDisabledCheckbox: !(isPolicyAdmin && accountID !== policy?.ownerAccountID && accountID !== session?.accountID), - isDisabled: !!details.isOptimisticPersonalDetail || (isPolicyAdmin && (policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors))), + isDisabled: + !!details.isOptimisticPersonalDetail || + (isPolicyAdmin && (policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors))), text: formatPhoneNumber(PersonalDetailsUtils.getDisplayNameOrDefault(details)), alternateText: formatPhoneNumber(details?.login ?? ''), rightElement: roleBadge, From b7590693426e3bf8c2516d27d89f98ee18f8f998 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 3 Jul 2024 15:39:58 +0800 Subject: [PATCH 4/7] set default cursor for optimistic user --- src/components/SelectionList/TableListItem.tsx | 6 +++--- src/components/SelectionList/types.ts | 4 ++++ src/pages/workspace/WorkspaceMembersPage.tsx | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/SelectionList/TableListItem.tsx b/src/components/SelectionList/TableListItem.tsx index 9fc138254f8b..83bc8df36571 100644 --- a/src/components/SelectionList/TableListItem.tsx +++ b/src/components/SelectionList/TableListItem.tsx @@ -43,7 +43,7 @@ function TableListItem({ return ( ({ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing disabled={isDisabled || item.isDisabledCheckbox} onPress={handleCheckboxPress} - style={[styles.cursorUnset, StyleUtils.getCheckboxPressableStyle(), item.isDisabledCheckbox && styles.cursorDisabled, styles.mr3]} + style={[styles.cursorUnset, StyleUtils.getCheckboxPressableStyle(), item.isDisabledCheckbox && styles.cursorDisabled, styles.mr3, item.cursorStyle]} > - + {item.isSelected && ( Date: Wed, 3 Jul 2024 15:49:39 +0800 Subject: [PATCH 5/7] lint --- src/components/SelectionList/types.ts | 1 + src/pages/workspace/WorkspaceMembersPage.tsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/SelectionList/types.ts b/src/components/SelectionList/types.ts index 3bed69c639dd..b069bec27c72 100644 --- a/src/components/SelectionList/types.ts +++ b/src/components/SelectionList/types.ts @@ -1,6 +1,7 @@ import type {MutableRefObject, ReactElement, ReactNode} from 'react'; import type {GestureResponderEvent, InputModeOptions, LayoutChangeEvent, SectionListData, StyleProp, TextInput, TextStyle, ViewStyle} from 'react-native'; import type {BrickRoad} from '@libs/WorkspacesSettingsUtils'; +// eslint-disable-next-line no-restricted-imports import type CursorStyles from '@styles/utils/cursor/types'; import type CONST from '@src/CONST'; import type {Errors, Icon, PendingAction} from '@src/types/onyx/OnyxCommon'; diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index 51d79e15d816..f6000fc4aa0d 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -358,7 +358,7 @@ function WorkspaceMembersPage({personalDetails, invitedEmailsToAccountIDsDraft, isDisabled: !!details.isOptimisticPersonalDetail || (isPolicyAdmin && (policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors))), - cursorStyle: !!details.isOptimisticPersonalDetail ? styles.cursorDefault : {}, + cursorStyle: details.isOptimisticPersonalDetail ? styles.cursorDefault : {}, text: formatPhoneNumber(PersonalDetailsUtils.getDisplayNameOrDefault(details)), alternateText: formatPhoneNumber(details?.login ?? ''), rightElement: roleBadge, From 5d47d1829b85c6c334c4c846081b87de3bbdcba8 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 3 Jul 2024 15:57:16 +0800 Subject: [PATCH 6/7] add missing deps --- src/pages/workspace/WorkspaceMembersPage.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index f6000fc4aa0d..51f1eabf7a45 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -393,6 +393,7 @@ function WorkspaceMembersPage({personalDetails, invitedEmailsToAccountIDsDraft, selectedEmployees, session?.accountID, translate, + styles.cursorDefault, ]); const data = useMemo(() => getUsers(), [getUsers]); From e0992727b7666dd25c42e20b2901c0731589945d Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 3 Jul 2024 17:18:52 +0800 Subject: [PATCH 7/7] prettier --- src/components/SelectionList/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/SelectionList/types.ts b/src/components/SelectionList/types.ts index b069bec27c72..973d5714a76c 100644 --- a/src/components/SelectionList/types.ts +++ b/src/components/SelectionList/types.ts @@ -135,7 +135,7 @@ type ListItem = { tabIndex?: 0 | -1; /** The style to override the cursor appearance */ - cursorStyle?: CursorStyles[keyof CursorStyles], + cursorStyle?: CursorStyles[keyof CursorStyles]; }; type TransactionListItemType = ListItem &