'use client'; import { useState, useEffect } from 'react'; interface ComparisonFormProps { onSubmit: (item1: string, item2: string, description1: string, description2: string) => void; isLoading: boolean; selectedExample?: { item1: string; item2: string } | null; onExampleUsed?: () => void; } export default function ComparisonForm({ onSubmit, isLoading, selectedExample, onExampleUsed }: ComparisonFormProps) { const [item1, setItem1] = useState(''); const [item2, setItem2] = useState(''); const [description1, setDescription1] = useState(''); const [description2, setDescription2] = useState(''); const [showDescriptions, setShowDescriptions] = useState(false); // Handle selected example useEffect(() => { if (selectedExample) { setItem1(selectedExample.item1); setItem2(selectedExample.item2); onExampleUsed?.(); } }, [selectedExample, onExampleUsed]); const examples = [ { item1: 'iPhone 15 Pro', item2: 'Samsung Galaxy S24 Ultra', category: 'Smartphones' }, { item1: 'React', item2: 'Vue.js', category: 'Frontend Frameworks' }, { item1: 'Tesla Model 3', item2: 'BMW i4', category: 'Electric Cars' }, { item1: 'Netflix', item2: 'Disney+', category: 'Streaming Services' }, { item1: 'MacBook Pro', item2: 'ThinkPad X1 Carbon', category: 'Laptops' }, { item1: 'Coffee', item2: 'Tea', category: 'Beverages' } ]; const getRandomExample = () => { return examples[Math.floor(Math.random() * examples.length)]; }; const fillRandomExample = () => { const example = getRandomExample(); setItem1(example.item1); setItem2(example.item2); }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (item1.trim() && item2.trim()) { onSubmit(item1.trim(), item2.trim(), description1.trim(), description2.trim()); } }; return (

Start Your Comparison

Enter any two items you want to compare - products, services, concepts, or ideas

setItem1(e.target.value)} placeholder="e.g., iPhone 15 Pro, React, Tesla Model 3" className={`w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all duration-200 ${isLoading ? 'bg-gray-50 cursor-not-allowed' : 'bg-white'}`} disabled={isLoading} required /> {isLoading && (
)}
setItem2(e.target.value)} placeholder="e.g., Samsung Galaxy S24, Vue.js, BMW i4" className={`w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all duration-200 ${isLoading ? 'bg-gray-50 cursor-not-allowed' : 'bg-white'}`} disabled={isLoading} required /> {isLoading && (
)}
{showDescriptions && (