import { useState } from 'react' import { useNavigate, Link } from 'react-router-dom' import { ArrowLeft } from 'lucide-react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Textarea } from '@/components/ui/textarea' import { Markdown } from '@/components/content/Markdown' import { useBugCreateMutation } from '@/__generated__/graphql' import { useRepo } from '@/lib/repo' // New issue form (/:repo/issues/new). Title + body with write/preview tabs. export function NewBugPage() { const navigate = useNavigate() const repo = useRepo() const [title, setTitle] = useState('') const [message, setMessage] = useState('') const [preview, setPreview] = useState(false) const [createBug, { loading, error }] = useBugCreateMutation() async function handleSubmit(e: React.FormEvent) { e.preventDefault() if (!title.trim()) return const result = await createBug({ variables: { input: { title: title.trim(), message: message.trim() } }, }) const humanId = result.data?.bugCreate.bug.humanId if (humanId) { navigate(repo ? `/${repo}/issues/${humanId}` : `/issues/${humanId}`) } } const issuesHref = repo ? `/${repo}/issues` : '/issues' return (