34 changed files with 3124 additions and 15 deletions
@ -0,0 +1,39 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers\Auth; |
|||
|
|||
use App\Http\Controllers\Controller; |
|||
use Illuminate\Foundation\Auth\ConfirmsPasswords; |
|||
|
|||
class ConfirmPasswordController extends Controller |
|||
{ |
|||
/* |
|||
|-------------------------------------------------------------------------- |
|||
| Confirm Password Controller |
|||
|-------------------------------------------------------------------------- |
|||
| |
|||
| This controller is responsible for handling password confirmations and |
|||
| uses a simple trait to include the behavior. You're free to explore |
|||
| this trait and override any functions that require customization. |
|||
| |
|||
*/ |
|||
|
|||
use ConfirmsPasswords; |
|||
|
|||
/** |
|||
* Where to redirect users when the intended url fails. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $redirectTo = '/home'; |
|||
|
|||
/** |
|||
* Create a new controller instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
$this->middleware('auth'); |
|||
} |
|||
} |
@ -0,0 +1,22 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers\Auth; |
|||
|
|||
use App\Http\Controllers\Controller; |
|||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails; |
|||
|
|||
class ForgotPasswordController extends Controller |
|||
{ |
|||
/* |
|||
|-------------------------------------------------------------------------- |
|||
| Password Reset Controller |
|||
|-------------------------------------------------------------------------- |
|||
| |
|||
| This controller is responsible for handling password reset emails and |
|||
| includes a trait which assists in sending these notifications from |
|||
| your application to your users. Feel free to explore this trait. |
|||
| |
|||
*/ |
|||
|
|||
use SendsPasswordResetEmails; |
|||
} |
@ -0,0 +1,40 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers\Auth; |
|||
|
|||
use App\Http\Controllers\Controller; |
|||
use Illuminate\Foundation\Auth\AuthenticatesUsers; |
|||
|
|||
class LoginController extends Controller |
|||
{ |
|||
/* |
|||
|-------------------------------------------------------------------------- |
|||
| Login Controller |
|||
|-------------------------------------------------------------------------- |
|||
| |
|||
| This controller handles authenticating users for the application and |
|||
| redirecting them to your home screen. The controller uses a trait |
|||
| to conveniently provide its functionality to your applications. |
|||
| |
|||
*/ |
|||
|
|||
use AuthenticatesUsers; |
|||
|
|||
/** |
|||
* Where to redirect users after login. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $redirectTo = '/home'; |
|||
|
|||
/** |
|||
* Create a new controller instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
$this->middleware('guest')->except('logout'); |
|||
$this->middleware('auth')->only('logout'); |
|||
} |
|||
} |
@ -0,0 +1,72 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers\Auth; |
|||
|
|||
use App\Http\Controllers\Controller; |
|||
use App\Models\User; |
|||
use Illuminate\Foundation\Auth\RegistersUsers; |
|||
use Illuminate\Support\Facades\Hash; |
|||
use Illuminate\Support\Facades\Validator; |
|||
|
|||
class RegisterController extends Controller |
|||
{ |
|||
/* |
|||
|-------------------------------------------------------------------------- |
|||
| Register Controller |
|||
|-------------------------------------------------------------------------- |
|||
| |
|||
| This controller handles the registration of new users as well as their |
|||
| validation and creation. By default this controller uses a trait to |
|||
| provide this functionality without requiring any additional code. |
|||
| |
|||
*/ |
|||
|
|||
use RegistersUsers; |
|||
|
|||
/** |
|||
* Where to redirect users after registration. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $redirectTo = '/home'; |
|||
|
|||
/** |
|||
* Create a new controller instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
$this->middleware('guest'); |
|||
} |
|||
|
|||
/** |
|||
* Get a validator for an incoming registration request. |
|||
* |
|||
* @param array $data |
|||
* @return \Illuminate\Contracts\Validation\Validator |
|||
*/ |
|||
protected function validator(array $data) |
|||
{ |
|||
return Validator::make($data, [ |
|||
'name' => ['required', 'string', 'max:255'], |
|||
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], |
|||
'password' => ['required', 'string', 'min:8', 'confirmed'], |
|||
]); |
|||
} |
|||
|
|||
/** |
|||
* Create a new user instance after a valid registration. |
|||
* |
|||
* @param array $data |
|||
* @return \App\Models\User |
|||
*/ |
|||
protected function create(array $data) |
|||
{ |
|||
return User::create([ |
|||
'name' => $data['name'], |
|||
'email' => $data['email'], |
|||
'password' => Hash::make($data['password']), |
|||
]); |
|||
} |
|||
} |
@ -0,0 +1,29 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers\Auth; |
|||
|
|||
use App\Http\Controllers\Controller; |
|||
use Illuminate\Foundation\Auth\ResetsPasswords; |
|||
|
|||
class ResetPasswordController extends Controller |
|||
{ |
|||
/* |
|||
|-------------------------------------------------------------------------- |
|||
| Password Reset Controller |
|||
|-------------------------------------------------------------------------- |
|||
| |
|||
| This controller is responsible for handling password reset requests |
|||
| and uses a simple trait to include this behavior. You're free to |
|||
| explore this trait and override any methods you wish to tweak. |
|||
| |
|||
*/ |
|||
|
|||
use ResetsPasswords; |
|||
|
|||
/** |
|||
* Where to redirect users after resetting their password. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $redirectTo = '/home'; |
|||
} |
@ -0,0 +1,41 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers\Auth; |
|||
|
|||
use App\Http\Controllers\Controller; |
|||
use Illuminate\Foundation\Auth\VerifiesEmails; |
|||
|
|||
class VerificationController extends Controller |
|||
{ |
|||
/* |
|||
|-------------------------------------------------------------------------- |
|||
| Email Verification Controller |
|||
|-------------------------------------------------------------------------- |
|||
| |
|||
| This controller is responsible for handling email verification for any |
|||
| user that recently registered with the application. Emails may also |
|||
| be re-sent if the user didn't receive the original email message. |
|||
| |
|||
*/ |
|||
|
|||
use VerifiesEmails; |
|||
|
|||
/** |
|||
* Where to redirect users after verification. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $redirectTo = '/home'; |
|||
|
|||
/** |
|||
* Create a new controller instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
$this->middleware('auth'); |
|||
$this->middleware('signed')->only('verify'); |
|||
$this->middleware('throttle:6,1')->only('verify', 'resend'); |
|||
} |
|||
} |
@ -0,0 +1,28 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers; |
|||
|
|||
use Illuminate\Http\Request; |
|||
|
|||
class HomeController extends Controller |
|||
{ |
|||
/** |
|||
* Create a new controller instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
$this->middleware('auth'); |
|||
} |
|||
|
|||
/** |
|||
* Show the application dashboard. |
|||
* |
|||
* @return \Illuminate\Contracts\Support\Renderable |
|||
*/ |
|||
public function index() |
|||
{ |
|||
return view('home'); |
|||
} |
|||
} |
@ -0,0 +1,72 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers; |
|||
|
|||
use App\Models\User; |
|||
use Illuminate\Http\Request; |
|||
|
|||
|
|||
class usuariosController extends Controller |
|||
{ |
|||
/** |
|||
* Display a listing of the resource. |
|||
*/ |
|||
public function index() |
|||
{ |
|||
$user=User::all(); |
|||
|
|||
return view('usuarios',['user'=>$user]); |
|||
} |
|||
|
|||
/** |
|||
* Show the form for creating a new resource. |
|||
*/ |
|||
public function create() |
|||
{ |
|||
return view('usuariosCrearEditar'); |
|||
|
|||
} |
|||
|
|||
/** |
|||
* Store a newly created resource in storage. |
|||
*/ |
|||
public function store(Request $request) |
|||
{ |
|||
|
|||
$user = new User($request->all()); |
|||
$user->save(); |
|||
return redirect()->route('usuarios'); |
|||
} |
|||
|
|||
/** |
|||
* Display the specified resource. |
|||
*/ |
|||
public function show(string $id) |
|||
{ |
|||
// |
|||
} |
|||
|
|||
/** |
|||
* Show the form for editing the specified resource. |
|||
*/ |
|||
public function edit(string $id) |
|||
{ |
|||
// |
|||
} |
|||
|
|||
/** |
|||
* Update the specified resource in storage. |
|||
*/ |
|||
public function update(Request $request, string $id) |
|||
{ |
|||
// |
|||
} |
|||
|
|||
/** |
|||
* Remove the specified resource from storage. |
|||
*/ |
|||
public function destroy(string $id) |
|||
{ |
|||
// |
|||
} |
|||
} |
@ -0,0 +1,32 @@ |
|||
<?php |
|||
|
|||
use Illuminate\Database\Migrations\Migration; |
|||
use Illuminate\Database\Schema\Blueprint; |
|||
use Illuminate\Support\Facades\Schema; |
|||
|
|||
return new class extends Migration |
|||
{ |
|||
/** |
|||
* Run the migrations. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function up() |
|||
{ |
|||
Schema::create('password_resets', function (Blueprint $table) { |
|||
$table->string('email')->index(); |
|||
$table->string('token'); |
|||
$table->timestamp('created_at')->nullable(); |
|||
}); |
|||
} |
|||
|
|||
/** |
|||
* Reverse the migrations. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function down() |
|||
{ |
|||
Schema::dropIfExists('password_resets'); |
|||
} |
|||
}; |
File diff suppressed because it is too large
@ -0,0 +1,277 @@ |
|||
/********** Template CSS **********/ |
|||
:root { |
|||
--primary: #009CFF; |
|||
--light: #F3F6F9; |
|||
--dark: #191C24; |
|||
} |
|||
|
|||
.back-to-top { |
|||
position: fixed; |
|||
display: none; |
|||
right: 45px; |
|||
bottom: 45px; |
|||
z-index: 99; |
|||
} |
|||
|
|||
|
|||
/*** Spinner ***/ |
|||
#spinner { |
|||
opacity: 0; |
|||
visibility: hidden; |
|||
transition: opacity .5s ease-out, visibility 0s linear .5s; |
|||
z-index: 99999; |
|||
} |
|||
|
|||
#spinner.show { |
|||
transition: opacity .5s ease-out, visibility 0s linear 0s; |
|||
visibility: visible; |
|||
opacity: 1; |
|||
} |
|||
|
|||
|
|||
/*** Button ***/ |
|||
.btn { |
|||
transition: .5s; |
|||
} |
|||
|
|||
.btn.btn-primary { |
|||
color: #FFFFFF; |
|||
} |
|||
|
|||
.btn-square { |
|||
width: 38px; |
|||
height: 38px; |
|||
} |
|||
|
|||
.btn-sm-square { |
|||
width: 32px; |
|||
height: 32px; |
|||
} |
|||
|
|||
.btn-lg-square { |
|||
width: 48px; |
|||
height: 48px; |
|||
} |
|||
|
|||
.btn-square, |
|||
.btn-sm-square, |
|||
.btn-lg-square { |
|||
padding: 0; |
|||
display: inline-flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-weight: normal; |
|||
border-radius: 50px; |
|||
} |
|||
|
|||
|
|||
/*** Layout ***/ |
|||
.sidebar { |
|||
position: fixed; |
|||
top: 0; |
|||
left: 0; |
|||
bottom: 0; |
|||
width: 250px; |
|||
height: 100vh; |
|||
overflow-y: auto; |
|||
background: var(--light); |
|||
transition: 0.5s; |
|||
z-index: 999; |
|||
} |
|||
|
|||
.content { |
|||
margin-left: 250px; |
|||
min-height: 100vh; |
|||
background: #FFFFFF; |
|||
transition: 0.5s; |
|||
} |
|||
|
|||
@media (min-width: 992px) { |
|||
.sidebar { |
|||
margin-left: 0; |
|||
} |
|||
|
|||
.sidebar.open { |
|||
margin-left: -250px; |
|||
} |
|||
|
|||
.content { |
|||
width: calc(100% - 250px); |
|||
} |
|||
|
|||
.content.open { |
|||
width: 100%; |
|||
margin-left: 0; |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 991.98px) { |
|||
.sidebar { |
|||
margin-left: -250px; |
|||
} |
|||
|
|||
.sidebar.open { |
|||
margin-left: 0; |
|||
} |
|||
|
|||
.content { |
|||
width: 100%; |
|||
margin-left: 0; |
|||
} |
|||
} |
|||
|
|||
|
|||
/*** Navbar ***/ |
|||
.sidebar .navbar .navbar-nav .nav-link { |
|||
padding: 7px 20px; |
|||
color: var(--dark); |
|||
font-weight: 500; |
|||
border-left: 3px solid var(--light); |
|||
border-radius: 0 30px 30px 0; |
|||
outline: none; |
|||
} |
|||
|
|||
.sidebar .navbar .navbar-nav .nav-link:hover, |
|||
.sidebar .navbar .navbar-nav .nav-link.active { |
|||
color: var(--primary); |
|||
background: #FFFFFF; |
|||
border-color: var(--primary); |
|||
} |
|||
|
|||
.sidebar .navbar .navbar-nav .nav-link i { |
|||
width: 40px; |
|||
height: 40px; |
|||
display: inline-flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
background: #FFFFFF; |
|||
border-radius: 40px; |
|||
} |
|||
|
|||
.sidebar .navbar .navbar-nav .nav-link:hover i, |
|||
.sidebar .navbar .navbar-nav .nav-link.active i { |
|||
background: var(--light); |
|||
} |
|||
|
|||
.sidebar .navbar .dropdown-toggle::after { |
|||
position: absolute; |
|||
top: 15px; |
|||
right: 15px; |
|||
border: none; |
|||
content: "\f107"; |
|||
font-family: "Font Awesome 5 Free"; |
|||
font-weight: 900; |
|||
transition: .5s; |
|||
} |
|||
|
|||
.sidebar .navbar .dropdown-toggle[aria-expanded=true]::after { |
|||
transform: rotate(-180deg); |
|||
} |
|||
|
|||
.sidebar .navbar .dropdown-item { |
|||
padding-left: 25px; |
|||
border-radius: 0 30px 30px 0; |
|||
} |
|||
|
|||
.content .navbar .navbar-nav .nav-link { |
|||
margin-left: 25px; |
|||
padding: 12px 0; |
|||
color: var(--dark); |
|||
outline: none; |
|||
} |
|||
|
|||
.content .navbar .navbar-nav .nav-link:hover, |
|||
.content .navbar .navbar-nav .nav-link.active { |
|||
color: var(--primary); |
|||
} |
|||
|
|||
.content .navbar .sidebar-toggler, |
|||
.content .navbar .navbar-nav .nav-link i { |
|||
width: 40px; |
|||
height: 40px; |
|||
display: inline-flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
background: #FFFFFF; |
|||
border-radius: 40px; |
|||
} |
|||
|
|||
.content .navbar .dropdown-toggle::after { |
|||
margin-left: 6px; |
|||
vertical-align: middle; |
|||
border: none; |
|||
content: "\f107"; |
|||
font-family: "Font Awesome 5 Free"; |
|||
font-weight: 900; |
|||
transition: .5s; |
|||
} |
|||
|
|||
.content .navbar .dropdown-toggle[aria-expanded=true]::after { |
|||
transform: rotate(-180deg); |
|||
} |
|||
|
|||
@media (max-width: 575.98px) { |
|||
.content .navbar .navbar-nav .nav-link { |
|||
margin-left: 15px; |
|||
} |
|||
} |
|||
|
|||
|
|||
/*** Date Picker ***/ |
|||
.bootstrap-datetimepicker-widget.bottom { |
|||
top: auto !important; |
|||
} |
|||
|
|||
.bootstrap-datetimepicker-widget .table * { |
|||
border-bottom-width: 0px; |
|||
} |
|||
|
|||
.bootstrap-datetimepicker-widget .table th { |
|||
font-weight: 500; |
|||
} |
|||
|
|||
.bootstrap-datetimepicker-widget.dropdown-menu { |
|||
padding: 10px; |
|||
border-radius: 2px; |
|||
} |
|||
|
|||
.bootstrap-datetimepicker-widget table td.active, |
|||
.bootstrap-datetimepicker-widget table td.active:hover { |
|||
background: var(--primary); |
|||
} |
|||
|
|||
.bootstrap-datetimepicker-widget table td.today::before { |
|||
border-bottom-color: var(--primary); |
|||
} |
|||
|
|||
|
|||
/*** Testimonial ***/ |
|||
.progress .progress-bar { |
|||
width: 0px; |
|||
transition: 2s; |
|||
} |
|||
|
|||
|
|||
/*** Testimonial ***/ |
|||
.testimonial-carousel .owl-dots { |
|||
margin-top: 24px; |
|||
display: flex; |
|||
align-items: flex-end; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.testimonial-carousel .owl-dot { |
|||
position: relative; |
|||
display: inline-block; |
|||
margin: 0 5px; |
|||
width: 15px; |
|||
height: 15px; |
|||
border: 5px solid var(--primary); |
|||
border-radius: 15px; |
|||
transition: .5s; |
|||
} |
|||
|
|||
.testimonial-carousel .owl-dot.active { |
|||
background: var(--dark); |
|||
border-color: var(--primary); |
|||
} |
@ -0,0 +1,7 @@ |
|||
// Body |
|||
$body-bg: #f8fafc; |
|||
|
|||
// Typography |
|||
$font-family-sans-serif: 'Nunito', sans-serif; |
|||
$font-size-base: 0.9rem; |
|||
$line-height-base: 1.6; |
@ -0,0 +1,8 @@ |
|||
// Fonts |
|||
@import url('https://fonts.bunny.net/css?family=Nunito'); |
|||
|
|||
// Variables |
|||
@import 'variables'; |
|||
|
|||
// Bootstrap |
|||
@import 'bootstrap/scss/bootstrap'; |
@ -0,0 +1,73 @@ |
|||
@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 |
|||
|
|||
<div class="row mb-3"> |
|||
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label> |
|||
|
|||
<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> |
|||
|
|||
@error('email') |
|||
<span class="invalid-feedback" role="alert"> |
|||
<strong>{{ $message }}</strong> |
|||
</span> |
|||
@enderror |
|||
</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> |
|||
|
|||
<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="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 class="btn btn-link" href="{{ route('password.request') }}"> |
|||
{{ __('Forgot Your Password?') }} |
|||
</a> |
|||
@endif |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,49 @@ |
|||
@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">{{ __('Confirm Password') }}</div> |
|||
|
|||
<div class="card-body"> |
|||
{{ __('Please confirm your password before continuing.') }} |
|||
|
|||
<form method="POST" action="{{ route('password.confirm') }}"> |
|||
@csrf |
|||
|
|||
<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> |
|||
|
|||
<div class="row mb-0"> |
|||
<div class="col-md-8 offset-md-4"> |
|||
<button type="submit" class="btn btn-primary"> |
|||
{{ __('Confirm Password') }} |
|||
</button> |
|||
|
|||
@if (Route::has('password.request')) |
|||
<a class="btn btn-link" href="{{ route('password.request') }}"> |
|||
{{ __('Forgot Your Password?') }} |
|||
</a> |
|||
@endif |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,47 @@ |
|||
@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">{{ __('Reset Password') }}</div> |
|||
|
|||
<div class="card-body"> |
|||
@if (session('status')) |
|||
<div class="alert alert-success" role="alert"> |
|||
{{ session('status') }} |
|||
</div> |
|||
@endif |
|||
|
|||
<form method="POST" action="{{ route('password.email') }}"> |
|||
@csrf |
|||
|
|||
<div class="row mb-3"> |
|||
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label> |
|||
|
|||
<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> |
|||
|
|||
@error('email') |
|||
<span class="invalid-feedback" role="alert"> |
|||
<strong>{{ $message }}</strong> |
|||
</span> |
|||
@enderror |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row mb-0"> |
|||
<div class="col-md-6 offset-md-4"> |
|||
<button type="submit" class="btn btn-primary"> |
|||
{{ __('Send Password Reset Link') }} |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,65 @@ |
|||
@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">{{ __('Reset Password') }}</div> |
|||
|
|||
<div class="card-body"> |
|||
<form method="POST" action="{{ route('password.update') }}"> |
|||
@csrf |
|||
|
|||
<input type="hidden" name="token" value="{{ $token }}"> |
|||
|
|||
<div class="row mb-3"> |
|||
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label> |
|||
|
|||
<div class="col-md-6"> |
|||
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ $email ?? old('email') }}" required autocomplete="email" autofocus> |
|||
|
|||
@error('email') |
|||
<span class="invalid-feedback" role="alert"> |
|||
<strong>{{ $message }}</strong> |
|||
</span> |
|||
@enderror |
|||
</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="new-password"> |
|||
|
|||
@error('password') |
|||
<span class="invalid-feedback" role="alert"> |
|||
<strong>{{ $message }}</strong> |
|||
</span> |
|||
@enderror |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row mb-3"> |
|||
<label for="password-confirm" class="col-md-4 col-form-label text-md-end">{{ __('Confirm Password') }}</label> |
|||
|
|||
<div class="col-md-6"> |
|||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password"> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row mb-0"> |
|||
<div class="col-md-6 offset-md-4"> |
|||
<button type="submit" class="btn btn-primary"> |
|||
{{ __('Reset Password') }} |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,77 @@ |
|||
@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">{{ __('Register') }}</div> |
|||
|
|||
<div class="card-body"> |
|||
<form method="POST" action="{{ route('register') }}"> |
|||
@csrf |
|||
|
|||
<div class="row mb-3"> |
|||
<label for="name" class="col-md-4 col-form-label text-md-end">{{ __('Name') }}</label> |
|||
|
|||
<div class="col-md-6"> |
|||
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus> |
|||
|
|||
@error('name') |
|||
<span class="invalid-feedback" role="alert"> |
|||
<strong>{{ $message }}</strong> |
|||
</span> |
|||
@enderror |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row mb-3"> |
|||
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label> |
|||
|
|||
<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"> |
|||
|
|||
@error('email') |
|||
<span class="invalid-feedback" role="alert"> |
|||
<strong>{{ $message }}</strong> |
|||
</span> |
|||
@enderror |
|||
</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="new-password"> |
|||
|
|||
@error('password') |
|||
<span class="invalid-feedback" role="alert"> |
|||
<strong>{{ $message }}</strong> |
|||
</span> |
|||
@enderror |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row mb-3"> |
|||
<label for="password-confirm" class="col-md-4 col-form-label text-md-end">{{ __('Confirm Password') }}</label> |
|||
|
|||
<div class="col-md-6"> |
|||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password"> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row mb-0"> |
|||
<div class="col-md-6 offset-md-4"> |
|||
<button type="submit" class="btn btn-primary"> |
|||
{{ __('Register') }} |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,28 @@ |
|||
@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">{{ __('Verify Your Email Address') }}</div> |
|||
|
|||
<div class="card-body"> |
|||
@if (session('resent')) |
|||
<div class="alert alert-success" role="alert"> |
|||
{{ __('A fresh verification link has been sent to your email address.') }} |
|||
</div> |
|||
@endif |
|||
|
|||
{{ __('Before proceeding, please check your email for a verification link.') }} |
|||
{{ __('If you did not receive the email') }}, |
|||
<form class="d-inline" method="POST" action="{{ route('verification.resend') }}"> |
|||
@csrf |
|||
<button type="submit" class="btn btn-link p-0 m-0 align-baseline">{{ __('click here to request another') }}</button>. |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,23 @@ |
|||
@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">{{ __('Dashboard') }}</div> |
|||
|
|||
<div class="card-body"> |
|||
@if (session('status')) |
|||
<div class="alert alert-success" role="alert"> |
|||
{{ session('status') }} |
|||
</div> |
|||
@endif |
|||
|
|||
{{ __('You are logged in!') }} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,273 @@ |
|||
@extends('layouts.plantilla') |
|||
|
|||
@section('titulo') |
|||
Inicio |
|||
@endsection |
|||
|
|||
@section('contenido') |
|||
<!-- Sale & Revenue Start --> |
|||
<div class="container-fluid pt-4 px-4"> |
|||
<div class="row g-4"> |
|||
<div class="col-sm-6 col-xl-3"> |
|||
<div class="bg-light rounded d-flex align-items-center justify-content-between p-4"> |
|||
<i class="fa fa-chart-line fa-3x text-primary"></i> |
|||
<div class="ms-3"> |
|||
<p class="mb-2">Today Sale</p> |
|||
<h6 class="mb-0">$1234</h6> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-sm-6 col-xl-3"> |
|||
<div class="bg-light rounded d-flex align-items-center justify-content-between p-4"> |
|||
<i class="fa fa-chart-bar fa-3x text-primary"></i> |
|||
<div class="ms-3"> |
|||
<p class="mb-2">Total Sale</p> |
|||
<h6 class="mb-0">$1234</h6> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-sm-6 col-xl-3"> |
|||
<div class="bg-light rounded d-flex align-items-center justify-content-between p-4"> |
|||
<i class="fa fa-chart-area fa-3x text-primary"></i> |
|||
<div class="ms-3"> |
|||
<p class="mb-2">Today Revenue</p> |
|||
<h6 class="mb-0">$1234</h6> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-sm-6 col-xl-3"> |
|||
<div class="bg-light rounded d-flex align-items-center justify-content-between p-4"> |
|||
<i class="fa fa-chart-pie fa-3x text-primary"></i> |
|||
<div class="ms-3"> |
|||
<p class="mb-2">Total Revenue</p> |
|||
<h6 class="mb-0">$1234</h6> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Sale & Revenue End --> |
|||
|
|||
|
|||
<!-- Sales Chart Start --> |
|||
<div class="container-fluid pt-4 px-4"> |
|||
<div class="row g-4"> |
|||
<div class="col-sm-12 col-xl-6"> |
|||
<div class="bg-light text-center rounded p-4"> |
|||
<div class="d-flex align-items-center justify-content-between mb-4"> |
|||
<h6 class="mb-0">Worldwide Sales</h6> |
|||
<a href="">Show All</a> |
|||
</div> |
|||
<canvas id="worldwide-sales"></canvas> |
|||
</div> |
|||
</div> |
|||
<div class="col-sm-12 col-xl-6"> |
|||
<div class="bg-light text-center rounded p-4"> |
|||
<div class="d-flex align-items-center justify-content-between mb-4"> |
|||
<h6 class="mb-0">Salse & Revenue</h6> |
|||
<a href="">Show All</a> |
|||
</div> |
|||
<canvas id="salse-revenue"></canvas> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Sales Chart End --> |
|||
|
|||
|
|||
<!-- Recent Sales Start --> |
|||
<div class="container-fluid pt-4 px-4"> |
|||
<div class="bg-light text-center rounded p-4"> |
|||
<div class="d-flex align-items-center justify-content-between mb-4"> |
|||
<h6 class="mb-0">Recent Salse</h6> |
|||
<a href="">Show All</a> |
|||
</div> |
|||
<div class="table-responsive"> |
|||
<table class="table text-start align-middle table-bordered table-hover mb-0"> |
|||
<thead> |
|||
<tr class="text-dark"> |
|||
<th scope="col"><input class="form-check-input" type="checkbox"></th> |
|||
<th scope="col">Date</th> |
|||
<th scope="col">Invoice</th> |
|||
<th scope="col">Customer</th> |
|||
<th scope="col">Amount</th> |
|||
<th scope="col">Status</th> |
|||
<th scope="col">Action</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<tr> |
|||
<td><input class="form-check-input" type="checkbox"></td> |
|||
<td>01 Jan 2045</td> |
|||
<td>INV-0123</td> |
|||
<td>Jhon Doe</td> |
|||
<td>$123</td> |
|||
<td>Paid</td> |
|||
<td><a class="btn btn-sm btn-primary" href="">Detail</a></td> |
|||
</tr> |
|||
<tr> |
|||
<td><input class="form-check-input" type="checkbox"></td> |
|||
<td>01 Jan 2045</td> |
|||
<td>INV-0123</td> |
|||
<td>Jhon Doe</td> |
|||
<td>$123</td> |
|||
<td>Paid</td> |
|||
<td><a class="btn btn-sm btn-primary" href="">Detail</a></td> |
|||
</tr> |
|||
<tr> |
|||
<td><input class="form-check-input" type="checkbox"></td> |
|||
<td>01 Jan 2045</td> |
|||
<td>INV-0123</td> |
|||
<td>Jhon Doe</td> |
|||
<td>$123</td> |
|||
<td>Paid</td> |
|||
<td><a class="btn btn-sm btn-primary" href="">Detail</a></td> |
|||
</tr> |
|||
<tr> |
|||
<td><input class="form-check-input" type="checkbox"></td> |
|||
<td>01 Jan 2045</td> |
|||
<td>INV-0123</td> |
|||
<td>Jhon Doe</td> |
|||
<td>$123</td> |
|||
<td>Paid</td> |
|||
<td><a class="btn btn-sm btn-primary" href="">Detail</a></td> |
|||
</tr> |
|||
<tr> |
|||
<td><input class="form-check-input" type="checkbox"></td> |
|||
<td>01 Jan 2045</td> |
|||
<td>INV-0123</td> |
|||
<td>Jhon Doe</td> |
|||
<td>$123</td> |
|||
<td>Paid</td> |
|||
<td><a class="btn btn-sm btn-primary" href="">Detail</a></td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Recent Sales End --> |
|||
|
|||
|
|||
<!-- Widgets Start --> |
|||
<div class="container-fluid pt-4 px-4"> |
|||
<div class="row g-4"> |
|||
<div class="col-sm-12 col-md-6 col-xl-4"> |
|||
<div class="h-100 bg-light rounded p-4"> |
|||
<div class="d-flex align-items-center justify-content-between mb-2"> |
|||
<h6 class="mb-0">Messages</h6> |
|||
<a href="">Show All</a> |
|||
</div> |
|||
<div class="d-flex align-items-center border-bottom py-3"> |
|||
<img class="rounded-circle flex-shrink-0" src="img/user.jpg" alt="" style="width: 40px; height: 40px;"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 justify-content-between"> |
|||
<h6 class="mb-0">Jhon Doe</h6> |
|||
<small>15 minutes ago</small> |
|||
</div> |
|||
<span>Short message goes here...</span> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex align-items-center border-bottom py-3"> |
|||
<img class="rounded-circle flex-shrink-0" src="img/user.jpg" alt="" style="width: 40px; height: 40px;"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 justify-content-between"> |
|||
<h6 class="mb-0">Jhon Doe</h6> |
|||
<small>15 minutes ago</small> |
|||
</div> |
|||
<span>Short message goes here...</span> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex align-items-center border-bottom py-3"> |
|||
<img class="rounded-circle flex-shrink-0" src="img/user.jpg" alt="" style="width: 40px; height: 40px;"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 justify-content-between"> |
|||
<h6 class="mb-0">Jhon Doe</h6> |
|||
<small>15 minutes ago</small> |
|||
</div> |
|||
<span>Short message goes here...</span> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex align-items-center pt-3"> |
|||
<img class="rounded-circle flex-shrink-0" src="img/user.jpg" alt="" style="width: 40px; height: 40px;"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 justify-content-between"> |
|||
<h6 class="mb-0">Jhon Doe</h6> |
|||
<small>15 minutes ago</small> |
|||
</div> |
|||
<span>Short message goes here...</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-sm-12 col-md-6 col-xl-4"> |
|||
<div class="h-100 bg-light rounded p-4"> |
|||
<div class="d-flex align-items-center justify-content-between mb-4"> |
|||
<h6 class="mb-0">Calender</h6> |
|||
<a href="">Show All</a> |
|||
</div> |
|||
<div id="calender"></div> |
|||
</div> |
|||
</div> |
|||
<div class="col-sm-12 col-md-6 col-xl-4"> |
|||
<div class="h-100 bg-light rounded p-4"> |
|||
<div class="d-flex align-items-center justify-content-between mb-4"> |
|||
<h6 class="mb-0">To Do List</h6> |
|||
<a href="">Show All</a> |
|||
</div> |
|||
<div class="d-flex mb-2"> |
|||
<input class="form-control bg-transparent" type="text" placeholder="Enter task"> |
|||
<button type="button" class="btn btn-primary ms-2">Add</button> |
|||
</div> |
|||
<div class="d-flex align-items-center border-bottom py-2"> |
|||
<input class="form-check-input m-0" type="checkbox"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 align-items-center justify-content-between"> |
|||
<span>Short task goes here...</span> |
|||
<button class="btn btn-sm"><i class="fa fa-times"></i></button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex align-items-center border-bottom py-2"> |
|||
<input class="form-check-input m-0" type="checkbox"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 align-items-center justify-content-between"> |
|||
<span>Short task goes here...</span> |
|||
<button class="btn btn-sm"><i class="fa fa-times"></i></button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex align-items-center border-bottom py-2"> |
|||
<input class="form-check-input m-0" type="checkbox" checked> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 align-items-center justify-content-between"> |
|||
<span><del>Short task goes here...</del></span> |
|||
<button class="btn btn-sm text-primary"><i class="fa fa-times"></i></button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex align-items-center border-bottom py-2"> |
|||
<input class="form-check-input m-0" type="checkbox"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 align-items-center justify-content-between"> |
|||
<span>Short task goes here...</span> |
|||
<button class="btn btn-sm"><i class="fa fa-times"></i></button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex align-items-center pt-2"> |
|||
<input class="form-check-input m-0" type="checkbox"> |
|||
<div class="w-100 ms-3"> |
|||
<div class="d-flex w-100 align-items-center justify-content-between"> |
|||
<span>Short task goes here...</span> |
|||
<button class="btn btn-sm"><i class="fa fa-times"></i></button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Widgets End --> |
|||
|
|||
@endsection |
@ -0,0 +1,80 @@ |
|||
<!doctype html> |
|||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1"> |
|||
|
|||
<!-- CSRF Token --> |
|||
<meta name="csrf-token" content="{{ csrf_token() }}"> |
|||
|
|||
<title>{{ config('app.name', 'Laravel') }}</title> |
|||
|
|||
<!-- Fonts --> |
|||
<link rel="dns-prefetch" href="//fonts.bunny.net"> |
|||
<link href="https://fonts.bunny.net/css?family=Nunito" rel="stylesheet"> |
|||
|
|||
<!-- Scripts --> |
|||
@vite(['resources/sass/app.scss', 'resources/js/app.js']) |
|||
</head> |
|||
<body> |
|||
<div id="app"> |
|||
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm"> |
|||
<div class="container"> |
|||
<a class="navbar-brand" href="{{ url('/') }}"> |
|||
{{ config('app.name', 'Laravel') }} |
|||
</a> |
|||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> |
|||
<span class="navbar-toggler-icon"></span> |
|||
</button> |
|||
|
|||
<div class="collapse navbar-collapse" id="navbarSupportedContent"> |
|||
<!-- Left Side Of Navbar --> |
|||
<ul class="navbar-nav me-auto"> |
|||
|
|||
</ul> |
|||
|
|||
<!-- Right Side Of Navbar --> |
|||
<ul class="navbar-nav ms-auto"> |
|||
<!-- Authentication Links --> |
|||
@guest |
|||
@if (Route::has('login')) |
|||
<li class="nav-item"> |
|||
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a> |
|||
</li> |
|||
@endif |
|||
|
|||
@if (Route::has('register')) |
|||
<li class="nav-item"> |
|||
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a> |
|||
</li> |
|||
@endif |
|||
@else |
|||
<li class="nav-item dropdown"> |
|||
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> |
|||
{{ Auth::user()->name }} |
|||
</a> |
|||
|
|||
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown"> |
|||
<a class="dropdown-item" href="{{ route('logout') }}" |
|||
onclick="event.preventDefault(); |
|||
document.getElementById('logout-form').submit();"> |
|||
{{ __('Logout') }} |
|||
</a> |
|||
|
|||
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none"> |
|||
@csrf |
|||
</form> |
|||
</div> |
|||
</li> |
|||
@endguest |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</nav> |
|||
|
|||
<main class="py-4"> |
|||
@yield('content') |
|||
</main> |
|||
</div> |
|||
</body> |
|||
</html> |
@ -0,0 +1,17 @@ |
|||
<!-- Footer Start --> |
|||
<div class="container-fluid pt-4 px-4"> |
|||
<div class="bg-light rounded-top p-4"> |
|||
<div class="row"> |
|||
<div class="col-12 col-sm-6 text-center text-sm-start"> |
|||
© <a href="#">Your Site Name</a>, All Right Reserved. |
|||
</div> |
|||
<div class="col-12 col-sm-6 text-center text-sm-end"> |
|||
<!--/*** This template is free as long as you keep the footer author’s credit link/attribution link/backlink. If you'd like to use the template without the footer author’s credit link/attribution link/backlink, you can purchase the Credit Removal License from "https://htmlcodex.com/credit-removal". Thank you for your support. ***/--> |
|||
Designed By <a href="https://htmlcodex.com">HTML Codex</a> |
|||
</br> |
|||
Distributed By <a class="border-bottom" href="https://themewagon.com" target="_blank">ThemeWagon</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Footer End --> |
@ -0,0 +1,30 @@ |
|||
<!-- Navbar Start --> |
|||
<nav class="navbar navbar-expand bg-light navbar-light sticky-top px-4 py-0"> |
|||
<a href="index.html" class="navbar-brand d-flex d-lg-none me-4"> |
|||
<h2 class="text-primary mb-0"><i class="fa fa-hashtag"></i></h2> |
|||
</a> |
|||
<a href="#" class="sidebar-toggler flex-shrink-0"> |
|||
<i class="fa fa-bars"></i> |
|||
</a> |
|||
|
|||
<div class="navbar-nav align-items-center ms-auto"> |
|||
|
|||
<div class="nav-item dropdown"> |
|||
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown"> |
|||
<img class="rounded-circle me-lg-2" src="{{asset('img/avatar.jpeg')}}" alt="" style="width: 40px; height: 40px;"> |
|||
<span class="d-none d-lg-inline-flex">{{Auth::user()->name}}</span> |
|||
</a> |
|||
<div class="dropdown-menu dropdown-menu-end bg-light border-0 rounded-0 rounded-bottom m-0"> |
|||
<a href="#" class="dropdown-item">My Profile</a> |
|||
<a href="#" class="dropdown-item">Settings</a> |
|||
<a href="#" class="dropdown-item" href="{{ route('logout') }}" |
|||
onclick="event.preventDefault(); |
|||
document.getElementById('logout-form').submit();">Log Out</a> |
|||
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none"> |
|||
@csrf |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</nav> |
|||
<!-- Navbar End --> |
@ -0,0 +1,39 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> |
|||
|
|||
<!-- Google Web Fonts --> |
|||
<link rel="preconnect" href="https://fonts.googleapis.com"> |
|||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
|||
<link href="https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700&display=swap" rel="stylesheet"> |
|||
|
|||
<!-- Icon Font Stylesheet --> |
|||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.0/css/all.min.css" rel="stylesheet"> |
|||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.4.1/font/bootstrap-icons.css" rel="stylesheet"> |
|||
|
|||
|
|||
<link rel="stylesheet" href="{{asset('css/style.css')}}"> |
|||
<title>@yield('titulo')</title> |
|||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> |
|||
</head> |
|||
<body> |
|||
<div class="container-xxl position-relative bg-white d-flex p-0"> |
|||
@include('layouts.siderbar') |
|||
<div class="content"> |
|||
@include('layouts.nadbar') |
|||
@yield('contenido') |
|||
@include('layouts.footer') |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<script src="{{asset('js/main.js')}}"></script> |
|||
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> |
|||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script> |
|||
|
|||
</body> |
|||
</html> |
@ -0,0 +1,40 @@ |
|||
<!-- Sidebar Start --> |
|||
<div class="sidebar pe-4 pb-3"> |
|||
<nav class="navbar bg-light navbar-light"> |
|||
<a href="index.html" class="navbar-brand mx-4 mb-3"> |
|||
<h3 class="text-primary"><i class="fa fa-hashtag me-2"></i>DASHMIN</h3> |
|||
</a> |
|||
<div class="d-flex align-items-center ms-4 mb-4"> |
|||
<div class="position-relative"> |
|||
<img class="rounded-circle" src="{{asset('img/logo.jpg')}}" alt="" style="width: 50px; height: 50px;"> |
|||
<div class="bg-success rounded-circle border border-2 border-white position-absolute end-0 bottom-0 p-1"></div> |
|||
</div> |
|||
|
|||
</div> |
|||
<div class="navbar-nav w-100"> |
|||
<a href="index.html" class="nav-item nav-link active"><i class="fa fa-tachometer-alt me-2"></i>Dashboard</a> |
|||
<div class="nav-item dropdown"> |
|||
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown"><i class="fa fa-laptop me-2"></i>Elements</a> |
|||
<div class="dropdown-menu bg-transparent border-0"> |
|||
<a href="button.html" class="dropdown-item">Buttons</a> |
|||
<a href="typography.html" class="dropdown-item">Typography</a> |
|||
<a href="element.html" class="dropdown-item">Other Elements</a> |
|||
</div> |
|||
</div> |
|||
<a href="{{route('consecionarios.index')}}" class="nav-item nav-link"><i class="fa fa-th me-2"></i>consecionario de autos</a> |
|||
<a href="{{route('trabajadores.index')}}" class="nav-item nav-link"><i class="fa fa-keyboard me-2"></i>trabajadores</a> |
|||
<a href="{{route('usuarios')}}" class="nav-item nav-link"><i class="fa fa-table me-2"></i>usuarios</a> |
|||
<a href="chart.html" class="nav-item nav-link"><i class="fa fa-chart-bar me-2"></i>Charts</a> |
|||
<div class="nav-item dropdown"> |
|||
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown"><i class="far fa-file-alt me-2"></i>Pages</a> |
|||
<div class="dropdown-menu bg-transparent border-0"> |
|||
<a href="signin.html" class="dropdown-item">Sign In</a> |
|||
<a href="signup.html" class="dropdown-item">Sign Up</a> |
|||
<a href="404.html" class="dropdown-item">404 Error</a> |
|||
<a href="blank.html" class="dropdown-item">Blank Page</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</nav> |
|||
</div> |
|||
<!-- Sidebar End --> |
@ -0,0 +1,47 @@ |
|||
@extends('layouts.plantilla') |
|||
|
|||
@section('titulo') |
|||
modulo de usuario |
|||
@endsection |
|||
@section('contenido') |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col-m1-12 p-5"> |
|||
<h1>usuarios</h1> |
|||
</div> |
|||
<div class="col-12"> |
|||
<div class="bg-light rounded h-100 p-4"> |
|||
<a href="{{Route ('usuarios.create')}}" class="btn btn-primary">nuevo</a> |
|||
|
|||
<div class="table-responsive"> |
|||
<table class="table"> |
|||
<thead> |
|||
<tr> |
|||
<th scope="col">#</th> |
|||
<th scope="col">nombre</th> |
|||
<th scope="col">Email</th> |
|||
<th scope="col">fecha</th> |
|||
|
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
@foreach ($user as $Item ) |
|||
<tr> |
|||
<th scope="row">{{$Item->id}}</th> |
|||
<td>{{$Item->name}}</td> |
|||
<td>{{$Item->email}}</td> |
|||
<td>{{$Item->created_at}}</td> |
|||
|
|||
</tr> |
|||
@endforeach |
|||
|
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
|||
|
|||
|
@ -0,0 +1,40 @@ |
|||
@extends('layouts.plantilla') |
|||
|
|||
@section('titulo') |
|||
Nuevo Usuario |
|||
@endsection |
|||
|
|||
@section('contenido') |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col-md-12 p5"> |
|||
<h3>Nuevo Usuario</h3> |
|||
</div> |
|||
<div class="col-md-6"> |
|||
<div class="bg-light rounded h-100 p-4"> |
|||
|
|||
<form action="{{route('usuarios.store')}}" method="post"> |
|||
@csrf |
|||
<div class="mb-3"> |
|||
<label for="name" class="form-label">nombre</label> |
|||
<input type="text" class="form-control" id="name" name="name"> |
|||
</div> |
|||
|
|||
<div class="mb-3"> |
|||
<label for="email" class="form-label">correo</label> |
|||
<input type="email" class="form-control" id="email" name="email"> |
|||
</div> |
|||
<div class="mb-4"> |
|||
<label for="password" class="form-label">contraseña</label> |
|||
<input type="password" class="form-control" id="password" name="password"> |
|||
</div> |
|||
<a href="{{route('usuarios')}}" class="btn btn-danger">cancelar</a> |
|||
<button type="submit" class="btn btn-primary">aceptar</button> |
|||
</form> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
@endsection |
@ -1,18 +1,22 @@ |
|||
<?php |
|||
|
|||
use App\Http\Controllers\usuariosController; |
|||
use Illuminate\Support\Facades\Route; |
|||
|
|||
/* |
|||
|-------------------------------------------------------------------------- |
|||
| Web Routes |
|||
|-------------------------------------------------------------------------- |
|||
| |
|||
| Here is where you can register web routes for your application. These |
|||
| routes are loaded by the RouteServiceProvider and all of them will |
|||
| be assigned to the "web" middleware group. Make something great! |
|||
| |
|||
*/ |
|||
|
|||
Route::get('/', function () { |
|||
return view('welcome'); |
|||
return view('auth.login'); |
|||
}); |
|||
|
|||
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'); |
|||
|
|||
|
|||
|
|||
|
Loading…
Reference in new issue