import { useState } from "react"; import { Search, Car, HelpCircle, ArrowRight, MessageSquare, CheckCircle } from "lucide-react"; import { PAK_CAR_FITMENTS, CarFitment } from "../lib/tireService"; import { BUSINESS_INFO } from "../data"; interface VehicleFitmentWidgetProps { darkMode: boolean; onFilterSize: (size: string) => void; } export default function VehicleFitmentWidget({ darkMode, onFilterSize }: VehicleFitmentWidgetProps) { const [selectedMake, setSelectedMake] = useState(""); const [selectedModel, setSelectedModel] = useState(""); const [selectedVariant, setSelectedVariant] = useState(null); const [typedSearch, setTypedSearch] = useState(""); // Get models for selected make const availableModels = selectedMake ? PAK_CAR_FITMENTS.filter((f) => f.make.toLowerCase() === selectedMake.toLowerCase()) : []; // Handle Make changes const handleMakeChange = (make: string) => { setSelectedMake(make); setSelectedModel(""); setSelectedVariant(null); }; // Handle Model changes const handleModelChange = (modelName: string) => { setSelectedModel(modelName); const fitment = availableModels.find((m) => m.model.toLowerCase() === modelName.toLowerCase()); if (fitment && fitment.variants.length > 0) { setSelectedVariant(fitment.variants[0]); } else { setSelectedVariant(null); } }; // Quick auto-search matching const filteredSearchFitments = typedSearch.trim() ? PAK_CAR_FITMENTS.flatMap((fit) => fit.variants.map((v) => ({ make: fit.make, model: fit.model, variantName: v.name, engine: v.engine, size: v.recommendedSize })) ).filter((item) => `${item.make} ${item.model} ${item.variantName}`.toLowerCase().includes(typedSearch.toLowerCase()) ).slice(0, 4) : []; const handleSelectQuickMatch = (item: any) => { setSelectedMake(item.make); setSelectedModel(item.model); const fitObj = PAK_CAR_FITMENTS.find(f => f.make === item.make && f.model === item.model); const varObj = fitObj?.variants.find(v => v.name === item.variantName); setSelectedVariant(varObj || null); setTypedSearch(""); }; return (
⚡ Fitment Recommendations Guide

Find Recommended Tyre Size by Vehicle model

Configure your car's profile to extract the certified OEM tire dimensions immediately.

Pakistan Specs Database
{/* Interactive Tabs */}
{/* Left Side: Selectors */}
{/* Quick Search Input */}
Search Car Name (e.g. 'Corolla', 'Civic', 'Alto')
setTypedSearch(e.target.value)} className={`w-full p-3 pl-10 rounded-xl text-xs border focus:ring-1 focus:ring-brand-orange focus:outline-none ${ darkMode ? "bg-black/40 border-white/10 text-white placeholder-slate-500" : "bg-white border-slate-200 text-slate-800 placeholder-slate-400" }`} id="car-search-input" />
{/* Auto-suggest results */} {filteredSearchFitments.length > 0 && (
{filteredSearchFitments.map((fit, idx) => ( ))}
)}
{/* Make Selector */}
{/* Model Selector */}
{/* Variant Selector */} {selectedModel && (
{availableModels .find((m) => m.model.toLowerCase() === selectedModel.toLowerCase()) ?.variants.map((v) => ( ))}
)}
{/* Right Side: Recommendation Results Card container */}
{selectedVariant ? (
PROFILING MATCH FOUND

{selectedMake} {selectedModel}

Variant: {selectedVariant.name} ({selectedVariant.engine})

RECOMMENDED TYRE SIZE {selectedVariant.recommendedSize} Spec matches the exact manufacturing profile for road pressure distribution & safety rules of Lahore.
{/* Practical CTAs */}
WhatsApp Query
) : (
🚗

Select Car to Extract Fitments

Select brand make/model variables on the left, or query the car name to load the customized profile recommendations instantly.

)}
); }