import React, { useState } from 'react' import { useNavigate } from 'react-router-dom' import { useMutation } from '@tanstack/react-query' import { startAnalysis } from '../api/analysis' function AnalysisForm() { const navigate = useNavigate() const [url, setUrl] = useState('') const [options, setOptions] = useState({ viewports: ['desktop', 'tablet', 'mobile'], includeAccessibility: true, analysisType: 'comprehensive' }) const analysisMutation = useMutation({ mutationFn: startAnalysis, onSuccess: (data) => { navigate(`/analysis/${data.analysisId}`) }, onError: (error) => { console.error('Analysis failed:', error) } }) const handleSubmit = (e) => { e.preventDefault() if (!url.trim()) { alert('Please enter a URL') return } // Basic URL validation try { new URL(url) } catch { alert('Please enter a valid URL (include http:// or https://)') return } analysisMutation.mutate({ url: url.trim(), options }) } const handleViewportChange = (viewport) => { setOptions(prev => ({ ...prev, viewports: prev.viewports.includes(viewport) ? prev.viewports.filter(v => v !== viewport) : [...prev.viewports, viewport] })) } return (