import type { IssueRow, RepositoryRow } from "../../db/index.ts"; import { displayName } from "../../lib/users.ts"; import type { SessionUser } from "../../middleware/session.ts"; import { Avatar } from "../Avatar.tsx"; import { Layout } from "../layout.tsx"; import { Pagination, type PaginationInfo } from "../Pagination.tsx"; import { RepoHeader } from "../repos/RepoHeader.tsx"; import { RepoNav } from "../repos/RepoNav.tsx"; interface IssueListProps { user: SessionUser | null; repo: RepositoryRow; issues: (IssueRow & { author_username: string; author_avatar_version: number | null })[]; status: "open" | "closed" | "completed"; counts: Record; pagination: PaginationInfo; } export function IssueList({ user, repo, issues, status, counts, pagination, }: IssueListProps) { return (
{issues.length === 0 ? (

No {status} issues.

) : (
    {issues.map((issue) => (
  • {issue.title} #{issue.number}
    opened by{" "} {displayName(issue.author_username)}
  • ))}
)}
); }