diff --git a/changes/29822-self-service-loading-error-state b/changes/29822-self-service-loading-error-state new file mode 100644 index 0000000000..9fcc6a7b0b --- /dev/null +++ b/changes/29822-self-service-loading-error-state @@ -0,0 +1 @@ +- Fleet UI: Improved error and loading state for self-service page diff --git a/frontend/pages/hosts/details/cards/Software/SelfService/SelfService.tsx b/frontend/pages/hosts/details/cards/Software/SelfService/SelfService.tsx index 6b3c93b006..88869cf0f7 100644 --- a/frontend/pages/hosts/details/cards/Software/SelfService/SelfService.tsx +++ b/frontend/pages/hosts/details/cards/Software/SelfService/SelfService.tsx @@ -357,51 +357,15 @@ const SoftwareSelfService = ({ return ; // Only shown on DeviceUserPage not HostDetailsPage } - if (isEmpty || !selfServiceData) { + // No self-service software available hides categories menu and header filters + if ((isEmpty || !selfServiceData) && !isFetching) { return ( <> - {renderHeaderFilters()} -
- {renderCategoriesMenu()} - -
- - ); - } - - if (isFetching) { - return ( - <> - {renderHeaderFilters()} -
- {renderCategoriesMenu()} - -
- - ); - } - - if (isEmptySearch) { - return ( - <> - {renderHeaderFilters()} -
- {renderCategoriesMenu()} - - Not finding what you're looking for?{" "} - - - } - /> -
+ ); } @@ -417,7 +381,7 @@ const SoftwareSelfService = ({ selfServiceData?.software || [], queryParams.category_id )} - isLoading={isLoading} + isLoading={isFetching} defaultSortHeader={DEFAULT_SELF_SERVICE_QUERY_PARAMS.order_key} defaultSortDirection={ DEFAULT_SELF_SERVICE_QUERY_PARAMS.order_direction @@ -425,9 +389,26 @@ const SoftwareSelfService = ({ pageIndex={0} disableNextPage={selfServiceData?.meta.has_next_results === false} pageSize={DEFAULT_SELF_SERVICE_QUERY_PARAMS.per_page} - emptyComponent={() => ( - - )} + emptyComponent={() => { + return isEmptySearch ? ( + + Not finding what you're looking for?{" "} + + + } + /> + ) : ( + + ); + }} showMarkAllPages={false} isAllPagesSelected={false} searchable={false} @@ -437,11 +418,11 @@ const SoftwareSelfService = ({