Skip to content
This repository was archived by the owner on Dec 11, 2021. It is now read-only.

Commit fbb4bdd

Browse files
committed
Build blade Auth
1 parent 5075694 commit fbb4bdd

File tree

9 files changed

+253
-12
lines changed

9 files changed

+253
-12
lines changed

src/LaravelPreset.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public static function installAuth()
2929
protected static function updatePackageArray(array $packages)
3030
{
3131
return array_merge([
32+
'vue' => '^2.6.11',
33+
'vue-template-compiler' => '^2.6.11',
3234
'laravel-mix' => '^5.0.1',
3335
'tailwindcss' => '^1.4',
3436
'@tailwindcss/custom-forms' => '^0.2',

src/stubs/resources/css/app.css

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
@import url('https://fonts.googleapis.com/css?family=Nunito');
2-
31
@tailwind base;
42

53
@tailwind components;
Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,58 @@
11
@extends('layouts.app')
22

33
@section('content')
4-
{{-- WIP --}}
4+
<div class="flex items-center justify-center mt-16 mx-6">
5+
<div class="p-6 max-w-sm w-full bg-white shadow rounded-md">
6+
<h3 class="text-gray-700 text-xl text-center">{{ __('Login') }}</h3>
7+
8+
<form class="mt-4" method="POST" action="{{ route('login') }}">
9+
@csrf
10+
11+
<label class="block">
12+
<span class="text-gray-700 text-sm">{{ __('E-Mail Address') }}</span>
13+
<input type="email" id="email" name="email" class="form-input mt-1 block w-full rounded-md" value="{{ old('email') }}" required autocomplete="email" autofocus>
14+
15+
@error('email')
16+
<span class="text-sm text-red-500" role="alert">
17+
<strong>{{ $message }}</strong>
18+
</span>
19+
@enderror
20+
</label>
21+
22+
<label class="block mt-3">
23+
<span class="text-gray-700 text-sm">{{ __('Password') }}</span>
24+
<input id="password" type="password" class="form-input mt-1 block w-full rounded-md" name="password" required autocomplete="current-password">
25+
26+
@error('password')
27+
<span class="text-sm text-red-500" role="alert">
28+
<strong>{{ $message }}</strong>
29+
</span>
30+
@enderror
31+
</label>
32+
33+
<div class="flex justify-between items-center mt-4">
34+
<div>
35+
<label class="inline-flex items-center">
36+
<input type="checkbox" class="form-checkbox text-blue-600" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
37+
<span class="mx-2 text-gray-600 text-sm">{{ __('Remember Me') }}</span>
38+
</label>
39+
</div>
40+
41+
<div>
42+
@if (Route::has('password.request'))
43+
<a class="block text-sm text-blue-700 hover:underline" href="{{ route('password.request') }}">
44+
{{ __('Forgot Your Password?') }}
45+
</a>
46+
@endif
47+
</div>
48+
</div>
49+
50+
<div class="mt-6">
51+
<button type="submit" class="w-full py-2 px-4 text-center bg-blue-600 rounded-md text-white text-sm hover:bg-blue-500 focus:outline-none">
52+
{{ __('Login') }}
53+
</button>
54+
</div>
55+
</form>
56+
</div>
57+
</div>
558
@endsection
Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,38 @@
11
@extends('layouts.app')
22

33
@section('content')
4-
{{-- WIP --}}
4+
<div class="flex items-center justify-center mt-16 mx-6">
5+
<div class="p-6 max-w-sm w-full bg-white shadow rounded-md">
6+
<h3 class="text-gray-700 text-xl text-center">{{ __('Reset Password') }}</h3>
7+
8+
@if (session('status'))
9+
<div class="w-full bg-blue-500 text-white" role="alert">
10+
<div class="container mx-auto py-4 px-6">
11+
<div class="flex">
12+
<svg viewBox="0 0 40 40" class="h-6 w-6 fill-current">
13+
<path d="M20 3.33331C10.8 3.33331 3.33337 10.8 3.33337 20C3.33337 29.2 10.8 36.6666 20 36.6666C29.2 36.6666 36.6667 29.2 36.6667 20C36.6667 10.8 29.2 3.33331 20 3.33331ZM21.6667 28.3333H18.3334V25H21.6667V28.3333ZM21.6667 21.6666H18.3334V11.6666H21.6667V21.6666Z"></path>
14+
</svg>
15+
16+
<p class="mx-3">{{ session('status') }}</p>
17+
</div>
18+
</div>
19+
</div>
20+
@endif
21+
22+
<form class="mt-4" method="POST" action="{{ route('password.email') }}">
23+
@csrf
24+
25+
<label class="block">
26+
<span class="text-gray-700 text-sm">{{ __('E-Mail Address') }}</span>
27+
<input id="email" type="email" class="form-input mt-1 block w-full rounded-md" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
28+
</label>
29+
30+
<div class="mt-6">
31+
<button type="submit" class="w-full py-2 px-4 text-center bg-blue-600 rounded-md text-white text-sm hover:bg-blue-500 focus:outline-none">
32+
{{ __('Send Password Reset Link') }}
33+
</button>
34+
</div>
35+
</form>
36+
</div>
37+
</div>
538
@endsection
Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,48 @@
11
@extends('layouts.app')
22

33
@section('content')
4-
{{-- WIP --}}
4+
<div class="flex items-center justify-center mt-16 mx-6">
5+
<div class="p-6 max-w-sm w-full bg-white shadow rounded-md">
6+
<h3 class="text-gray-700 text-xl text-center">{{ __('Reset Password') }}</h3>
7+
8+
<form class="mt-4" method="POST" action="{{ route('password.update') }}">
9+
@csrf
10+
11+
<input type="hidden" name="token" value="{{ $token }}">
12+
13+
<label class="block">
14+
<span class="text-gray-700 text-sm">{{ __('E-Mail Address') }}</span>
15+
<input id="email" type="email" class="form-input mt-1 block w-full rounded-md" name="email" value="{{ $email ?? old('email') }}" required autocomplete="email" autofocus>
16+
17+
@error('email')
18+
<span class="text-sm text-red-500" role="alert">
19+
<strong>{{ $message }}</strong>
20+
</span>
21+
@enderror
22+
</label>
23+
24+
<label class="block mt-3">
25+
<span class="text-gray-700 text-sm">{{ __('Password') }}</span>
26+
<input id="password" type="password" class="form-input mt-1 block w-full rounded-md" name="password" required autocomplete="new-password">
27+
28+
@error('password')
29+
<span class="text-sm text-red-500" role="alert">
30+
<strong>{{ $message }}</strong>
31+
</span>
32+
@enderror
33+
</label>
34+
35+
<label class="block mt-3">
36+
<span class="text-gray-700 text-sm">{{ __('Confirm Password') }}</span>
37+
<input id="password-confirm" type="password" class="form-input mt-1 block w-full rounded-md" name="password_confirmation" required autocomplete="new-password">
38+
</label>
39+
40+
<div class="mt-6">
41+
<button class="w-full py-2 px-4 text-center bg-blue-600 rounded-md text-white text-sm hover:bg-blue-500 focus:outline-none">
42+
{{ __('Reset Password') }}
43+
</button>
44+
</div>
45+
</form>
46+
</div>
47+
</div>
548
@endsection
Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,57 @@
11
@extends('layouts.app')
22

33
@section('content')
4-
{{-- WIP --}}
4+
<div class="flex items-center justify-center mt-16 mx-6">
5+
<div class="p-6 max-w-sm w-full bg-white shadow rounded-md">
6+
<h3 class="text-gray-700 text-xl text-center">{{ __('Register') }}</h3>
7+
8+
<form class="mt-4" method="POST" action="{{ route('register') }}">
9+
@csrf
10+
11+
<label class="block">
12+
<span class="text-gray-700 text-sm">{{ __('Name') }}</span>
13+
<input id="name" type="text" class="form-input mt-1 block w-full rounded-md" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
14+
15+
@error('name')
16+
<span class="text-sm text-red-500" role="alert">
17+
<strong>{{ $message }}</strong>
18+
</span>
19+
@enderror
20+
</label>
21+
22+
<label class="block mt-3">
23+
<span class="text-gray-700 text-sm">{{ __('E-Mail Address') }}</span>
24+
<input id="email" type="email" class="form-input mt-1 block w-full rounded-md" name="email" value="{{ old('email') }}" required autocomplete="email">
25+
26+
@error('email')
27+
<span class="text-sm text-red-500" role="alert">
28+
<strong>{{ $message }}</strong>
29+
</span>
30+
@enderror
31+
</label>
32+
33+
<label class="block mt-3">
34+
<span class="text-gray-700 text-sm">{{ __('Password') }}</span>
35+
<input id="password" type="password" class="form-input mt-1 block w-full rounded-md" name="password" required autocomplete="new-password">
36+
37+
@error('password')
38+
<span class="text-sm text-red-500" role="alert">
39+
<strong>{{ $message }}</strong>
40+
</span>
41+
@enderror
42+
</label>
43+
44+
<label class="block mt-3">
45+
<span class="text-gray-700 text-sm">{{ __('Confirm Password') }}</span>
46+
<input id="password-confirm" type="password" class="form-input mt-1 block w-full rounded-md" name="password_confirmation" required autocomplete="new-password">
47+
</label>
48+
49+
<div class="mt-6">
50+
<button type="submit" class="w-full py-2 px-4 text-center bg-blue-600 rounded-md text-white text-sm hover:bg-blue-500 focus:outline-none">
51+
{{ __('Register') }}
52+
</button>
53+
</div>
54+
</form>
55+
</div>
56+
</div>
557
@endsection
Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
@extends('layouts.app')
22

33
@section('content')
4-
{{-- WIP --}}
4+
<div class="flex items-center justify-center mt-16 mx-6">
5+
<div class="p-6 bg-white shadow rounded-md">
6+
<h3 class="text-gray-700 text-lg">{{ __('Verify Your Email Address') }}</h3>
7+
8+
@if (session('resent'))
9+
<div class="w-full bg-blue-500 text-white" role="alert">
10+
<div class="container mx-auto py-4 px-6">
11+
<div class="flex">
12+
<svg viewBox="0 0 40 40" class="h-6 w-6 fill-current">
13+
<path d="M20 3.33331C10.8 3.33331 3.33337 10.8 3.33337 20C3.33337 29.2 10.8 36.6666 20 36.6666C29.2 36.6666 36.6667 29.2 36.6667 20C36.6667 10.8 29.2 3.33331 20 3.33331ZM21.6667 28.3333H18.3334V25H21.6667V28.3333ZM21.6667 21.6666H18.3334V11.6666H21.6667V21.6666Z"></path>
14+
</svg>
15+
16+
<p class="mx-3">{{ __('A fresh verification link has been sent to your email address.') }}</p>
17+
</div>
18+
</div>
19+
</div>
20+
@endif
21+
22+
<p class="text-gray-600 mt-3">{{ __('Before proceeding, please check your email for a verification link.') }} {{ __('If you did not receive the email') }},</p>
23+
24+
<form class="inline-block" method="POST" action="{{ route('verification.resend') }}">
25+
@csrf
26+
<button type="submit" class="text-blue-600 hover:underline mt-1 focus:outline-none">{{ __('click here to request another') }}</button>
27+
</form>
28+
</div>
29+
</div>
530
@endsection
Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
11
@extends('layouts.app')
22

33
@section('content')
4-
<div>
5-
WIP
4+
<div class="flex items-center justify-center mt-16 mx-6">
5+
<div class="p-6 bg-white shadow rounded-md">
6+
<h3 class="text-gray-700 text-lg">{{ __('Dashboard') }}</h3>
7+
8+
9+
@if (session('status'))
10+
<div class="w-full bg-green-500 text-white">
11+
<div class="container mx-auto py-4 px-6">
12+
<div class="flex">
13+
<svg viewBox="0 0 40 40" class="h-6 w-6 fill-current">
14+
<path d="M20 3.33331C10.8 3.33331 3.33337 10.8 3.33337 20C3.33337 29.2 10.8 36.6666 20 36.6666C29.2 36.6666 36.6667 29.2 36.6667 20C36.6667 10.8 29.2 3.33331 20 3.33331ZM16.6667 28.3333L8.33337 20L10.6834 17.65L16.6667 23.6166L29.3167 10.9666L31.6667 13.3333L16.6667 28.3333Z"></path>
15+
</svg>
16+
17+
<p class="mx-3">{{ session('status') }}</p>
18+
</div>
19+
</div>
20+
</div>
21+
@endif
22+
23+
<p class="text-gray-600 mt-3">{{ __('You are logged in!') }}</p>
624
</div>
25+
</div>
726
@endsection

src/stubs/resources/views/layouts/app.blade.php

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111

1212
<!-- Scripts -->
1313
<script src="{{ asset('js/app.js') }}" defer></script>
14+
15+
<!-- Fonts -->
16+
<link rel="dns-prefetch" href="//fonts.gstatic.com">
17+
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
1418

1519
<!-- Styles -->
1620
<link href="{{ mix('css/app.css') }}" rel="stylesheet">
@@ -20,12 +24,24 @@
2024
<nav class="bg-white shadow-sm">
2125
<div class="container flex justify-between items-center mx-auto px-6 py-4">
2226
<div>
23-
<a href="/" class="text-xl text-gray-800">Laravle</a>
27+
<a href="{{ url('/') }}" class="text-xl text-gray-800">{{ config('app.name', 'Laravel') }}</a>
2428
</div>
2529

2630
<div>
27-
<a href="/login" class="text-gray-700 font-light mx-4 hover:underline">Login</a>
28-
<a href="/register" class="text-gray-700 font-light hover:underline">Register</a>
31+
@guest
32+
<a href="{{ route('login') }}" class="text-gray-700 font-light mx-4 hover:underline">{{ __('Login') }}</a>
33+
<a href="{{ route('register') }}" class="text-gray-700 font-light hover:underline">{{ __('Register') }}</a>
34+
@else
35+
<a href="{{ route('logout') }}" class="text-gray-700 font-light mx-4 hover:underline"
36+
onclick="event.preventDefault();
37+
document.getElementById('logout-form').submit();">
38+
{{ Auth::user()->name }}
39+
</a>
40+
41+
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
42+
@csrf
43+
</form>
44+
@endguest
2945
</div>
3046
</div>
3147
</nav>

0 commit comments

Comments
 (0)