// pesito — Live Calculator with iOS sliders + honest results
const Calculator = ({ lang, principal, setPrincipal, term, setTerm }) => {
// formula: daily 0.30%, comisión apertura 2%, total = principal*(1+daily*14*term) approx
const dailyRate = 0.003;
const apertura = Math.round(principal * 0.02);
const interest = principal * dailyRate * 14 * term;
const total = Math.round(principal + interest + apertura);
const quincenal = Math.round(total / term);
// CAT illustrative — scales with term, fixed range to feel honest
const cat = Math.round(420 + (term <= 4 ? 180 : term <= 8 ? 100 : term <= 16 ? 30 : -40));
const t = lang === 'es' ? {
eyebrow: 'Calculadora honesta',
title: ['¿Cuánto', 'vas a pagar?'],
sub: 'Mueve los dos botones. Los números se mueven contigo. Sin asteriscos, sin sorpresas.',
monto: 'Monto',
plazo: 'Plazo',
quincenas: 'quincenas',
quincena: 'quincena',
pagoQuincenal: 'Pago quincenal',
cat: 'CAT informativo',
catNote: 'sin IVA',
tasaDiaria: 'Tasa diaria',
apertura: 'Comisión apertura',
apertura2: 'única, 2% del monto',
total: 'Total a pagar',
sinPenal: 'Págalo antes y se baja. Sin penalización, palabra de pesito.',
cta: 'Pedir este préstamo',
chips: ['Sin asterisco', 'Sin penalización', 'CAT a la vista', 'SPEI directo'],
} : {
eyebrow: 'Честный калькулятор',
title: ['Сколько', 'вы заплатите?'],
sub: 'Двигайте две ручки. Цифры двигаются с вами. Без звёздочек, без сюрпризов.',
monto: 'Сумма',
plazo: 'Срок',
quincenas: 'двухнед.',
quincena: 'двухнед.',
pagoQuincenal: 'Платёж раз в 2 нед.',
cat: 'Полная стоимость (CAT)',
catNote: 'без НДС',
tasaDiaria: 'Дневная ставка',
apertura: 'Комиссия за открытие',
apertura2: 'одноразово, 2%',
total: 'Всего к оплате',
sinPenal: 'Заплатите раньше — заплатите меньше. Без штрафа, слово pesito.',
cta: 'Взять этот заём',
chips: ['Без звёздочек', 'Без штрафов', 'CAT на виду', 'SPEI напрямую'],
};
const principalPct = ((principal - 500) / (50000 - 500)) * 100;
const termPct = ((term - 2) / (24 - 2)) * 100;
// Build "lo que te ahorras" comparison vs predatory lender at CAT 1200%
const competitorTotal = Math.round(principal + (principal * 0.0085 * 14 * term) + apertura);
const savings = competitorTotal - total;
return (
{t.sub}
{t.title[0]}
{t.title[1]}