<?php

namespace Functional\Exercises\Http\Resources;

use Functional\Exercises\Models\Exercise;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

/**
 * Forme allégée d'un exercice pour les listes (GET /api/exercises), libellés localisés.
 * La locale est posée par le contrôleur avant `collection()` (collection() n'accepte pas d'argument par item).
 */
class ExerciseListResource extends JsonResource
{
    public static string $locale = 'fr';

    public function toArray(Request $request): array
    {
        $l = self::$locale;

        return [
            'id' => $this->id,
            'name' => $this->resource->localizedName($l),
            'slug' => $this->slug,
            'body_part' => Exercise::localizeTerm($this->body_part, $l),
            'equipment' => Exercise::localizeTerm($this->equipment, $l),
            'target' => Exercise::localizeTerm($this->target, $l),
            'image_url' => $this->image_url,
            'gif_url' => $this->gif_url,
        ];
    }
}
