<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\Configuracion;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

class ConfiguracionController extends Controller
{
    public function index()
    {
        $configuraciones = Configuracion::orderBy('clave')->get()->groupBy(function ($item) {
            return explode('_', $item->clave)[0];
        });
        return view('admin.configuracion.index', compact('configuraciones'));
    }

    public function update(Request $request)
    {
        $data = $request->except(['_token', '_method']);

        foreach ($data as $clave => $valor) {
            if ($request->hasFile($clave)) {
                $file = $request->file($clave);
                $path = $file->store('configuraciones', 'public');
                Configuracion::set($clave, $path);
            } else {
                Configuracion::set($clave, $valor);
            }
        }

        return redirect()->route('admin.configuracion.index')->with('success', 'Configuración guardada correctamente.');
    }
}
