Browse Source

interfaz y dashboard

main
sergiomarquez778 1 month ago
parent
commit
0c68fa161b
  1. 4
      app/Http/Controllers/HomeController.php
  2. 153
      resources/views/auth/login.blade.php
  3. 9
      routes/web.php
  4. 2
      vite.config.js

4
app/Http/Controllers/HomeController.php

@ -23,6 +23,8 @@ class HomeController extends Controller
*/ */
public function index() public function index()
{ {
return view('home');
return view('dashboard');
} }
} }

153
resources/views/auth/login.blade.php

@ -1,73 +1,106 @@
@extends('layouts.app') <!DOCTYPE html>
<html lang="es">
@section('content') <head>
<div class="container"> <meta charset="UTF-8">
<div class="row justify-content-center"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<div class="col-md-8"> <title>Login - PrestamosTecmm</title>
<div class="card"> <!-- Tailwind CSS desde CDN -->
<div class="card-header">{{ __('Login') }}</div> <script src="https://cdn.tailwindcss.com"></script>
<!-- Font Awesome -->
<div class="card-body"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<form method="POST" action="{{ route('login') }}"> </head>
@csrf <body class="bg-gradient-to-br from-blue-600 to-blue-800 min-h-screen flex items-center justify-center p-4">
<div class="max-w-md w-full bg-white rounded-lg shadow-xl overflow-hidden">
<div class="p-6">
<div class="text-center mb-8">
<h2 class="text-3xl font-bold text-gray-800">PrestamosTecmm</h2>
<p class="text-gray-600 mt-2">Inicia sesión en tu cuenta</p>
</div>
<div class="row mb-3"> @if ($errors->any())
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label> <div class="mb-4 bg-red-50 border-l-4 border-red-500 p-4">
<div class="text-red-700">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
@endif
<div class="col-md-6"> <form method="POST" action="{{ route('login') }}" class="space-y-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus> @csrf
@error('email') <div>
<span class="invalid-feedback" role="alert"> <label for="email" class="block text-sm font-medium text-gray-700">
<strong>{{ $message }}</strong> Correo Electrónico
</span> </label>
@enderror <div class="mt-1 relative">
</div> <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
<i class="fas fa-envelope text-gray-400"></i>
</div> </div>
<input id="email" name="email" type="email" required
class="block w-full pl-10 pr-3 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500"
value="{{ old('email') }}"
placeholder="tu@email.com">
</div>
</div>
<div class="row mb-3"> <div>
<label for="password" class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label> <label for="password" class="block text-sm font-medium text-gray-700">
Contraseña
<div class="col-md-6"> </label>
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password"> <div class="mt-1 relative">
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
@error('password') <i class="fas fa-lock text-gray-400"></i>
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div> </div>
<input id="password" name="password" type="password" required
class="block w-full pl-10 pr-3 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500"
placeholder="••••••••">
</div>
</div>
<div class="row mb-3"> <div class="flex items-center justify-between">
<div class="col-md-6 offset-md-4"> <div class="flex items-center">
<div class="form-check"> <input id="remember_me" name="remember" type="checkbox"
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}> class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="remember_me" class="ml-2 block text-sm text-gray-700">
<label class="form-check-label" for="remember"> Recordarme
{{ __('Remember Me') }} </label>
</label> </div>
</div>
</div>
</div>
<div class="row mb-0"> @if (Route::has('password.request'))
<div class="col-md-8 offset-md-4"> <a href="{{ route('password.request') }}" class="text-sm text-blue-600 hover:text-blue-500">
<button type="submit" class="btn btn-primary"> ¿Olvidaste tu contraseña?
{{ __('Login') }} </a>
</button> @endif
</div>
@if (Route::has('password.request')) <div>
<a class="btn btn-link" href="{{ route('password.request') }}"> <button type="submit" class="w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">
{{ __('Forgot Your Password?') }} Iniciar Sesión
</a> </button>
@endif
</div>
</div>
</form>
</div> </div>
</form>
@if (Route::has('register'))
<div class="mt-6 text-center">
<p class="text-sm text-gray-600">
¿No tienes una cuenta?
<a href="{{ route('register') }}" class="font-medium text-blue-600 hover:text-blue-500">
Regístrate aquí
</a>
</p>
</div> </div>
@endif
</div> </div>
</div> </div>
</div>
@endsection <!-- Decoración de fondo -->
<div class="absolute top-0 left-0 w-full h-full pointer-events-none overflow-hidden">
<div class="absolute -top-1/2 -left-1/4 w-96 h-96 bg-blue-400 rounded-full opacity-10 transform rotate-45"></div>
<div class="absolute -bottom-1/2 -right-1/4 w-96 h-96 bg-blue-400 rounded-full opacity-10 transform -rotate-45"></div>
</div>
</body>
</html>

9
routes/web.php

@ -1,6 +1,7 @@
<?php <?php
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Http\Controllers\usuariosController;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -17,6 +18,12 @@ Route::get('/', function () {
return view('welcome'); return view('welcome');
}); });
Auth::routes(); Auth::routes(['register'=>false,'reset'=>false]);
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home'); Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Route::get('/usuarios', [usuariosController::class,'index'])->name('usuarios');
Route::get('/usuarios/nuevo', [usuariosController::class,'create'])->name('usuarios.create');
Route::post('/usuarios/store', [usuariosController::class,'store'])->name('usuarios.store');

2
vite.config.js

@ -5,7 +5,7 @@ export default defineConfig({
plugins: [ plugins: [
laravel({ laravel({
input: [ input: [
'resources/sass/app.scss', 'resources/css/app.css',
'resources/js/app.js', 'resources/js/app.js',
], ],
refresh: true, refresh: true,

Loading…
Cancel
Save