Hello, I have created a new base layout for the authentication views (login, register, verify, password/email and password/reset) on the resources/views folder, called auth-page.blade.php. The source code looks like this:
@extends('adminlte::master')
@php( $dashboard_url = View::getSection('dashboard_url') ?? config('adminlte.dashboard_url', 'home') )
@if (config('adminlte.use_route_url', false))
@php( $dashboard_url = $dashboard_url ? route($dashboard_url) : '' )
@else
@php( $dashboard_url = $dashboard_url ? url($dashboard_url) : '' )
@endif
@section('adminlte_css')
@stack('css')
@yield('css')
@stop
@section('classes_body'){{ ($auth_type ?? 'login').'-page' }}@stop
@section('body')
<div class="{{ $auth_type ?? 'login' }}-box">
{{-- Logo --}}
<div class="{{ $auth_type ?? 'login' }}-logo">
<a href="{{ $dashboard_url }}">
<img src="{{ asset(config('adminlte.logo_img')) }}" height="50">
{!! config('adminlte.logo', '<b>Admin</b>LTE') !!}
</a>
</div>
{{-- Card box --}}
<div class="card {{ config('adminlte.classes_auth_card', 'card-outline card-primary') }}">
{{-- Card header --}}
@hasSection('auth_header')
<div class="card-header {{ config('adminlte.classes_auth_header', '') }}">
<h3 class="card-title float-none text-center">
@yield('auth_header')
</h3>
</div>
@endif
{{-- Card body --}}
<div class="card-body {{ $auth_type ?? 'login' }}-card-body {{ config('adminlte.classes_auth_body', '') }}">
@yield('auth_body')
</div>
{{-- Card footer --}}
@hasSection('auth_footer')
<div class="card-footer {{ config('adminlte.classes_auth_footer', '') }}">
@yield('auth_footer')
</div>
@endif
</div>
</div>
@stop
@section('adminlte_js')
<script src="{{ asset('vendor/adminlte/dist/js/adminlte.min.js') }}"></script>
@stack('js')
@yield('js')
@stop
As an example, the login.blade.php now is defined like this:
@extends('adminlte::auth-page', ['auth_type' => 'login'])
@section('adminlte_css_pre')
<link rel="stylesheet" href="{{ asset('vendor/icheck-bootstrap/icheck-bootstrap.min.css') }}">
@stop
@php( $login_url = View::getSection('login_url') ?? config('adminlte.login_url', 'login') )
@php( $register_url = View::getSection('register_url') ?? config('adminlte.register_url', 'register') )
@php( $password_reset_url = View::getSection('password_reset_url') ?? config('adminlte.password_reset_url', 'password/reset') )
@if (config('adminlte.use_route_url', false))
@php( $login_url = $login_url ? route($login_url) : '' )
@php( $register_url = $register_url ? route($register_url) : '' )
@php( $password_reset_url = $password_reset_url ? route($password_reset_url) : '' )
@else
@php( $login_url = $login_url ? url($login_url) : '' )
@php( $register_url = $register_url ? url($register_url) : '' )
@php( $password_reset_url = $password_reset_url ? url($password_reset_url) : '' )
@endif
@section('auth_header', __('adminlte::adminlte.login_message'))
@section('auth_body')
<form action="{{ $login_url }}" method="post">
{{ csrf_field() }}
{{-- Email field --}}
<div class="input-group mb-3">
<input type="email" name="email" class="form-control {{ $errors->has('email') ? 'is-invalid' : '' }}"
value="{{ old('email') }}" placeholder="{{ __('adminlte::adminlte.email') }}" autofocus>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope {{ config('adminlte.classes_auth_icon', '') }}"></span>
</div>
</div>
@if($errors->has('email'))
<div class="invalid-feedback">
<strong>{{ $errors->first('email') }}</strong>
</div>
@endif
</div>
{{-- Password field --}}
<div class="input-group mb-3">
<input type="password" name="password" class="form-control {{ $errors->has('password') ? 'is-invalid' : '' }}"
placeholder="{{ __('adminlte::adminlte.password') }}">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock {{ config('adminlte.classes_auth_icon', '') }}"></span>
</div>
</div>
@if($errors->has('password'))
<div class="invalid-feedback">
<strong>{{ $errors->first('password') }}</strong>
</div>
@endif
</div>
{{-- Login field --}}
<div class="row">
<div class="col-7">
<div class="icheck-primary">
<input type="checkbox" name="remember" id="remember">
<label for="remember">{{ __('adminlte::adminlte.remember_me') }}</label>
</div>
</div>
<div class="col-5">
<button type=submit class="btn btn-block {{ config('adminlte.classes_auth_btn', 'btn-flat btn-primary') }}">
<span class="fas fa-sign-in-alt"></span>
{{ __('adminlte::adminlte.sign_in') }}
</button>
</div>
</div>
</form>
@stop
@section('auth_footer')
{{-- Password reset link --}}
@if($password_reset_url)
<p class="my-0">
<a href="{{ $password_reset_url }}">
{{ __('adminlte::adminlte.i_forgot_my_password') }}
</a>
</p>
@endif
{{-- Register link --}}
@if($register_url)
<p class="my-0">
<a href="{{ $register_url }}">
{{ __('adminlte::adminlte.register_a_new_membership') }}
</a>
</p>
@endif
@stop
Also, as you have noted, there are new configuration options with the next default values:
'classes_auth_card' => 'card-outline card-primary'
'classes_auth_header' => ''
'classes_auth_body' => ''
'classes_auth_footer' => ''
'classes_auth_icon' => ''
'classes_auth_btn' => 'btn-flat btn-primary'
With these options, you can play with the authentication views theme. The old look of the authentication views was like this:


The new default values gives the next look:


But you can play with the classes to get your custom theme, examples:
'classes_auth_card' => 'bg-gradient-dark'
'classes_auth_header' => ''
'classes_auth_body' => 'bg-gradient-dark'
'classes_auth_footer' => 'text-center'
'classes_auth_icon' => 'text-light'
'classes_auth_btn' => 'btn-flat btn-light'


'classes_auth_card' => ''
'classes_auth_header' => 'bg-gradient-info'
'classes_auth_body' => ''
'classes_auth_footer' => 'text-center'
'classes_auth_icon' => 'fa-lg text-info'
'classes_auth_btn' => 'btn-flat btn-primary'


If you are interested on these changes, just tellme and I will create a PR for it. Thanks
I think that those changes are welcome...
You could also add configs for the background...
like changing color or add an image
@Shidersz That looks amazing may I'll add this AdminLTE itself 馃ぃ.
Great work bro, please make a pr. 馃檹 @Shidersz
Sure, I will give it a review first, then I will make a PR.
Created a PR for this feature: #584