<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\Estadistica;
use Illuminate\Http\Request;

class EstadisticaController extends Controller
{
    public function index()
    {
        $estadisticas = Estadistica::orderBy('orden')->get();
        return view('admin.estadisticas.index', compact('estadisticas'));
    }

    public function create()
    {
        return view('admin.estadisticas.create');
    }

    public function store(Request $request)
    {
        $data = $request->validate([
            'etiqueta' => 'required|string|max:150',
            'valor'    => 'required|integer',
            'sufijo'   => 'nullable|string|max:10',
            'icono'    => 'nullable|string|max:100',
            'color'    => 'nullable|string|max:20',
            'orden'    => 'nullable|integer',
        ]);
        $data['activo'] = $request->has('activo') ? 1 : 0;
        Estadistica::create($data);
        return redirect()->route('admin.estadisticas.index')->with('success', 'Estadística creada correctamente.');
    }

    public function edit(Estadistica $estadistica)
    {
        return view('admin.estadisticas.edit', compact('estadistica'));
    }

    public function update(Request $request, Estadistica $estadistica)
    {
        $data = $request->validate([
            'etiqueta' => 'required|string|max:150',
            'valor'    => 'required|integer',
            'sufijo'   => 'nullable|string|max:10',
            'icono'    => 'nullable|string|max:100',
            'color'    => 'nullable|string|max:20',
            'orden'    => 'nullable|integer',
        ]);
        $data['activo'] = $request->has('activo') ? 1 : 0;
        $estadistica->update($data);
        return redirect()->route('admin.estadisticas.index')->with('success', 'Estadística actualizada correctamente.');
    }

    public function destroy(Estadistica $estadistica)
    {
        $estadistica->delete();
        return redirect()->route('admin.estadisticas.index')->with('success', 'Estadística eliminada correctamente.');
    }
}
