@@ -35,6 +35,7 @@ import ROUTES from '@src/ROUTES';
35
35
import type SCREENS from '@src/SCREENS' ;
36
36
import type { Icon } from '@src/types/onyx/OnyxCommon' ;
37
37
import { isEmptyObject } from '@src/types/utils/EmptyObject' ;
38
+ import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue' ;
38
39
39
40
type WorkspaceWorkflowsApprovalsApproverPageProps = WithPolicyAndFullscreenLoadingProps &
40
41
PlatformStackScreenProps < WorkspaceSplitNavigatorParamList , typeof SCREENS . WORKSPACE . WORKFLOWS_APPROVALS_APPROVER > ;
@@ -54,7 +55,8 @@ function WorkspaceWorkflowsApprovalsApproverPage({policy, personalDetails, isLoa
54
55
const styles = useThemeStyles ( ) ;
55
56
const { translate} = useLocalize ( ) ;
56
57
const [ searchTerm , debouncedSearchTerm , setSearchTerm ] = useDebouncedState ( '' ) ;
57
- const [ approvalWorkflow ] = useOnyx ( ONYXKEYS . APPROVAL_WORKFLOW ) ;
58
+ const [ approvalWorkflow , approvalWorkflowMetadata ] = useOnyx ( ONYXKEYS . APPROVAL_WORKFLOW , { canBeMissing : true } ) ;
59
+ const isApprovalWorkflowLoading = isLoadingOnyxValue ( approvalWorkflowMetadata ) ;
58
60
const [ selectedApproverEmail , setSelectedApproverEmail ] = useState < string | undefined > ( undefined ) ;
59
61
const [ allApprovers , setAllApprovers ] = useState < SelectionListApprover [ ] > ( [ ] ) ;
60
62
const shouldShowTextInput = allApprovers ?. length >= CONST . STANDARD_LIST_ITEM_LIMIT ;
@@ -83,6 +85,10 @@ function WorkspaceWorkflowsApprovalsApproverPage({policy, personalDetails, isLoa
83
85
const sections : ApproverSection [ ] = useMemo ( ( ) => {
84
86
const approvers : SelectionListApprover [ ] = [ ] ;
85
87
88
+ if ( isApprovalWorkflowLoading ) {
89
+ return [ ] ;
90
+ }
91
+
86
92
if ( employeeList ) {
87
93
const availableApprovers = Object . values ( employeeList )
88
94
. map ( ( employee ) : SelectionListApprover | null => {
@@ -147,6 +153,7 @@ function WorkspaceWorkflowsApprovalsApproverPage({policy, personalDetails, isLoa
147
153
} ,
148
154
] ;
149
155
} , [
156
+ isApprovalWorkflowLoading ,
150
157
approversFromWorkflow ,
151
158
isDefault ,
152
159
approverIndex ,
@@ -160,7 +167,7 @@ function WorkspaceWorkflowsApprovalsApproverPage({policy, personalDetails, isLoa
160
167
translate ,
161
168
] ) ;
162
169
163
- const shouldShowListEmptyContent = ! debouncedSearchTerm && approvalWorkflow && ! sections . at ( 0 ) ?. data . length ;
170
+ const shouldShowListEmptyContent = ! debouncedSearchTerm && ! ! approvalWorkflow && ! sections . at ( 0 ) ?. data . length && ! isApprovalWorkflowLoading ;
164
171
165
172
const goBack = useCallback ( ( ) => {
166
173
let backTo ;
0 commit comments