From 886ed8fb87c81f6eec941410623bf86eaafe3dff Mon Sep 17 00:00:00 2001 From: Rubi Date: Mon, 12 May 2025 20:06:36 -0600 Subject: [PATCH] usuarios aqui implemnete mi dasbord de usuarios, el cual puede agregar fotos y visualizarlas en la misma tabla, ahi esta la tabla y puede hacer las fotos mas grandes para que pueda verlas, hace un reporte y agrega fechas --- app/Http/Controllers/Auth/LoginController.php | 7 + .../Controllers/UserDashboardController.php | 23 ++ .../2024_03_19_create_user_dashboard_user.php | 31 +++ public/css/user-dashboard.css | 85 ++++++++ resources/views/layouts/app.blade.php | 7 +- .../user-dashboard/cuestionario.blade.php | 198 ++++++++++++++++++ .../views/user-dashboard/index.blade.php | 29 +++ routes/web.php | 8 + 8 files changed, 385 insertions(+), 3 deletions(-) create mode 100644 app/Http/Controllers/UserDashboardController.php create mode 100644 database/migrations/2024_03_19_create_user_dashboard_user.php create mode 100644 public/css/user-dashboard.css create mode 100644 resources/views/user-dashboard/cuestionario.blade.php create mode 100644 resources/views/user-dashboard/index.blade.php diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index fc8a88c..c96f45f 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -37,4 +37,11 @@ class LoginController extends Controller $this->middleware('guest')->except('logout'); $this->middleware('auth')->only('logout'); } + + protected function authenticated($request, $user) + { + if ($user->email === 'usuarios@usuariosgmail.com') { + return redirect('/user-dashboard'); + } + } } diff --git a/app/Http/Controllers/UserDashboardController.php b/app/Http/Controllers/UserDashboardController.php new file mode 100644 index 0000000..e3a307e --- /dev/null +++ b/app/Http/Controllers/UserDashboardController.php @@ -0,0 +1,23 @@ +middleware('auth'); + } + + public function index() + { + // Verificar si el usuario tiene el correo específico + if (auth()->user()->email !== 'usuarios@usuariosgmail.com') { + return redirect('/')->with('error', 'No tienes permiso para acceder a esta sección'); + } + + return view('user-dashboard.index'); + } +} diff --git a/database/migrations/2024_03_19_create_user_dashboard_user.php b/database/migrations/2024_03_19_create_user_dashboard_user.php new file mode 100644 index 0000000..96358b7 --- /dev/null +++ b/database/migrations/2024_03_19_create_user_dashboard_user.php @@ -0,0 +1,31 @@ +where('email', 'usuarios@usuariosgmail.com')->first(); + + if (!$user) { + DB::table('users')->insert([ + 'name' => 'Usuario Dashboard', + 'email' => 'usuarios@usuariosgmail.com', + 'password' => Hash::make('usuario123'), + 'created_at' => now(), + 'updated_at' => now(), + ]); + } + } + + public function down() + { + DB::table('users')->where('email', 'usuarios@usuariosgmail.com')->delete(); + } +}; diff --git a/public/css/user-dashboard.css b/public/css/user-dashboard.css new file mode 100644 index 0000000..7dbb1fa --- /dev/null +++ b/public/css/user-dashboard.css @@ -0,0 +1,85 @@ +body.user-dashboard-bg { + background: linear-gradient(120deg, #4158D0 0%, #5068c8 46%, #70e7ff 100%); + min-height: 100vh; +} + +.user-dashboard-header { + font-size: 2.2rem; + font-weight: 900; + color: #fff; + letter-spacing: 1px; + margin-top: 32px; + margin-left: 60px; + margin-bottom: 30px; + text-shadow: 0 2px 8px rgba(65,88,208,0.15); + text-align: left; +} + +.user-dashboard-card { + background: #fff; + border-radius: 24px; + box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15); + padding: 48px 32px; + max-width: 480px; + margin: 60px auto; + text-align: center; +} + +.user-dashboard-title { + font-size: 2.5rem; + font-weight: 800; + color: #2d3748; + margin-bottom: 18px; +} + +.user-dashboard-desc { + color: #6b7280; + font-size: 1.2rem; + margin-bottom: 32px; +} + +.user-dashboard-btn { + background: #4158D0; + color: #fff; + border: none; + border-radius: 8px; + padding: 14px 36px; + font-size: 1.1rem; + font-weight: 600; + box-shadow: 0 2px 8px rgba(65,88,208,0.15); + transition: background 0.2s; + cursor: pointer; +} +.user-dashboard-btn:hover { + background: #C850C0; + color: #fff; +} + +.user-dashboard-logout { + position: absolute; + top: 32px; + right: 60px; + z-index: 10; +} +.user-dashboard-logout-btn { + background: #e53e3e; + color: #fff; + border: none; + border-radius: 8px; + padding: 10px 22px; + font-size: 1rem; + font-weight: 600; + display: flex; + align-items: center; + gap: 8px; + box-shadow: 0 2px 8px rgba(229,62,62,0.15); + transition: background 0.2s; + cursor: pointer; +} +.user-dashboard-logout-btn:hover { + background: #c53030; + color: #fff; +} +.user-dashboard-logout-btn i { + font-size: 1.2rem; +} diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index a33b73f..173b932 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -14,12 +14,13 @@ - - + +
+ @if (!request()->is('user-dashboard') && !request()->is('user-dashboard/cuestionario'))
- + @endif
@yield('content')
diff --git a/resources/views/user-dashboard/cuestionario.blade.php b/resources/views/user-dashboard/cuestionario.blade.php new file mode 100644 index 0000000..4530f04 --- /dev/null +++ b/resources/views/user-dashboard/cuestionario.blade.php @@ -0,0 +1,198 @@ +@extends('layouts.app') + +@section('title', 'Reporte de Usuario - PrestamosTecmm') + + +@section('content') + + + + + + + +
+
+ @csrf + +
+
+
PrestamosTecmm
+
+
+

Reporte de Usuario

+
+
+

+ +
+
+

+ +
+
+

+ +
+
+

+ +
+
+

+ +
+
+

+ +
+ +
+
+
+ + + + + + + + + + + + + + +
Gasolina (salida)VehículoGasolina (regreso)Fecha salidaFecha regresoMotivo
+
+
+ + +@endsection diff --git a/resources/views/user-dashboard/index.blade.php b/resources/views/user-dashboard/index.blade.php new file mode 100644 index 0000000..d4984ea --- /dev/null +++ b/resources/views/user-dashboard/index.blade.php @@ -0,0 +1,29 @@ +@extends('layouts.app') + +@section('title', 'Dashboard - PrestamosTecmm') + + +@section('content') + + + + + + + +
+
+ @csrf + +
+
+
PrestamosTecmm
+
+

Bienvenido a los Préstamos TecMM

+

Gestiona tus préstamos de manera fácil y rápida

+
Ir a la siguiente sección +
+ +@endsection diff --git a/routes/web.php b/routes/web.php index e7b1b7b..7aa3297 100644 --- a/routes/web.php +++ b/routes/web.php @@ -104,3 +104,11 @@ Route::middleware(['auth', 'profesor'])->prefix('profesor')->name('profesor.')-> Route::get('/solicitudes/create', [SolicitudVehiculoController::class, 'create'])->name('solicitudes.create'); Route::post('/solicitudes', [SolicitudVehiculoController::class, 'store'])->name('solicitudes.store'); }); + +// Ruta para el dashboard de usuarios +Route::get('/user-dashboard', [App\Http\Controllers\UserDashboardController::class, 'index'])->name('user.dashboard'); + +// Ruta para el cuestionario del dashboard de usuario +Route::get('/user-dashboard/cuestionario', function () { + return view('user-dashboard.cuestionario'); +})->middleware('auth');