'use client' import { useTranslation } from '../../../i18n/useTranslation'; import React from 'react' interface Props { isOpen: boolean onClose: () => void onCreate: (data: { pool_name: string; description: string; price: number; pool_type: 'coffee' | 'other'; subscription_coffee_id: number | null }) => void | Promise subscriptions: Array<{ id: number; title: string }> creating: boolean error?: string success?: string clearMessages: () => void } export default function CreateNewPoolModal({ isOpen, onClose, onCreate, subscriptions, creating, error, success, clearMessages }: Props) { const { t } = useTranslation(); const [poolName, setPoolName] = React.useState('') const [description, setDescription] = React.useState('') const [price, setPrice] = React.useState('0.00') const [poolType, setPoolType] = React.useState<'coffee' | 'other'>('other') const [subscriptionCoffeeId, setSubscriptionCoffeeId] = React.useState('') const isDisabled = creating || !!success React.useEffect(() => { if (!isOpen) { setPoolName('') setDescription('') setPrice('0.00') setPoolType('other') setSubscriptionCoffeeId('') } }, [isOpen]) if (!isOpen) return null return (
{/* Overlay */}
{/* Modal */}

{t('autofix.k209ba561')}

{success && (
{success}
)} {error && (
{error}
)}
{ e.preventDefault() clearMessages() onCreate({ pool_name: poolName, description, price: parseFloat(price) || 0, pool_type: poolType, subscription_coffee_id: subscriptionCoffeeId ? Number(subscriptionCoffeeId) : null, }) }} className="space-y-4" >
setPoolName(e.target.value)} disabled={isDisabled} required />