import { useState, useEffect } from 'react'; import { useNavigate } from 'react-router'; import { Button, Card, FormField, Input, useToast } from '@cameleer/design-system'; import { useCreateTenant } from '../../api/vendor-hooks'; import { toSlug } from '../../utils/slug'; const TIERS = ['LOW', 'MID', 'HIGH', 'BUSINESS']; export function CreateTenantPage() { const navigate = useNavigate(); const { toast } = useToast(); const createTenant = useCreateTenant(); const [name, setName] = useState(''); const [slug, setSlug] = useState(''); const [slugTouched, setSlugTouched] = useState(false); const [tier, setTier] = useState('LOW'); useEffect(() => { if (!slugTouched) { setSlug(toSlug(name)); } }, [name, slugTouched]); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); try { const result = await createTenant.mutateAsync({ name, slug, tier }); toast({ title: 'Tenant created', variant: 'success' }); navigate(`/vendor/tenants/${result.id}`); } catch (err) { toast({ title: 'Failed to create tenant', description: String(err), variant: 'error' }); } } return (

Create Tenant

setName(e.target.value)} placeholder="Acme Corp" required /> { setSlug(e.target.value); setSlugTouched(true); }} placeholder="acme-corp" required />
); }