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()
{
return view('home');
return view('dashboard');
}
}

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

@ -1,73 +1,106 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Login') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('login') }}">
@csrf
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login - PrestamosTecmm</title>
<!-- Tailwind CSS desde CDN -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
</head>
<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">
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
@if ($errors->any())
<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">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
<form method="POST" action="{{ route('login') }}" class="space-y-6">
@csrf
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div>
<label for="email" class="block text-sm font-medium text-gray-700">
Correo Electrónico
</label>
<div class="mt-1 relative">
<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>
<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">
<label for="password" class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div>
<label for="password" class="block text-sm font-medium text-gray-700">
Contraseña
</label>
<div class="mt-1 relative">
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
<i class="fas fa-lock text-gray-400"></i>
</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="col-md-6 offset-md-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
<label class="form-check-label" for="remember">
{{ __('Remember Me') }}
</label>
</div>
</div>
</div>
<div class="flex items-center justify-between">
<div class="flex items-center">
<input id="remember_me" name="remember" type="checkbox"
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">
Recordarme
</label>
</div>
<div class="row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Login') }}
</button>
@if (Route::has('password.request'))
<a href="{{ route('password.request') }}" class="text-sm text-blue-600 hover:text-blue-500">
¿Olvidaste tu contraseña?
</a>
@endif
</div>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@endif
</div>
</div>
</form>
<div>
<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">
Iniciar Sesión
</button>
</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>
@endif
</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
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\usuariosController;
/*
|--------------------------------------------------------------------------
@ -17,6 +18,12 @@ Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Auth::routes(['register'=>false,'reset'=>false]);
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: [
laravel({
input: [
'resources/sass/app.scss',
'resources/css/app.css',
'resources/js/app.js',
],
refresh: true,

Loading…
Cancel
Save