Improved login form and added remember me option

This commit is contained in:
Dan Brown 2015-10-22 20:23:39 +01:00
parent 9425f227fe
commit bd73c88edd
6 changed files with 46 additions and 8 deletions

View file

@ -11,6 +11,12 @@
&:active { &:active {
background-color: darken($backgroundColor, 8%); background-color: darken($backgroundColor, 8%);
} }
&:focus {
background-color: lighten($backgroundColor, 4%);
box-shadow: $bs-light;
text-decoration: none;
color: $textColor;
}
} }
// Button Specific Variables // Button Specific Variables

View file

@ -30,6 +30,9 @@ label {
color: #666; color: #666;
padding-bottom: 2px; padding-bottom: 2px;
margin-bottom: 0.2em; margin-bottom: 0.2em;
&.inline {
display: inline-block;
}
} }
label.radio, label.checkbox { label.radio, label.checkbox {
@ -57,7 +60,8 @@ input[type="text"], input[type="number"], input[type="email"], input[type="searc
transition: all ease-in-out 120ms; transition: all ease-in-out 120ms;
cursor: pointer; cursor: pointer;
user-select: none; user-select: none;
.switch-handle { &:after {
content: '';
display: block; display: block;
position: relative; position: relative;
left: 0; left: 0;
@ -72,13 +76,24 @@ input[type="text"], input[type="number"], input[type="email"], input[type="searc
} }
&.active { &.active {
background-color: rgba($positive, 0.4); background-color: rgba($positive, 0.4);
.switch-handle { &:after {
left: 16px; left: 16px;
background-color: $positive; background-color: $positive;
border: darken($positive, 20%); border: darken($positive, 20%);
} }
} }
} }
.toggle-switch-checkbox {
display: none;
}
input:checked + .toggle-switch {
background-color: rgba($positive, 0.4);
&:after {
left: 16px;
background-color: $positive;
border: darken($positive, 20%);
}
}
.form-group { .form-group {
margin-bottom: $-s; margin-bottom: $-s;
@ -161,4 +176,11 @@ input[type="text"], input[type="number"], input[type="email"], input[type="searc
width: 300px; width: 300px;
max-width: 100%; max-width: 100%;
} }
}
#login-form label[for="remember"] {
margin: 0;
}
#login-form label.toggle-switch {
margin-left: $-xl;
} }

View file

@ -12,22 +12,29 @@
<div class="center-box"> <div class="center-box">
<h1>Log In</h1> <h1>Log In</h1>
<form action="/login" method="POST"> <form action="/login" method="POST" id="login-form">
{!! csrf_field() !!} {!! csrf_field() !!}
<div class="form-group"> <div class="form-group">
<label for="email">Email</label> <label for="email">Email</label>
@include('form/text', ['name' => 'email']) @include('form/text', ['name' => 'email', 'tabindex' => 1])
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="password">Password</label> <label for="password">Password</label>
@include('form/password', ['name' => 'password']) @include('form/password', ['name' => 'password', 'tabindex' => 2])
<span class="block small"><a href="/password/email">Forgot Password?</a></span> <span class="block small"><a href="/password/email">Forgot Password?</a></span>
</div> </div>
<div class="form-group">
<label for="remember" class="inline">Remember Me</label>
<input type="checkbox" id="remember" name="remember" class="toggle-switch-checkbox">
<label for="remember" class="toggle-switch"></label>
</div>
<div class="from-group"> <div class="from-group">
<button class="button block pos">Sign In</button> <button class="button block pos" tabindex="3">Sign In</button>
</div> </div>
</form> </form>

View file

@ -1,6 +1,7 @@
<input type="password" id="{{ $name }}" name="{{ $name }}" <input type="password" id="{{ $name }}" name="{{ $name }}"
@if($errors->has($name)) class="neg" @endif @if($errors->has($name)) class="neg" @endif
@if(isset($placeholder)) placeholder="{{$placeholder}}" @endif @if(isset($placeholder)) placeholder="{{$placeholder}}" @endif
@if(isset($tabindex)) tabindex="{{$tabindex}}" @endif
@if(old($name)) value="{{ old($name)}}" @endif> @if(old($name)) value="{{ old($name)}}" @endif>
@if($errors->has($name)) @if($errors->has($name))
<div class="text-neg text-small">{{ $errors->first($name) }}</div> <div class="text-neg text-small">{{ $errors->first($name) }}</div>

View file

@ -1,6 +1,7 @@
<input type="text" id="{{ $name }}" name="{{ $name }}" <input type="text" id="{{ $name }}" name="{{ $name }}"
@if($errors->has($name)) class="neg" @endif @if($errors->has($name)) class="neg" @endif
@if(isset($placeholder)) placeholder="{{$placeholder}}" @endif @if(isset($placeholder)) placeholder="{{$placeholder}}" @endif
@if(isset($tabindex)) tabindex="{{$tabindex}}" @endif
@if(isset($model) || old($name)) value="{{ old($name) ? old($name) : $model->$name}}" @endif> @if(isset($model) || old($name)) value="{{ old($name) ? old($name) : $model->$name}}" @endif>
@if($errors->has($name)) @if($errors->has($name))
<div class="text-neg text-small">{{ $errors->first($name) }}</div> <div class="text-neg text-small">{{ $errors->first($name) }}</div>

View file

@ -3,14 +3,14 @@
<head> <head>
<title>BookStack</title> <title>BookStack</title>
<meta name="viewport" content="width=device-width"> <meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="/css/styles.css"> <link rel="stylesheet" href="{{ elixir('css/styles.css') }}">
<link href='//fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,300italic,100,300' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,300italic,100,300' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/bower/material-design-iconic-font/dist/css/material-design-iconic-font.min.css"> <link rel="stylesheet" href="/bower/material-design-iconic-font/dist/css/material-design-iconic-font.min.css">
<!-- Scripts --> <!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head> </head>
<body class="@yield('body-class')"> <body class="@yield('body-class')" id="app">
@if(Session::has('success')) @if(Session::has('success'))
<div class="notification anim pos"> <div class="notification anim pos">
@ -62,5 +62,6 @@
@yield('content') @yield('content')
</section> </section>
<script src="{{ elixir('js/common.js') }}"></script>
</body> </body>
</html> </html>