import React, { useState } from 'react';
import { PackageTier, VehicleType } from '../types';
const DetailRealityCheck: React.FC = () => {
const [vehicleType, setVehicleType] = useState(VehicleType.CAR_4DR);
const [dirtiness, setDirtiness] = useState(5);
const [hasHair, setHasHair] = useState(false);
const [hasStains, setHasStains] = useState(false);
const [hasOdors, setHasOdors] = useState(false);
const [year, setYear] = useState(new Date().getFullYear());
const [result, setResult] = useState<{ tier: PackageTier; price: string; reason: string } | null>(null);
const calculate = () => {
const isNew = (new Date().getFullYear() - year) <= 5;
const isCar = vehicleType === VehicleType.CAR_2DR || vehicleType === VehicleType.CAR_4DR;
let tier = PackageTier.MODERATE;
let price = "";
let reason = "";
// VIP LIGHT CHECK ($250)
if (isNew && isCar && !hasHair && !hasStains && !hasOdors && dirtiness <= 4) {
tier = PackageTier.VIP_LIGHT;
price = "$250";
reason = "Good news, this one behaves nicely, so you qualify for our VIP Light Detail at $250.";
}
// MINIVAN SPECIAL ($650+)
else if (vehicleType === VehicleType.MINIVAN) {
tier = PackageTier.MODERATE;
price = dirtiness > 7 ? "$750+" : "$650+";
reason = "Minivans are large projects. " + (dirtiness > 7 ? "That level of cleaning" : "Standard care") + " starts around " + price + " to get it right.";
}
// EXTREME ($550+)
else if (dirtiness >= 9 || (hasHair && hasStains && hasOdors)) {
tier = PackageTier.EXTREME;
price = vehicleType === VehicleType.SUV ? "$600+" : vehicleType === VehicleType.TRUCK ? "$650+" : "$550+";
reason = "That bumps it into our next tier so we can handle the heavy lifting. This requires a total restoration focus.";
}
// HEAVY (Fails 2+ VIP conditions)
else if ([hasHair, hasStains, hasOdors, dirtiness > 5].filter(Boolean).length >= 2) {
tier = PackageTier.HEAVY;
price = vehicleType === VehicleType.SUV ? "$475-$525" : vehicleType === VehicleType.TRUCK ? "$500-$550" : "$425-$475";
reason = "Failing multiple VIP conditions moves this into our Heavy tier. We’ll need the extra time for pet hair or stains.";
}
// MODERATE (Fails 1 VIP condition)
else {
tier = PackageTier.MODERATE;
price = vehicleType === VehicleType.SUV ? "$400-$425" : vehicleType === VehicleType.TRUCK ? "$425-$450" : "$350-$375";
reason = "That bumps it into our Moderate tier—our most common service for Knoxville daily drivers.";
}
setResult({ tier, price, reason });
};
return (
Screening Tool
🧠 The Reality Check
30 seconds. Zero judgment. Tell us what we're working with.
Condition Checks
{[
{ label: 'Hair', state: hasHair, set: setHasHair, icon: '🐶' },
{ label: 'Stains', state: hasStains, set: setHasStains, icon: '🧃' },
{ label: 'Odors', state: hasOdors, set: setHasOdors, icon: '👃' },
].map(item => (
item.set(!item.state)}
className={`flex flex-col items-center gap-1 p-3 rounded-2xl border text-[10px] font-black uppercase transition-all ${item.state ? 'bg-brand-accent2/10 border-brand-accent2 text-brand-accent2 shadow-lg shadow-brand-accent2/10' : 'bg-brand-bg/40 border-brand-line text-brand-muted'}`}
>
{item.icon}
{item.label}
))}
Reveal Quote Range
{result ? (
Professional Suggestion
{result.tier}
{result.price}
document.getElementById('quote')?.scrollIntoView({ behavior: 'smooth' })}
className="bg-brand-accent text-brand-bg px-10 py-4 rounded-xl font-black uppercase text-xs tracking-widest hover:brightness-110 shadow-lg shadow-brand-accent/20"
>
Book This Detail
) : (
Complete the quick screening to reveal your tier
)}
);
};
export default DetailRealityCheck;
top of page
Spills happen. Protect your newly detailed interior going forward with our Fabric/Vinyl Protection Service. This service will apply a layer of protection to help stains from setting in. Makes cleaning a breeze.
Keep the interior of your car looking newer, longer with Scotchgard Auto Fabric & Carpet Water Shield. Whether your kids' car seats need an extra layer of defense, or you're trying to keep winter from doing a number on your carpets, Our Fabric & Carpet Water Shield helps keep wintry mixes in check with superior resistance. Plus, it doesn't change the feel of fabrics, so upholstery stays soft. Our cars are an extension of our homes, so why not give them the same unbeatable protection with Our Auto Fabric & Carpet Water Shield.
Plus you'll get the added benefit of us reporting this service to Carfax. This service will add value to your car by being added to your Carfax history report.
Fabric Protection Service bottom of page