import React, { useCallback } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import { Chip, IconButton } from '@material-tailwind/react'; import { relativeTime } from '../../../utils/time'; import { GitRepositoryDetails } from '../../../types/project'; import { useGQLClient } from '../../../context/GQLClientContext'; interface ProjectRepoCardProps { repository: GitRepositoryDetails; } const ProjectRepoCard: React.FC = ({ repository }) => { const client = useGQLClient(); const navigate = useNavigate(); const { orgSlug } = useParams(); const createProject = useCallback(async () => { if (!repository) { return; } const { addProject } = await client.addProject(orgSlug!, { name: `${repository.owner!.login}-${repository.name}`, // TODO: Get organization id from context or URL prodBranch: repository.default_branch!, repository: repository.full_name, }); navigate(`import?projectId=${addProject.id}`); }, [client, repository]); return (
^
{repository.full_name} {repository.visibility === 'private' && ( )}

{repository.updated_at && relativeTime(repository.updated_at)}

{'>'}
); }; export default ProjectRepoCard;