/* ============================================ Public Site Part 2 — Calculadora, Galería, Testimonios, Contacto, Footer, WhatsApp FAB ============================================ */ /* ============================================ Calculadora ============================================ */ function Calculadora() { const [animalId, setAnimalId] = useState("lecheras"); const [cantidad, setCantidad] = useState(80); const [meses, setMeses] = useState(6); const animal = window.DATA.ANIMALES.find(a => a.id === animalId); // proporción de alfalfa en la dieta (40-60%) const propAlfalfa = 0.5; const diasTotal = meses * 30; const kgTotal = animal.kg * propAlfalfa * cantidad * diasTotal; // distribución sugerida: 50% prismático chico, 30% redondo, 20% mega const fardosChico = Math.ceil((kgTotal * 0.5) / 25); const fardosRedondo = Math.ceil((kgTotal * 0.3) / 350); const fardosMega = Math.ceil((kgTotal * 0.2) / 500); const animalIcon = (id) => ({ lecheras: "Milk", cria: "Beef", caballos: "Rabbit", vaquillonas: "Beef" }[id] || "Beef"); return (
Calculadora

¿Cuántos fardos necesitás?

Estimación basada en consumo promedio de materia seca (50% de la dieta cubierta con alfalfa). Para un cálculo exacto, consultanos.
{window.DATA.ANIMALES.map(a => ( ))}
setCantidad(+e.target.value)} className="calc__input" style={{ padding: 0, accentColor: "#2d5016" }} />
setMeses(+e.target.value)} className="calc__input" style={{ padding: 0, accentColor: "#2d5016" }} />
Necesitarías aproximadamente
{window.DATA.fmtNum(Math.round(kgTotal / 1000))} t de alfalfa para {cantidad} {animal.label.toLowerCase()} durante {meses} {meses === 1 ? "mes" : "meses"}
{window.DATA.fmtNum(fardosChico)} Prismáticos chicos (25kg)
{window.DATA.fmtNum(fardosRedondo)} Redondos (350kg)
{window.DATA.fmtNum(fardosMega)} Megafardos (500kg)
Solicitar esta cantidad
); } /* ============================================ Galería ============================================ */ function Galeria() { const tiles = [ { cls: "gal-1 gal-tile--w2 gal-tile--h2", cap: "campo en floración" }, { cls: "gal-2", cap: "atardecer en Los Talas" }, { cls: "gal-3", cap: "megafardos apilados" }, { cls: "gal-5", cap: "rotoenfardadora trabajando" }, { cls: "gal-6 gal-tile--w2", cap: "stock galpón A" }, { cls: "gal-4", cap: "tractor John Deere" }, { cls: "gal-7 gal-tile--h2", cap: "equipo de campo 2025" }, { cls: "gal-2", cap: "rastrillado matinal" }, { cls: "gal-3 gal-tile--w2", cap: "carga para Pergamino" }, { cls: "gal-1", cap: "fardo prismático" }, ]; return (
Galería

Una temporada en el campo.

Imágenes de nuestra última campaña: siembra, corte, enfardado y entrega.
{tiles.map((t, i) => (
{t.cap}
))}
); } /* ============================================ Testimonios ============================================ */ function Testimonios() { const [idx, setIdx] = useState(0); const items = window.DATA.TESTIMONIOS; const cur = items[idx]; useEffect(() => { const id = setInterval(() => setIdx(i => (i + 1) % items.length), 6500); return () => clearInterval(id); }, [items.length]); return (
Lo que dicen los clientes
{cur.texto}
{cur.autor.split(" ").map(s=>s[0]).slice(0,2).join("")}
{cur.autor}
{cur.cargo}
{items.map((_, i) => (
setIdx(i)}>
))}
); } /* ============================================ Contacto ============================================ */ function Contacto() { const [sent, setSent] = useState(false); const [form, setForm] = useState({ nombre: "", email: "", telefono: "", tipo: "tambo", mensaje: "" }); const submit = (e) => { e.preventDefault(); setSent(true); setTimeout(() => setSent(false), 5000); setForm({ nombre: "", email: "", telefono: "", tipo: "tambo", mensaje: "" }); }; const update = (k) => (e) => setForm(f => ({ ...f, [k]: e.target.value })); return (
Contacto

Pedinos una cotización
o contanos tu necesidad.

Te respondemos en menos de 24 horas hábiles. También podés escribirnos directamente por WhatsApp.