import { useState } from 'react' import { useParams, Link } from 'react-router-dom' import { useIssues, useCreateIssue, useCloseIssue, useReopenIssue } from '../api/queries/issues' import { cn } from '../lib/utils' import type { IssueState } from '../types/api' export default function RepoIssuesPage() { const { owner = '', repo = '' } = useParams<{ owner: string; repo: string }>() const [state, setState] = useState('open') const [showNew, setShowNew] = useState(false) const { data: issues, isLoading } = useIssues(owner, repo, state) const createIssue = useCreateIssue(owner, repo) const closeIssue = useCloseIssue(owner, repo) const reopenIssue = useReopenIssue(owner, repo) const [title, setTitle] = useState('') const [body, setBody] = useState('') const handleCreate = async (e: React.FormEvent) => { e.preventDefault() if (!title.trim()) return await createIssue.mutateAsync({ title: title.trim(), body }) setTitle(''); setBody(''); setShowNew(false) } return (
{repo} / Issues

Issues

{showNew && (

New Issue

setTitle(e.target.value)} placeholder="Title" required className="w-full border border-[var(--c-border)] rounded px-3 py-2 text-sm focus:outline-none focus:border-[var(--c-brand-focus)]" />