import React from 'react' import { Container, FlexExpander, Layout, PageBody } from '@harness/uicore' import { useHistory } from 'react-router-dom' import { useGet } from 'restful-react' import { useGetRepositoryMetadata } from 'hooks/useGetRepositoryMetadata' import { useAppContext } from 'AppContext' import { usePageIndex } from 'hooks/usePageIndex' import type { TypesCommit } from 'services/code' import { voidFn, getErrorMessage, LIST_FETCHING_LIMIT } from 'utils/Utils' import { useStrings } from 'framework/strings' import { RepositoryPageHeader } from 'components/RepositoryPageHeader/RepositoryPageHeader' import { LoadingSpinner } from 'components/LoadingSpinner/LoadingSpinner' import { ResourceListingPagination } from 'components/ResourceListingPagination/ResourceListingPagination' import { BranchTagSelect } from 'components/BranchTagSelect/BranchTagSelect' import { CommitsView } from 'components/CommitsView/CommitsView' import css from './RepositoryCommits.module.scss' export default function RepositoryCommits() { const { repoMetadata, error, loading, commitRef, refetch } = useGetRepositoryMetadata() const { routes } = useAppContext() const history = useHistory() const { getString } = useStrings() const [page, setPage] = usePageIndex() const { data: commits, response, error: errorCommits, loading: loadingCommits } = useGet({ path: `/api/v1/repos/${repoMetadata?.path}/+/commits`, queryParams: { limit: LIST_FETCHING_LIMIT, page, git_ref: commitRef || repoMetadata?.default_branch }, lazy: !repoMetadata }) return ( {(repoMetadata && !!commits?.length && ( { setPage(1) history.push( routes.toCODECommits({ repoPath: repoMetadata.path as string, commitRef: ref }) ) }} /> )) || null} ) }