<?php

namespace App\Services;

class BmiCalculatorService
{
    public function calculate(float $weightKg, int $heightCm): float
    {
        $heightMeters = $heightCm / 100;

        return round($weightKg / ($heightMeters ** 2), 1);
    }

    /**
     * @return array{key: string, label: string}
     */
    public function statusFor(float $bmi): array
    {
        foreach (config('bmi.ranges') as $range) {
            if ($range['max'] === null || $bmi < $range['max']) {
                return ['key' => $range['key'], 'label' => $range['label']];
            }
        }

        // نباید هرگز به اینجا برسد چون آخرین محدوده max=null دارد؛ fallback ایمن:
        return ['key' => 'unknown', 'label' => 'نامشخص'];
    }
}
