diff --git a/projects/packages/forms/changelog/optimize-inbox-loading-state b/projects/packages/forms/changelog/optimize-inbox-loading-state new file mode 100644 index 0000000000000..e4435bc9b61dd --- /dev/null +++ b/projects/packages/forms/changelog/optimize-inbox-loading-state @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Forms: improve loading state to show spinner immediately when data hasn't loaded. diff --git a/projects/packages/forms/src/dashboard/hooks/use-inbox-data.ts b/projects/packages/forms/src/dashboard/hooks/use-inbox-data.ts index 4e821d57204bc..6d85c5636ee36 100644 --- a/projects/packages/forms/src/dashboard/hooks/use-inbox-data.ts +++ b/projects/packages/forms/src/dashboard/hooks/use-inbox-data.ts @@ -82,7 +82,7 @@ export default function useInboxData(): UseInboxDataReturn { const { records: rawRecords, - isResolving: isLoadingRecordsData, + hasResolved, totalItems, totalPages, } = useEntityRecords( 'postType', 'feedback', { @@ -131,12 +131,14 @@ export default function useInboxData(): UseInboxDataReturn { [ countsQueryParams ] ); + const isLoadingData = ! rawRecords?.length && ! hasResolved; + return { totalItemsInbox, totalItemsSpam, totalItemsTrash, records, - isLoadingData: isLoadingRecordsData, + isLoadingData, totalItems, totalPages, selectedResponsesCount,