1import{a as e}from"./rolldown-runtime-BpgvRg6H.js";import{_ as i}from"./vendor-Ek1YH4qW.js";import{r as a}from"./vendor-react-B5LVcOYo.js";import{Kt as r,M as l,bt as m,s as t,vt as o}from"./index-DZayHYUY.js";import{r as n,t as s}from"./SEOHead-Cq9m4PI9.js";import{i as c}from"./productos-BCrPu_R6.js";var u=e(i(),1),d=a(),N="/vercel/path0/frontend/components/VersusComparator.jsx",b=[{key:"velocidad_max_kmh",unidad:" km/h",label:"más de velocidad máxima",mejor:"mayor"},{key:"autonomia_km",unidad:" km",label:"más de autonomÃa",mejor:"mayor"},{key:"capacidad_bateria",unidad:"",label:"más de capacidad de baterÃa",mejor:"mayor"},{key:"potencia_motor",unidad:"W",label:"más de potencia de motor",mejor:"mayor"},{key:"tiempo_carga_min",unidad:" h",label:"menos de tiempo de carga",mejor:"menor"}],x=[{titulo:"Rendimiento",filas:[["potencia_motor","Potencia del motor"],["velocidad_max_kmh","Velocidad máxima"],["autonomia_km","AutonomÃa"],["carga_maxima_kg","Carga máxima"]]},{titulo:"BaterÃa",filas:[["tipo_bateria","Tipo de baterÃa"],["potencia_bateria","Potencia de baterÃa"],["capacidad_bateria","Capacidad de baterÃa"],["bateria_extraible","BaterÃa extraÃble"],["tiempo_carga_min","Tiempo de carga"]]},{titulo:"Dimensiones",filas:[["largo_cm","Largo"],["ancho_cm","Ancho"],["alto_cm","Alto"]]}],h={velocidad_max_kmh:"km/h",autonomia_km:"km",tiempo_carga_min:"h",carga_maxima_kg:"kg",largo_cm:"cm",ancho_cm:"cm",alto_cm:"cm"};function f(e){if(null==e)return null;if("number"==typeof e)return Number.isFinite(e)?e:null;const i=parseFloat(String(e).replace(",","."));return Number.isFinite(i)?i:null}function p(e,i){if(null==i||""===i)return"â";if("boolean"==typeof i)return i?"SÃ":"No";const a=h[e];if(!a)return String(i);const r=String(i).trim();return new RegExp(`\\b${a}\\b`,"i").test(r)?r:`${r} ${a}`}function g(e,i){const a=Number.isInteger(i)?i:i.toFixed(1);return e.unidad?`${a}${e.unidad} ${e.label}`:`${a} ${e.label}`}function v(e,i){const a=[];return b.forEach(r=>{const l=e?.ficha_tecnica?.[r.key],m=i?.ficha_tecnica?.[r.key],t=f(l),o=f(m);null!=t&&null!=o&&t!==o&&("menor"===r.mejor?t<o:t>o)&&a.push({id:r.key,texto:g(r,Math.abs(t-o))})}),a.slice(0,5)}function j(e){const i=e?.imagenes||[],a=i.find(e=>e.es_principal&&e.src),r=i.find(e=>e.src);return(a||r)?.src||null}function y({valor:e,estado:i}){let a="px-2 py-1 rounded";return a+="gana"===i?" font-bold text-gray-900 bg-green-50":"igual"===i?" text-gray-500":" text-gray-700",(0,d.jsxDEV)("div",{className:a,children:e},void 0,!1,{fileName:N,lineNumber:120,columnNumber:10},this)}function E({productos:e=[]}){const i=e,[a,n]=(0,u.useState)(0),[s,c]=(0,u.useState)(1),[b,h]=(0,u.useState)(null),[g,E]=(0,u.useState)(""),V=i[a]||i[0],D=i[s]||i[i.length-1],_=(0,u.useMemo)(()=>v(V,D),[V,D]),k=(0,u.useMemo)(()=>v(D,V),[V,D]),w=(0,u.useMemo)(()=>{const e="a"===b?D?.id:V?.id,a=g.trim().toLowerCase();return i.filter(i=>i.id!==e).filter(e=>!a||String(e.nombre).toLowerCase().includes(a)).slice(0,30)},[i,b,g,V?.id,D?.id]);if(!V||!D||i.length<2)return(0,d.jsxDEV)("p",{className:"text-center text-sm text-gray-500 py-10",children:"No hay suficientes vehÃculos para comparar por ahora."},void 0,!1,{fileName:N,lineNumber:155,columnNumber:7},this);const C=(e,i)=>{const a=j(i);return(0,d.jsxDEV)("div",{className:"flex flex-col items-center text-center gap-2 px-3 py-3 sm:flex-row sm:text-left sm:items-center sm:gap-3",children:[a?(0,d.jsxDEV)("img",{src:a,alt:i.nombre,className:"w-full max-w-[140px] h-20 object-contain bg-gray-bg rounded-lg shrink-0"},void 0,!1,{fileName:N,lineNumber:175,columnNumber:11},this):(0,d.jsxDEV)("div",{className:"w-full max-w-[140px] h-20 bg-gray-bg rounded-lg flex items-center justify-center shrink-0",children:(0,d.jsxDEV)("span",{className:"text-[10px] text-gray-400",children:"Sin foto"},void 0,!1,{fileName:N,lineNumber:182,columnNumber:13},this)},void 0,!1,{fileName:N,lineNumber:181,columnNumber:11},this),(0,d.jsxDEV)("div",{className:"min-w-0",children:[(0,d.jsxDEV)("p",{className:"font-semibold text-gray-900 text-sm line-clamp-2",children:i.nombre},void 0,!1,{fileName:N,lineNumber:186,columnNumber:11},this),(0,d.jsxDEV)("p",{className:"text-brand font-bold",children:t(i.precio_actual)},void 0,!1,{fileName:N,lineNumber:189,columnNumber:11},this),(0,d.jsxDEV)("button",{type:"button",onClick:()=>h(e),className:"mt-1 inline-flex items-center gap-1.5 text-xs font-semibold text-gray-500 hover:text-brand transition-colors",children:[(0,d.jsxDEV)(o,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:N,lineNumber:195,columnNumber:13},this)," Cambiar vehÃculo"]},void 0,!0,{fileName:N,lineNumber:190,columnNumber:11},this)]},void 0,!0,{fileName:N,lineNumber:185,columnNumber:9},this)]},void 0,!0,{fileName:N,lineNumber:173,columnNumber:7},this)};return(0,d.jsxDEV)("div",{children:[(0,d.jsxDEV)("div",{className:"sticky top-[57px] z-40 bg-white/95 backdrop-blur border-b border-gray-200 shadow-sm grid grid-cols-2 divide-x divide-gray-100 rounded-t-xl",children:[C("a",V),C("b",D)]},void 0,!0,{fileName:N,lineNumber:205,columnNumber:7},this),(_.length>0||k.length>0)&&(0,d.jsxDEV)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 mt-5",children:[{producto:V,razones:_},{producto:D,razones:k}].map(({producto:e,razones:i})=>(0,d.jsxDEV)("div",{className:"rounded-xl border p-4 "+(i.length?"border-green-200 bg-green-50/40":"border-gray-100 bg-white"),children:[(0,d.jsxDEV)("p",{className:"text-sm font-semibold text-gray-900 mb-2 line-clamp-1",children:["Razones para elegir"," ",(0,d.jsxDEV)("span",{className:"text-brand",children:e.nombre},void 0,!1,{fileName:N,lineNumber:225,columnNumber:17},this)]},void 0,!0,{fileName:N,lineNumber:223,columnNumber:15},this),0===i.length?(0,d.jsxDEV)("p",{className:"text-xs text-gray-500",children:"Empate en los datos comparables."},void 0,!1,{fileName:N,lineNumber:228,columnNumber:17},this):(0,d.jsxDEV)("ul",{className:"space-y-1.5",children:i.map(e=>(0,d.jsxDEV)("li",{className:"flex items-start gap-2 text-sm text-gray-700",children:[(0,d.jsxDEV)(l,{className:"w-4 h-4 mt-0.5 text-emerald-500 shrink-0"},void 0,!1,{fileName:N,lineNumber:235,columnNumber:23},this),e.texto]},e.id,!0,{fileName:N,lineNumber:234,columnNumber:21},this))},void 0,!1,{fileName:N,lineNumber:232,columnNumber:17},this)]},e.id,!0,{fileName:N,lineNumber:217,columnNumber:13},this))},void 0,!1,{fileName:N,lineNumber:212,columnNumber:9},this),(0,d.jsxDEV)("div",{className:"overflow-x-auto mt-6",children:(0,d.jsxDEV)("div",{className:"min-w-[480px]",children:x.map(e=>(0,d.jsxDEV)("div",{className:"mb-6",children:[(0,d.jsxDEV)("h3",{className:"text-center text-sm font-bold uppercase tracking-wide text-gray-500 mb-3",children:e.titulo},void 0,!1,{fileName:N,lineNumber:251,columnNumber:15},this),e.filas.map(([e,i])=>{const a=V.ficha_tecnica?.[e],r=D.ficha_tecnica?.[e],l=function(e,i,a){if("boolean"==typeof i||"boolean"==typeof a)return i===a?0:!0===i?-1:1;const r=f(i),l=f(a);return null==r||null==l||r===l?0:("tiempo_carga_min"===e?r<l:r>l)?-1:1}(e,a,r);return(0,d.jsxDEV)("div",{className:"border-b border-gray-100 py-2",children:[(0,d.jsxDEV)("p",{className:"text-center text-xs text-gray-400 mb-1",children:i},void 0,!1,{fileName:N,lineNumber:260,columnNumber:21},this),(0,d.jsxDEV)("div",{className:"grid grid-cols-2 justify-items-center text-sm",children:[(0,d.jsxDEV)(y,{valor:p(e,a),estado:0===l?"igual":-1===l?"gana":"pierde"},void 0,!1,{fileName:N,lineNumber:262,columnNumber:23},this),(0,d.jsxDEV)(y,{valor:p(e,r),estado:0===l?"igual":1===l?"gana":"pierde"},void 0,!1,{fileName:N,lineNumber:268,columnNumber:23},this)]},void 0,!0,{fileName:N,lineNumber:261,columnNumber:21},this)]},e,!0,{fileName:N,lineNumber:259,columnNumber:19},this)})]},e.titulo,!0,{fileName:N,lineNumber:250,columnNumber:13},this))},void 0,!1,{fileName:N,lineNumber:248,columnNumber:9},this)},void 0,!1,{fileName:N,lineNumber:247,columnNumber:7},this),b&&(0,d.jsxDEV)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center p-4",children:[(0,d.jsxDEV)("div",{className:"absolute inset-0 bg-black/50",onClick:()=>h(null)},void 0,!1,{fileName:N,lineNumber:286,columnNumber:11},this),(0,d.jsxDEV)("div",{className:"relative bg-white rounded-xl shadow-xl w-full max-w-md max-h-[70vh] flex flex-col",children:[(0,d.jsxDEV)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-100",children:[(0,d.jsxDEV)("p",{className:"font-semibold text-gray-900 text-sm",children:"Cambiar vehÃculo"},void 0,!1,{fileName:N,lineNumber:292,columnNumber:15},this),(0,d.jsxDEV)("button",{type:"button",onClick:()=>h(null),className:"p-1 rounded-full hover:bg-gray-100 transition-colors",children:(0,d.jsxDEV)(r,{className:"w-4 h-4 text-gray-500"},void 0,!1,{fileName:N,lineNumber:298,columnNumber:17},this)},void 0,!1,{fileName:N,lineNumber:293,columnNumber:15},this)]},void 0,!0,{fileName:N,lineNumber:291,columnNumber:13},this),(0,d.jsxDEV)("div",{className:"px-4 py-3 border-b border-gray-100",children:(0,d.jsxDEV)("div",{className:"flex items-center gap-2 border border-gray-300 rounded-lg px-3 py-2",children:[(0,d.jsxDEV)(m,{className:"w-4 h-4 text-gray-400 shrink-0"},void 0,!1,{fileName:N,lineNumber:303,columnNumber:17},this),(0,d.jsxDEV)("input",{value:g,onChange:e=>E(e.target.value),placeholder:"Buscar modelo...",autoFocus:!0,className:"w-full outline-none text-sm"},void 0,!1,{fileName:N,lineNumber:304,columnNumber:17},this)]},void 0,!0,{fileName:N,lineNumber:302,columnNumber:15},this)},void 0,!1,{fileName:N,lineNumber:301,columnNumber:13},this),(0,d.jsxDEV)("ul",{className:"flex-1 overflow-y-auto divide-y divide-gray-50",children:[w.map(e=>(0,d.jsxDEV)("li",{children:(0,d.jsxDEV)("button",{type:"button",onClick:()=>((e,a)=>{const r=i.findIndex(e=>e.id===a.id);-1!==r&&("a"===e?n(r):c(r),h(null),E(""))})(b,e),className:"w-full flex items-center gap-3 px-4 py-2.5 hover:bg-brand/5 transition-colors text-left",children:[j(e)?(0,d.jsxDEV)("img",{src:j(e),alt:"",className:"w-12 h-10 object-contain bg-gray-bg rounded"},void 0,!1,{fileName:N,lineNumber:322,columnNumber:23},this):(0,d.jsxDEV)("span",{className:"w-12 h-10 bg-gray-bg rounded inline-flex items-center justify-center text-[9px] text-gray-400",children:"Sin foto"},void 0,!1,{fileName:N,lineNumber:328,columnNumber:23},this),(0,d.jsxDEV)("span",{className:"min-w-0 flex-1",children:[(0,d.jsxDEV)("span",{className:"block text-sm font-medium text-gray-900 truncate",children:e.nombre},void 0,!1,{fileName:N,lineNumber:333,columnNumber:23},this),(0,d.jsxDEV)("span",{className:"block text-xs text-gray-500",children:t(e.precio_actual)},void 0,!1,{fileName:N,lineNumber:336,columnNumber:23},this)]},void 0,!0,{fileName:N,lineNumber:332,columnNumber:21},this)]},void 0,!0,{fileName:N,lineNumber:316,columnNumber:19},this)},e.id,!1,{fileName:N,lineNumber:315,columnNumber:17},this)),0===w.length&&(0,d.jsxDEV)("li",{className:"px-4 py-6 text-center text-sm text-gray-400",children:"Sin resultados."},void 0,!1,{fileName:N,lineNumber:344,columnNumber:17},this)]},void 0,!0,{fileName:N,lineNumber:313,columnNumber:13},this)]},void 0,!0,{fileName:N,lineNumber:290,columnNumber:11},this)]},void 0,!0,{fileName:N,lineNumber:285,columnNumber:9},this)]},void 0,!0,{fileName:N,lineNumber:203,columnNumber:5},this)}var V="/vercel/path0/frontend/pages/Comparar.jsx";function D(){const[e,i]=(0,u.useState)([]);return(0,u.useEffect)(()=>{c().then(i).catch(e=>{})},[]),(0,d.jsxDEV)("section",{className:"py-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,d.jsxDEV)(s,{title:"Comparar VehÃculos Eléctricos",description:"Compara especificaciones, precios y caracterÃsticas de los vehÃculos de movilidad eléctrica Green Line lado a lado.",url:"/comparar",ke
1ywords:["comparar vehÃculos eléctricos","comparativa scooters","comparar motos eléctricas"],jsonLd:[n([{name:"Inicio",url:"/"},{name:"Comparar",url:"/comparar"}])]},void 0,!1,{fileName:V,lineNumber:19,columnNumber:7},this),(0,d.jsxDEV)("h1",{className:"text-2xl sm:text-3xl font-bold text-gray-900 mb-1",children:"Comparar vehÃculos"},void 0,!1,{fileName:V,lineNumber:29,columnNumber:7},this),(0,d.jsxDEV)("p",{className:"text-gray-600 text-sm mb-6",children:"Elige dos modelos y descubre cuál se ajusta mejor a lo que necesitas."},void 0,!1,{fileName:V,lineNumber:32,columnNumber:7},this),(0,d.jsxDEV)(E,{productos:e},void 0,!1,{fileName:V,lineNumber:35,columnNumber:7},this)]},void 0,!0,{fileName:V,lineNumber:18,columnNumber:5},this)}export{D as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.