<?php

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class CatalogoController extends Controller
{
    
    public function catalogo()
    {
        $productos = Product::all();
        return view('catalogo', compact('productos'));
    }

    /**
     * Muestra los registros de ventas con buscador y paginación.
     */
    public function index(Request $request)
    {
        // Recuperamos lo que el usuario escribió en el buscador (si escribió algo)
        $query = $request->input('search');
        // Recuperamos el filtro aplicado (si aplica)
        $filter = $request->input('filter');

        // Construimos la consulta
        $sales = Product::query()
            ->when($query, function ($q) use ($query) {
                // Si hay búsqueda, filtra por nombre o SKU
                return $q->where('name', 'like', "%{$query}%")
                         ->orWhere('sku', 'like', "%{$query}%");
            })
            ->orderBy('stock_quantity', 'asc') // Ordenamos primero los que tienen poco stock (Alerta visual)
            ->paginate(10) // Paginamos de a 10
            ->withQueryString(); // Mantiene el filtro de búsqueda al cambiar de página

        return view('sales', compact('sales'));
    }
}
