diff --git a/web/src/cde-gitness/pages/GitspaceListing/GitspaceListing.tsx b/web/src/cde-gitness/pages/GitspaceListing/GitspaceListing.tsx index 517a006f2..9aaf4dc2b 100644 --- a/web/src/cde-gitness/pages/GitspaceListing/GitspaceListing.tsx +++ b/web/src/cde-gitness/pages/GitspaceListing/GitspaceListing.tsx @@ -92,7 +92,6 @@ const GitspaceListing = () => { } const [pageConfig, setPageConfig] = useState(pageInit) const [filter, setFilter] = useState(filterInit) - const [hasFilter, setHasFilter] = useState(!!(pageBrowser.gitspace_states || pageBrowser.gitspace_owner)) const sortInit: sortProps = { sort: (pageBrowser.sort as EnumGitspaceSort) ?? SortByType.LAST_USED, order: 'desc' } const [sortConfig, setSortConfig] = useState(sortInit) @@ -108,10 +107,14 @@ const GitspaceListing = () => { function useParsePaginationInfo(responseData: Nullable) { const totalData = useMemo(() => parseInt(responseData?.headers?.get('x-total') || '0'), [responseData]) const totalPages = useMemo(() => parseInt(responseData?.headers?.get('x-total-pages') || '0'), [responseData]) + const gitspaceExists = useMemo( + () => !!parseInt(responseData?.headers?.get('x-total-no-filters') || '0'), + [responseData] + ) - return { totalItems: totalData, totalPages } + return { totalItems: totalData, totalPages, gitspaceExists } } - const { totalItems, totalPages } = useParsePaginationInfo(response) + const { totalItems, totalPages, gitspaceExists } = useParsePaginationInfo(response) const handleFilterChange = (key: string, value: any) => { const payload: any = { ...filter } @@ -122,9 +125,6 @@ const GitspaceListing = () => { } else if (Array.isArray(value)) { updateQueryParams({ [key]: value?.toString() }) } - if (payload.gitspace_states?.length || payload.gitspace_owner) { - setHasFilter(true) - } } const handleSort = (key: string, value: string) => { @@ -149,7 +149,7 @@ const GitspaceListing = () => { return ( <> - {((data && data?.length !== 0) || hasFilter) && ( + {((data && data?.length !== 0) || gitspaceExists) && ( <> { )} )} - + - {data && data?.length === 0 && !hasFilter ? ( + {data && data?.length === 0 && !gitspaceExists ? ( ) : ( { ) : null } noData={{ - when: () => data?.length === 0 && !hasFilter, + when: () => data?.length === 0 && !gitspaceExists, image: noSpace, message: getString('cde.noGitspaces') }}> - {(data?.length || hasFilter) && ( + {(data?.length || gitspaceExists) && ( <> {getString('cde.total')}: {totalItems} handlePagination('page', pageNumber + 1)} onPageSizeChange={(newSize: number) => handlePagination('limit', newSize)} diff --git a/web/src/images/graduation-hat.svg b/web/src/images/graduation-hat.svg index 872f97132..510e0ee78 100644 --- a/web/src/images/graduation-hat.svg +++ b/web/src/images/graduation-hat.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file