Hice el catalogo mejor
This commit is contained in:
@@ -1,36 +1,41 @@
|
||||
<x-appc>
|
||||
<div class="max-w-6xl mx-auto px-4 py-8">
|
||||
<h1 class="text-center text-2xl font-bold mb-8">CATÁLOGO</h1>
|
||||
<x-layout title="Catalogo - Lauck">
|
||||
|
||||
<!-- Header -->
|
||||
<x-section-header subtitle="Inicio" title="Catalogo de " highlight="Productos"/>
|
||||
|
||||
<div class="w-full max-w-5xl">
|
||||
|
||||
@if ($products->count() > 0)
|
||||
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6">
|
||||
@foreach ($products as $prod)
|
||||
<div class="p-4 border rounded-lg shadow-md bg-white hover:shadow-lg transition">
|
||||
<div class="group p-4 border border-neutral-800 rounded-xl hover:border-neon-lime hover:-translate-y-1 transition-all duration-300 shadow-lg hover:shadow-neon-lime/20">
|
||||
{{-- Imagen si existe --}}
|
||||
@if (!empty($prod->imagen))
|
||||
<img src="{{ asset('storage/' . $prod->imagen) }}" alt="{{ $prod->name }}"
|
||||
@if (!empty($prod->img))
|
||||
<img src="{{ asset('storage/' . $prod->img) }}" alt="{{ $prod->name }}"
|
||||
class="w-full h-40 object-cover rounded mb-4">
|
||||
@else
|
||||
<div class="w-full h-40 bg-gray-200 flex items-center justify-center rounded mb-4">
|
||||
<span class="text-gray-500 text-sm">Sin imagen</span>
|
||||
<div class="w-full h-40 bg-lime-500 flex items-center justify-center rounded mb-4">
|
||||
<span class="text-neutral-900 text-md uppercase font-bold">Sin imagen</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Nombre --}}
|
||||
<h2 class="text-lg font-semibold text-gray-800">{{ $prod->nombre }}</h2>
|
||||
<h2 class="text-lg font-semibold text-white">{{ $prod->name }}</h2>
|
||||
|
||||
{{-- Descripción corta --}}
|
||||
@if (!empty($prod->descripcion))
|
||||
<p class="text-sm text-gray-600 mt-2">{{ $prod->descripcion }}</p>
|
||||
<div class="h-10 overflow-y-auto [scrollbar-width:none]">
|
||||
@if (!empty($prod->description))
|
||||
<p class="text-sm text-gray-400 mt-2">{{ $prod->description }}</p>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
{{-- Precio --}}
|
||||
@if (!empty($prod->precio))
|
||||
<p class="text-blue-600 font-bold mt-3">${{ number_format($prod->precio, 2, ',', '.') }}</p>
|
||||
@if (!empty($prod->price))
|
||||
<p class="text-white group-hover:text-neon-lime font-bold mt-3 transition-colors">${{ number_format($prod->price, 2, ',', '.') }}</p>
|
||||
@endif
|
||||
|
||||
{{-- Botón --}}
|
||||
<a href="{{ route('productos.vistaUsuario', $prod) }}"
|
||||
<a href="{{ route('productos.show', $prod) }}"
|
||||
class="mt-4 block w-full bg-blue-500 text-white py-2 rounded-lg text-center hover:bg-blue-600">
|
||||
Ver producto
|
||||
</a>
|
||||
@@ -42,4 +47,4 @@
|
||||
<p class="text-center text-gray-600 mt-10">No hay productos disponibles.</p>
|
||||
@endif
|
||||
</div>
|
||||
</x-appc>
|
||||
</x-layout>
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
<body class="bg-dark-bg text-gray-300 font-sans antialiased min-h-screen flex flex-col relative overflow-x-hidden">
|
||||
|
||||
<!-- Fondo grilla global -->
|
||||
<div class="absolute inset-0 bg-grid-pattern opacity-[0.07] z-0 pointer-events-none fixed"></div>
|
||||
<div class="inset-0 bg-grid-pattern opacity-[0.07] z-0 pointer-events-none fixed"></div>
|
||||
|
||||
<!-- Navbar Component -->
|
||||
<x-navbar />
|
||||
|
||||
<!-- Contenido Principal -->
|
||||
<main class="flex-grow flex flex-col items-center justify-start pt-10 pb-20 px-4 w-full max-w-7xl mx-auto z-10">
|
||||
<main class="grow flex flex-col items-center justify-start pt-10 pb-20 px-4 w-full max-w-7xl mx-auto z-10">
|
||||
{{ $slot }}
|
||||
</main>
|
||||
|
||||
|
||||
@@ -7,37 +7,37 @@
|
||||
<dl class="w-lg text-gray-900 dark:text-white *:border-b *:border-gray-200 *:dark:border-gray-400">
|
||||
<div class="flex flex-col pt-3">
|
||||
<dt class="mb-1 text-gray-500 md:text-lg dark:text-gray-400">Marca</dt>
|
||||
<dd class="text-lg font-semibold">{{$producto->marca}}</dd>
|
||||
<dd class="text-lg font-semibold">{{$product->name}}</dd>
|
||||
</div>
|
||||
<div class="flex flex-col pt-3">
|
||||
<dt class="mb-1 text-gray-500 md:text-lg dark:text-gray-400">Modelo</dt>
|
||||
<dd class="text-lg font-semibold">{{$producto->modelo}}</dd>
|
||||
<dd class="text-lg font-semibold">{{$product->sku}}</dd>
|
||||
</div>
|
||||
<div class="flex flex-col pt-3">
|
||||
<dt class="mb-1 text-gray-500 md:text-lg dark:text-gray-400">Color</dt>
|
||||
<dd class="text-lg font-semibold">{{$producto->color}}</dd>
|
||||
<dd class="text-lg font-semibold">{{$product->description}}</dd>
|
||||
</div>
|
||||
<div class="flex flex-col pt-3">
|
||||
<dt class="mb-1 text-gray-500 md:text-lg dark:text-gray-400">Rodado</dt>
|
||||
<dd class="text-lg font-semibold">{{$producto->rodado}}</dd>
|
||||
<dd class="text-lg font-semibold">{{$product->cost}}</dd>
|
||||
</div>
|
||||
<div class="flex flex-col pt-3">
|
||||
<dt class="mb-1 text-gray-500 md:text-lg dark:text-gray-400">Tipo</dt>
|
||||
<dd class="text-lg font-semibold">{{$producto->tipo}}</dd>
|
||||
<dd class="text-lg font-semibold">{{$product->price}}</dd>
|
||||
</div>
|
||||
<div class="flex flex-col pt-3">
|
||||
<dt class="mb-1 text-gray-500 md:text-lg dark:text-gray-400">Descripcion</dt>
|
||||
<dd class="text-lg font-semibold">{{$producto->descripcion}}</dd>
|
||||
<dd class="text-lg font-semibold">{{$product->stock_quantity}}</dd>
|
||||
</div>
|
||||
<div class="flex flex-col pt-3">
|
||||
<dt class="mb-1 text-gray-500 md:text-lg dark:text-gray-400">Precio</dt>
|
||||
<dd class="text-lg font-semibold">{{$producto->precio}}</dd>
|
||||
<dd class="text-lg font-semibold">{{$product->type}}</dd>
|
||||
</div>
|
||||
</dl>
|
||||
<div class="flex gap-5">
|
||||
<a href="{{route('productos.index')}}" class="w-full sm:w-auto px-5 py-2 rounded-full text-white font-semibold bg-stone-500 hover:bg-stone-600">Volver</a>
|
||||
<a href="{{route('productos.edit',$producto)}}" class="w-full sm:w-auto px-5 py-2 rounded-full text-white font-semibold bg-blue-600 hover:bg-blue-700">Editar</a>
|
||||
<form action="{{route('productos.destroy',$producto)}}" method="post">
|
||||
<a href="{{ route('productos.edit', $product ) }}" class="w-full sm:w-auto px-5 py-2 rounded-full text-white font-semibold bg-blue-600 hover:bg-blue-700">Editar</a>
|
||||
<form action="{{route('productos.destroy',$product)}}" method="post">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="w-full sm:w-auto px-5 py-2 rounded-full text-white font-semibold bg-red-600 hover:bg-red-700">
|
||||
|
||||
+1
-3
@@ -41,12 +41,10 @@ Route::post('register', RegisterController::class)->name('register.store');
|
||||
|
||||
Route::middleware(['auth'])->group(function () {
|
||||
Route::resource('productos', ProductosController::class)->parameters([
|
||||
'products' => 'product'
|
||||
'productos' => 'product'
|
||||
]);
|
||||
Route::resource('clients', ClientController::class);
|
||||
Route::get('/checker', [ProductosController::class, 'checker'])->name('productos.checker');
|
||||
Route::get('/productos/{id}', [ProductosController::class,'show'])->name('productos.show');
|
||||
Route::get('/productos/{id}/edit', [ProductosController::class,'edit'])->name('productos.edit');
|
||||
|
||||
//Route::get('/sales', [SaleController::class, 'index'])->name('sales.index');
|
||||
Route::get('/sales/create', [SaleController::class, 'create'])->name('sales.create');
|
||||
|
||||
Reference in New Issue
Block a user