import { useState } from 'react' import { FormField, Select } from '@shared/ui' import styles from './LegalConverterPage.module.css' const MIN_ORDER = 500_000 // Чем дольше пользователь готов ждать, тем ниже комиссия сервиса. const TERM_OPTIONS = [ { days: 3, rate: 0.05 }, { days: 4, rate: 0.04636 }, { days: 5, rate: 0.04273 }, { days: 6, rate: 0.03909 }, { days: 7, rate: 0.03545 }, { days: 8, rate: 0.03182 }, { days: 9, rate: 0.02818 }, { days: 10, rate: 0.02455 }, { days: 11, rate: 0.02091 }, { days: 12, rate: 0.01727 }, { days: 13, rate: 0.01364 }, { days: 14, rate: 0.01 }, ] as const const ru = (n: number) => n.toLocaleString('ru-RU', { maximumFractionDigits: 0 }) const dayLabel = (days: number) => { const mod10 = days % 10 const mod100 = days % 100 if (mod10 === 1 && mod100 !== 11) return `${days} день` if (mod10 >= 2 && mod10 <= 4 && (mod100 < 10 || mod100 >= 20)) return `${days} дня` return `${days} дней` } export function LegalConverterPage() { const [amount, setAmount] = useState('') const [name, setName] = useState('') const [contact, setContact] = useState('') const [days, setDays] = useState(TERM_OPTIONS[0].days) const numAmount = Number(amount.replace(/\D/g, '')) || 0 const belowMin = numAmount > 0 && numAmount < MIN_ORDER const rate = TERM_OPTIONS.find((o) => o.days === days)?.rate ?? TERM_OPTIONS[0].rate const commission = numAmount * rate const total = numAmount + commission const handleAmountChange = (value: string) => { const digits = value.replace(/\D/g, '') setAmount(digits ? ru(Number(digits)) : '') } const handleSubmit = (e: React.FormEvent) => { e.preventDefault() // Бэкенд пока не подключён — заявка никуда не отправляется. } return (

Оставить заявку

Конвертация крупных объёмов по индивидуальному курсу. Оставьте заявку — менеджер свяжется с вами, подтвердит актуальный курс и сопроводит сделку.

{belowMin && (

Минимальный объём заявки — {ru(MIN_ORDER)} ₽

)}