Initial commit: Lash Vanshy - Complete project with admin panel, gallery, products, and contact

This commit is contained in:
2026-04-08 00:23:16 -06:00
commit e07e065791
111 changed files with 17939 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Mensaje;
use Illuminate\Http\RedirectResponse;
use Illuminate\View\View;
class MensajeController extends Controller
{
/**
* Mostrar lista de mensajes
*/
public function index(): View
{
$mensajes = Mensaje::orderBy('created_at', 'desc')->paginate(15);
return view('admin.mensajes.index', compact('mensajes'));
}
/**
* Mostrar mensaje específico
*/
public function show(Mensaje $mensaje): View
{
// Marcar como leído al ver
if (! $mensaje->leido) {
$mensaje->marcarLeido();
}
return view('admin.mensajes.show', compact('mensaje'));
}
/**
* Alternar estado de leído/no leído
*/
public function markRead(Mensaje $mensaje): RedirectResponse
{
if ($mensaje->leido) {
$mensaje->marcarNoLeido();
$message = 'Mensaje marcado como no leído.';
} else {
$mensaje->marcarLeido();
$message = 'Mensaje marcado como leído.';
}
return back()->with('success', $message);
}
/**
* Eliminar mensaje
*/
public function destroy(Mensaje $mensaje): RedirectResponse
{
$mensaje->delete();
return redirect()->route('admin.mensajes.index')->with('success', 'Mensaje eliminado correctamente.');
}
/**
* Marcar todos los mensajes como leídos
*/
public function markAllRead(): RedirectResponse
{
Mensaje::where('leido', false)->update(['leido' => true]);
return back()->with('success', 'Todos los mensajes marcados como leídos.');
}
}