import { useState } from 'react'; import { PlusIcon } from 'lucide-react'; import type { PodInput } from '@podman/shared'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from '@/components/ui/card'; import { Field, FieldGroup, FieldLabel } from '@/components/ui/field'; import { Input } from '@/components/ui/input'; import { cn } from '@/lib/utils'; export function CreatePodForm({ busy, onCreate, compact = false, }: { busy: boolean; onCreate: (input: PodInput) => Promise; compact?: boolean; }) { const [open, setOpen] = useState(compact); const [name, setName] = useState(''); const [repo, setRepo] = useState('karti-ai/podman'); const [description, setDescription] = useState(''); const [firstMember, setFirstMember] = useState(''); async function submit() { if (!name.trim()) return; try { await onCreate({ name: name.trim(), repo: repo.trim(), description: description.trim(), members: firstMember.trim() ? [firstMember.trim()] : [], }); setName(''); setDescription(''); setFirstMember(''); if (!compact) setOpen(false); } catch { /* parent owns the visible error */ } } if (!open) { return ( ); } return ( New pod Create a focused room. Name setName(e.target.value)} /> Repository setRepo(e.target.value)} /> Summary setDescription(e.target.value)} /> First member setFirstMember(e.target.value)} /> {!compact && ( )} ); }