@extends('layouts.app') @section('title', 'Calculadora de salmuera') @section('content') @php use App\Services\Calculators\BrineCalculator; $ferments = BrineCalculator::ferments(); $selFerment = old('ferment', $input['ferment'] ?? 'chucrut'); $gusto = old('gusto', $input['gusto'] ?? 'normal'); $temp = old('temp', $input['temp'] ?? ''); $water = old('water', $input['water'] ?? 1000); $basePct = BrineCalculator::basePctFor($selFerment) ?? 2.5; $method = BrineCalculator::methodFor($selFerment); $isDry = $method === 'dry'; $tempVal = ($temp === '' || $temp === null) ? null : (float) $temp; $suggested = BrineCalculator::suggestSalinity($basePct, $tempVal, $gusto); $pct = old('pct', $input['pct'] ?? $suggested); $salt = $result?->saltGrams ?? round(((float) $water) * ((float) $pct) / 100, 1); // Equivalencia orientativa en cucharas de cocina (sal fina): 1 cucharada ≈ 18 g, 1 cucharadita ≈ 6 g. // Devuelve [label, valor] — el plural se decide sobre el valor ya redondeado, no el crudo. $formatFraction = function (float $n): array { $whole = floor($n); $frac = round(($n - $whole) * 4) / 4; if ($frac >= 1) { $whole++; $frac = 0; } $glyph = ['0' => '', '0.25' => '¼', '0.5' => '½', '0.75' => '¾'][(string) $frac] ?? ''; return [$whole > 0 ? $whole . $glyph : ($glyph ?: '0'), $whole + $frac]; }; $spoonsText = function (float $g) use ($formatFraction): string { if ($g <= 0) { return ''; } $tbsp = $g / 18; if ($tbsp >= 0.4) { [$label, $value] = $formatFraction($tbsp); return '≈ ' . $label . ($value === 1.0 ? ' cucharada' : ' cucharadas') . ' de sal'; } [$label, $value] = $formatFraction($g / 6); return '≈ ' . $label . ($value === 1.0 ? ' cucharadita' : ' cucharaditas') . ' de sal'; }; @endphp
La sal se ajusta sola a lo que fermentas, a la temperatura y al punto de textura que prefieres.