/* ===== BrewOS Landing — Proof of story (динамически от калькулятора) ===== */ const PROOF_MECH = [ { ic: 'idle', tag: 'Простой танков', before: 'Что танк освободился, узнавали через 1–2 дня. Варки планировали в Excel и по памяти — ЦКТ стоял пустым «между делом».', system: 'Статус «Готов к розливу» загорается в день готовности партии. Освободившийся танк сразу виден — следующую варку ставят без паузы.', metricUnit: 'с танка в год' }, { ic: 'waste', tag: 'Брак и списания', before: 'Замеры плотности и температуры вели в блокноте. Иногда пропускали — и о проблеме партии узнавали, когда спасать было поздно.', system: 'График замеров с напоминаниями и алертами. Партия в зоне риска подсвечивается заранее — вмешиваются вовремя, а не постфактум.', metricFrom: '4,0%', metricTo: '1,5%', metricUnit: 'брака от объёма' }, { ic: 'cost', tag: 'Цена и маржа', before: 'Себестоимость партии считали в конце месяца в таблицах. Топовые сорта продавали дешевле, чем могли — просто не видели реальную маржу.', system: 'Себестоимость и маржа каждой варки видны ещё до розлива. Цену на ходовые сорта выставляют осознанно, а не «как в прошлый раз».', metricFrom: 'наугад', metricTo: '+8%', metricUnit: 'к марже на топ-сортах' }]; function ProofStory() { const m = React.useContext(window.CalcCtx); const r = m ? m.r : null; const ru = (n) => Math.round(n).toLocaleString('ru-RU'); const mln = (n) => { if (n >= 1e6) return (n / 1e6).toLocaleString('ru-RU', { minimumFractionDigits: 1, maximumFractionDigits: 1 }) + ' млн'; return Math.round(n / 1000) + ' тыс'; }; const MECH = [ { ...PROOF_MECH[0], metricFrom: (r ? r.varkiBase : 9) + ' варок', metricTo: (r ? r.varkiNew : 12) + ' варок' }, { ...PROOF_MECH[1] }, { ...PROOF_MECH[2] }]; return (
КАК ИМЕННО ЭТО РАБОТАЕТ

Не обещания, а механика результата

Цифры считаются от тех же вводных, что и в калькуляторе выше. Для каждой — цепочка: что было, что конкретно поменяла система и что из этого вышло.

{m ? m.tanks : 8} ЦКТ ~{m ? ru(m.vol) : '1000'} л партия {m ? ru(m.margin) : '120'} ₽/л маржа цикл {m ? m.cycle : 24} дн
{MECH.map((mm, i) =>
{mm.tag}
Было

{mm.before}

Что сделала BrewOS

{mm.system}

{mm.metricFrom} {mm.metricTo} {mm.metricUnit}
)}
Итог за год при тех же мощностях
+{r ? mln(r.total) : '3,7 млн'}
+{r ? ru(r.extraLiters) : '27 000'} л доп. выпуска ≈ {r ? mln(r.gainUtil) : '3,2 млн'} ₽ −брак ≈ {r ? mln(r.gainBrak) : '0,3 млн'} ₽ время команды ≈ {r ? mln(r.gainTime) : '0,2 млн'} ₽
Изменить вводные в калькуляторе →

«Мы не стали варить по-другому — мы просто перестали терять. Танки больше не стоят пустыми, а к каждой партии теперь видно цену. Это и есть та прибыль, которой раньше не хватало».

); } Object.assign(window, { ProofStory });