From 617fe1c21b6d602dd0a7845962d2996bb4389ac1 Mon Sep 17 00:00:00 2001 From: structix Date: Fri, 10 Sep 2021 22:17:19 +0200 Subject: [PATCH] Add breeze scaffolding --- .../Auth/AuthenticatedSessionController.php | 54 +++++++++++ .../Auth/ConfirmablePasswordController.php | 44 +++++++++ ...mailVerificationNotificationController.php | 27 ++++++ .../EmailVerificationPromptController.php | 23 +++++ .../Auth/NewPasswordController.php | 65 +++++++++++++ .../Auth/PasswordResetLinkController.php | 47 ++++++++++ .../Auth/RegisteredUserController.php | 54 +++++++++++ .../Auth/VerifyEmailController.php | 30 ++++++ .../app/Http/Requests/Auth/LoginRequest.php | 93 +++++++++++++++++++ .../app/Providers/RouteServiceProvider.php | 2 +- shit-show/app/View/Components/AppLayout.php | 18 ++++ shit-show/app/View/Components/GuestLayout.php | 18 ++++ shit-show/composer.json | 1 + shit-show/composer.lock | 59 +++++++++++- shit-show/package.json | 7 +- shit-show/resources/css/app.css | 3 + shit-show/resources/js/app.js | 2 + .../views/auth/confirm-password.blade.php | 36 +++++++ .../views/auth/forgot-password.blade.php | 36 +++++++ .../resources/views/auth/login.blade.php | 56 +++++++++++ .../resources/views/auth/register.blade.php | 59 ++++++++++++ .../views/auth/reset-password.blade.php | 48 ++++++++++ .../views/auth/verify-email.blade.php | 39 ++++++++ .../components/application-logo.blade.php | 3 + .../views/components/auth-card.blade.php | 9 ++ .../components/auth-session-status.blade.php | 7 ++ .../auth-validation-errors.blade.php | 15 +++ .../views/components/button.blade.php | 3 + .../views/components/dropdown-link.blade.php | 1 + .../views/components/dropdown.blade.php | 43 +++++++++ .../views/components/input.blade.php | 3 + .../views/components/label.blade.php | 5 + .../views/components/nav-link.blade.php | 11 +++ .../components/responsive-nav-link.blade.php | 11 +++ shit-show/resources/views/dashboard.blade.php | 17 ++++ .../resources/views/layouts/app.blade.php | 36 +++++++ .../resources/views/layouts/guest.blade.php | 24 +++++ .../views/layouts/navigation.blade.php | 92 ++++++++++++++++++ shit-show/resources/views/welcome.blade.php | 2 +- shit-show/routes/auth.php | 64 +++++++++++++ shit-show/routes/web.php | 6 ++ shit-show/tailwind.config.js | 25 +++++ .../tests/Feature/AuthenticationTest.php | 45 +++++++++ .../tests/Feature/EmailVerificationTest.php | 65 +++++++++++++ .../Feature/PasswordConfirmationTest.php | 44 +++++++++ shit-show/tests/Feature/PasswordResetTest.php | 71 ++++++++++++++ shit-show/tests/Feature/RegistrationTest.php | 32 +++++++ shit-show/webpack.mix.js | 9 +- 48 files changed, 1456 insertions(+), 8 deletions(-) create mode 100644 shit-show/app/Http/Controllers/Auth/AuthenticatedSessionController.php create mode 100644 shit-show/app/Http/Controllers/Auth/ConfirmablePasswordController.php create mode 100644 shit-show/app/Http/Controllers/Auth/EmailVerificationNotificationController.php create mode 100644 shit-show/app/Http/Controllers/Auth/EmailVerificationPromptController.php create mode 100644 shit-show/app/Http/Controllers/Auth/NewPasswordController.php create mode 100644 shit-show/app/Http/Controllers/Auth/PasswordResetLinkController.php create mode 100644 shit-show/app/Http/Controllers/Auth/RegisteredUserController.php create mode 100644 shit-show/app/Http/Controllers/Auth/VerifyEmailController.php create mode 100644 shit-show/app/Http/Requests/Auth/LoginRequest.php create mode 100644 shit-show/app/View/Components/AppLayout.php create mode 100644 shit-show/app/View/Components/GuestLayout.php create mode 100644 shit-show/resources/views/auth/confirm-password.blade.php create mode 100644 shit-show/resources/views/auth/forgot-password.blade.php create mode 100644 shit-show/resources/views/auth/login.blade.php create mode 100644 shit-show/resources/views/auth/register.blade.php create mode 100644 shit-show/resources/views/auth/reset-password.blade.php create mode 100644 shit-show/resources/views/auth/verify-email.blade.php create mode 100644 shit-show/resources/views/components/application-logo.blade.php create mode 100644 shit-show/resources/views/components/auth-card.blade.php create mode 100644 shit-show/resources/views/components/auth-session-status.blade.php create mode 100644 shit-show/resources/views/components/auth-validation-errors.blade.php create mode 100644 shit-show/resources/views/components/button.blade.php create mode 100644 shit-show/resources/views/components/dropdown-link.blade.php create mode 100644 shit-show/resources/views/components/dropdown.blade.php create mode 100644 shit-show/resources/views/components/input.blade.php create mode 100644 shit-show/resources/views/components/label.blade.php create mode 100644 shit-show/resources/views/components/nav-link.blade.php create mode 100644 shit-show/resources/views/components/responsive-nav-link.blade.php create mode 100644 shit-show/resources/views/dashboard.blade.php create mode 100644 shit-show/resources/views/layouts/app.blade.php create mode 100644 shit-show/resources/views/layouts/guest.blade.php create mode 100644 shit-show/resources/views/layouts/navigation.blade.php create mode 100644 shit-show/routes/auth.php create mode 100644 shit-show/tailwind.config.js create mode 100644 shit-show/tests/Feature/AuthenticationTest.php create mode 100644 shit-show/tests/Feature/EmailVerificationTest.php create mode 100644 shit-show/tests/Feature/PasswordConfirmationTest.php create mode 100644 shit-show/tests/Feature/PasswordResetTest.php create mode 100644 shit-show/tests/Feature/RegistrationTest.php diff --git a/shit-show/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/shit-show/app/Http/Controllers/Auth/AuthenticatedSessionController.php new file mode 100644 index 0000000..09abe87 --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -0,0 +1,54 @@ +authenticate(); + + $request->session()->regenerate(); + + return redirect()->intended(RouteServiceProvider::HOME); + } + + /** + * Destroy an authenticated session. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\RedirectResponse + */ + public function destroy(Request $request) + { + Auth::guard('web')->logout(); + + $request->session()->invalidate(); + + $request->session()->regenerateToken(); + + return redirect('/'); + } +} diff --git a/shit-show/app/Http/Controllers/Auth/ConfirmablePasswordController.php b/shit-show/app/Http/Controllers/Auth/ConfirmablePasswordController.php new file mode 100644 index 0000000..1175010 --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/ConfirmablePasswordController.php @@ -0,0 +1,44 @@ +validate([ + 'email' => $request->user()->email, + 'password' => $request->password, + ])) { + throw ValidationException::withMessages([ + 'password' => __('auth.password'), + ]); + } + + $request->session()->put('auth.password_confirmed_at', time()); + + return redirect()->intended(RouteServiceProvider::HOME); + } +} diff --git a/shit-show/app/Http/Controllers/Auth/EmailVerificationNotificationController.php b/shit-show/app/Http/Controllers/Auth/EmailVerificationNotificationController.php new file mode 100644 index 0000000..3362dca --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/EmailVerificationNotificationController.php @@ -0,0 +1,27 @@ +user()->hasVerifiedEmail()) { + return redirect()->intended(RouteServiceProvider::HOME); + } + + $request->user()->sendEmailVerificationNotification(); + + return back()->with('status', 'verification-link-sent'); + } +} diff --git a/shit-show/app/Http/Controllers/Auth/EmailVerificationPromptController.php b/shit-show/app/Http/Controllers/Auth/EmailVerificationPromptController.php new file mode 100644 index 0000000..e247f95 --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/EmailVerificationPromptController.php @@ -0,0 +1,23 @@ +user()->hasVerifiedEmail() + ? redirect()->intended(RouteServiceProvider::HOME) + : view('auth.verify-email'); + } +} diff --git a/shit-show/app/Http/Controllers/Auth/NewPasswordController.php b/shit-show/app/Http/Controllers/Auth/NewPasswordController.php new file mode 100644 index 0000000..1df8e21 --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/NewPasswordController.php @@ -0,0 +1,65 @@ + $request]); + } + + /** + * Handle an incoming new password request. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\RedirectResponse + * + * @throws \Illuminate\Validation\ValidationException + */ + public function store(Request $request) + { + $request->validate([ + 'token' => ['required'], + 'email' => ['required', 'email'], + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]); + + // Here we will attempt to reset the user's password. If it is successful we + // will update the password on an actual user model and persist it to the + // database. Otherwise we will parse the error and return the response. + $status = Password::reset( + $request->only('email', 'password', 'password_confirmation', 'token'), + function ($user) use ($request) { + $user->forceFill([ + 'password' => Hash::make($request->password), + 'remember_token' => Str::random(60), + ])->save(); + + event(new PasswordReset($user)); + } + ); + + // If the password was successfully reset, we will redirect the user back to + // the application's home authenticated view. If there is an error we can + // redirect them back to where they came from with their error message. + return $status == Password::PASSWORD_RESET + ? redirect()->route('login')->with('status', __($status)) + : back()->withInput($request->only('email')) + ->withErrors(['email' => __($status)]); + } +} diff --git a/shit-show/app/Http/Controllers/Auth/PasswordResetLinkController.php b/shit-show/app/Http/Controllers/Auth/PasswordResetLinkController.php new file mode 100644 index 0000000..667ab94 --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/PasswordResetLinkController.php @@ -0,0 +1,47 @@ +validate([ + 'email' => ['required', 'email'], + ]); + + // We will send the password reset link to this user. Once we have attempted + // to send the link, we will examine the response then see the message we + // need to show to the user. Finally, we'll send out a proper response. + $status = Password::sendResetLink( + $request->only('email') + ); + + return $status == Password::RESET_LINK_SENT + ? back()->with('status', __($status)) + : back()->withInput($request->only('email')) + ->withErrors(['email' => __($status)]); + } +} diff --git a/shit-show/app/Http/Controllers/Auth/RegisteredUserController.php b/shit-show/app/Http/Controllers/Auth/RegisteredUserController.php new file mode 100644 index 0000000..487fedb --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/RegisteredUserController.php @@ -0,0 +1,54 @@ +validate([ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]); + + $user = User::create([ + 'name' => $request->name, + 'email' => $request->email, + 'password' => Hash::make($request->password), + ]); + + event(new Registered($user)); + + Auth::login($user); + + return redirect(RouteServiceProvider::HOME); + } +} diff --git a/shit-show/app/Http/Controllers/Auth/VerifyEmailController.php b/shit-show/app/Http/Controllers/Auth/VerifyEmailController.php new file mode 100644 index 0000000..6baa9aa --- /dev/null +++ b/shit-show/app/Http/Controllers/Auth/VerifyEmailController.php @@ -0,0 +1,30 @@ +user()->hasVerifiedEmail()) { + return redirect()->intended(RouteServiceProvider::HOME.'?verified=1'); + } + + if ($request->user()->markEmailAsVerified()) { + event(new Verified($request->user())); + } + + return redirect()->intended(RouteServiceProvider::HOME.'?verified=1'); + } +} diff --git a/shit-show/app/Http/Requests/Auth/LoginRequest.php b/shit-show/app/Http/Requests/Auth/LoginRequest.php new file mode 100644 index 0000000..a539eb8 --- /dev/null +++ b/shit-show/app/Http/Requests/Auth/LoginRequest.php @@ -0,0 +1,93 @@ + ['required', 'string', 'email'], + 'password' => ['required', 'string'], + ]; + } + + /** + * Attempt to authenticate the request's credentials. + * + * @return void + * + * @throws \Illuminate\Validation\ValidationException + */ + public function authenticate() + { + $this->ensureIsNotRateLimited(); + + if (! Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) { + RateLimiter::hit($this->throttleKey()); + + throw ValidationException::withMessages([ + 'email' => __('auth.failed'), + ]); + } + + RateLimiter::clear($this->throttleKey()); + } + + /** + * Ensure the login request is not rate limited. + * + * @return void + * + * @throws \Illuminate\Validation\ValidationException + */ + public function ensureIsNotRateLimited() + { + if (! RateLimiter::tooManyAttempts($this->throttleKey(), 5)) { + return; + } + + event(new Lockout($this)); + + $seconds = RateLimiter::availableIn($this->throttleKey()); + + throw ValidationException::withMessages([ + 'email' => trans('auth.throttle', [ + 'seconds' => $seconds, + 'minutes' => ceil($seconds / 60), + ]), + ]); + } + + /** + * Get the rate limiting throttle key for the request. + * + * @return string + */ + public function throttleKey() + { + return Str::lower($this->input('email')).'|'.$this->ip(); + } +} diff --git a/shit-show/app/Providers/RouteServiceProvider.php b/shit-show/app/Providers/RouteServiceProvider.php index 3bd3c81..ca027ea 100644 --- a/shit-show/app/Providers/RouteServiceProvider.php +++ b/shit-show/app/Providers/RouteServiceProvider.php @@ -17,7 +17,7 @@ class RouteServiceProvider extends ServiceProvider * * @var string */ - public const HOME = '/home'; + public const HOME = '/dashboard'; /** * The controller namespace for the application. diff --git a/shit-show/app/View/Components/AppLayout.php b/shit-show/app/View/Components/AppLayout.php new file mode 100644 index 0000000..b45d342 --- /dev/null +++ b/shit-show/app/View/Components/AppLayout.php @@ -0,0 +1,18 @@ + + + + + + + + +
+ {{ __('This is a secure area of the application. Please confirm your password before continuing.') }} +
+ + + + +
+ @csrf + + +
+ + + +
+ +
+ + {{ __('Confirm') }} + +
+
+
+ diff --git a/shit-show/resources/views/auth/forgot-password.blade.php b/shit-show/resources/views/auth/forgot-password.blade.php new file mode 100644 index 0000000..0642fa8 --- /dev/null +++ b/shit-show/resources/views/auth/forgot-password.blade.php @@ -0,0 +1,36 @@ + + + + + + + + +
+ {{ __('Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.') }} +
+ + + + + + + +
+ @csrf + + +
+ + + +
+ +
+ + {{ __('Email Password Reset Link') }} + +
+
+
+
diff --git a/shit-show/resources/views/auth/login.blade.php b/shit-show/resources/views/auth/login.blade.php new file mode 100644 index 0000000..ecbe174 --- /dev/null +++ b/shit-show/resources/views/auth/login.blade.php @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + +
+ @csrf + + +
+ + + +
+ + +
+ + + +
+ + +
+ +
+ +
+ @if (Route::has('password.request')) + + {{ __('Forgot your password?') }} + + @endif + + + {{ __('Log in') }} + +
+
+
+
diff --git a/shit-show/resources/views/auth/register.blade.php b/shit-show/resources/views/auth/register.blade.php new file mode 100644 index 0000000..a0c4fbe --- /dev/null +++ b/shit-show/resources/views/auth/register.blade.php @@ -0,0 +1,59 @@ + + + + + + + + + + + +
+ @csrf + + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ +
+ + {{ __('Already registered?') }} + + + + {{ __('Register') }} + +
+
+
+
diff --git a/shit-show/resources/views/auth/reset-password.blade.php b/shit-show/resources/views/auth/reset-password.blade.php new file mode 100644 index 0000000..979d1b4 --- /dev/null +++ b/shit-show/resources/views/auth/reset-password.blade.php @@ -0,0 +1,48 @@ + + + + + + + + + + + +
+ @csrf + + + + + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ +
+ + {{ __('Reset Password') }} + +
+
+
+
diff --git a/shit-show/resources/views/auth/verify-email.blade.php b/shit-show/resources/views/auth/verify-email.blade.php new file mode 100644 index 0000000..dc0ae7f --- /dev/null +++ b/shit-show/resources/views/auth/verify-email.blade.php @@ -0,0 +1,39 @@ + + + + + + + + +
+ {{ __('Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn\'t receive the email, we will gladly send you another.') }} +
+ + @if (session('status') == 'verification-link-sent') +
+ {{ __('A new verification link has been sent to the email address you provided during registration.') }} +
+ @endif + +
+
+ @csrf + +
+ + {{ __('Resend Verification Email') }} + +
+
+ +
+ @csrf + + +
+
+
+
diff --git a/shit-show/resources/views/components/application-logo.blade.php b/shit-show/resources/views/components/application-logo.blade.php new file mode 100644 index 0000000..46579cf --- /dev/null +++ b/shit-show/resources/views/components/application-logo.blade.php @@ -0,0 +1,3 @@ + + + diff --git a/shit-show/resources/views/components/auth-card.blade.php b/shit-show/resources/views/components/auth-card.blade.php new file mode 100644 index 0000000..71235cf --- /dev/null +++ b/shit-show/resources/views/components/auth-card.blade.php @@ -0,0 +1,9 @@ +
+
+ {{ $logo }} +
+ +
+ {{ $slot }} +
+
diff --git a/shit-show/resources/views/components/auth-session-status.blade.php b/shit-show/resources/views/components/auth-session-status.blade.php new file mode 100644 index 0000000..c4bd6e2 --- /dev/null +++ b/shit-show/resources/views/components/auth-session-status.blade.php @@ -0,0 +1,7 @@ +@props(['status']) + +@if ($status) +
merge(['class' => 'font-medium text-sm text-green-600']) }}> + {{ $status }} +
+@endif diff --git a/shit-show/resources/views/components/auth-validation-errors.blade.php b/shit-show/resources/views/components/auth-validation-errors.blade.php new file mode 100644 index 0000000..fc0eaeb --- /dev/null +++ b/shit-show/resources/views/components/auth-validation-errors.blade.php @@ -0,0 +1,15 @@ +@props(['errors']) + +@if ($errors->any()) +
+
+ {{ __('Whoops! Something went wrong.') }} +
+ + +
+@endif diff --git a/shit-show/resources/views/components/button.blade.php b/shit-show/resources/views/components/button.blade.php new file mode 100644 index 0000000..8f18773 --- /dev/null +++ b/shit-show/resources/views/components/button.blade.php @@ -0,0 +1,3 @@ + diff --git a/shit-show/resources/views/components/dropdown-link.blade.php b/shit-show/resources/views/components/dropdown-link.blade.php new file mode 100644 index 0000000..761ee8a --- /dev/null +++ b/shit-show/resources/views/components/dropdown-link.blade.php @@ -0,0 +1 @@ +merge(['class' => 'block px-4 py-2 text-sm leading-5 text-gray-700 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 transition duration-150 ease-in-out']) }}>{{ $slot }} diff --git a/shit-show/resources/views/components/dropdown.blade.php b/shit-show/resources/views/components/dropdown.blade.php new file mode 100644 index 0000000..ea90741 --- /dev/null +++ b/shit-show/resources/views/components/dropdown.blade.php @@ -0,0 +1,43 @@ +@props(['align' => 'right', 'width' => '48', 'contentClasses' => 'py-1 bg-white']) + +@php +switch ($align) { + case 'left': + $alignmentClasses = 'origin-top-left left-0'; + break; + case 'top': + $alignmentClasses = 'origin-top'; + break; + case 'right': + default: + $alignmentClasses = 'origin-top-right right-0'; + break; +} + +switch ($width) { + case '48': + $width = 'w-48'; + break; +} +@endphp + +
+
+ {{ $trigger }} +
+ + +
diff --git a/shit-show/resources/views/components/input.blade.php b/shit-show/resources/views/components/input.blade.php new file mode 100644 index 0000000..d6d857b --- /dev/null +++ b/shit-show/resources/views/components/input.blade.php @@ -0,0 +1,3 @@ +@props(['disabled' => false]) + +merge(['class' => 'rounded-md shadow-sm border-gray-300 focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50']) !!}> diff --git a/shit-show/resources/views/components/label.blade.php b/shit-show/resources/views/components/label.blade.php new file mode 100644 index 0000000..1cc65e2 --- /dev/null +++ b/shit-show/resources/views/components/label.blade.php @@ -0,0 +1,5 @@ +@props(['value']) + + diff --git a/shit-show/resources/views/components/nav-link.blade.php b/shit-show/resources/views/components/nav-link.blade.php new file mode 100644 index 0000000..5c101a2 --- /dev/null +++ b/shit-show/resources/views/components/nav-link.blade.php @@ -0,0 +1,11 @@ +@props(['active']) + +@php +$classes = ($active ?? false) + ? 'inline-flex items-center px-1 pt-1 border-b-2 border-indigo-400 text-sm font-medium leading-5 text-gray-900 focus:outline-none focus:border-indigo-700 transition duration-150 ease-in-out' + : 'inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out'; +@endphp + +merge(['class' => $classes]) }}> + {{ $slot }} + diff --git a/shit-show/resources/views/components/responsive-nav-link.blade.php b/shit-show/resources/views/components/responsive-nav-link.blade.php new file mode 100644 index 0000000..02bb527 --- /dev/null +++ b/shit-show/resources/views/components/responsive-nav-link.blade.php @@ -0,0 +1,11 @@ +@props(['active']) + +@php +$classes = ($active ?? false) + ? 'block pl-3 pr-4 py-2 border-l-4 border-indigo-400 text-base font-medium text-indigo-700 bg-indigo-50 focus:outline-none focus:text-indigo-800 focus:bg-indigo-100 focus:border-indigo-700 transition duration-150 ease-in-out' + : 'block pl-3 pr-4 py-2 border-l-4 border-transparent text-base font-medium text-gray-600 hover:text-gray-800 hover:bg-gray-50 hover:border-gray-300 focus:outline-none focus:text-gray-800 focus:bg-gray-50 focus:border-gray-300 transition duration-150 ease-in-out'; +@endphp + +merge(['class' => $classes]) }}> + {{ $slot }} + diff --git a/shit-show/resources/views/dashboard.blade.php b/shit-show/resources/views/dashboard.blade.php new file mode 100644 index 0000000..025a79a --- /dev/null +++ b/shit-show/resources/views/dashboard.blade.php @@ -0,0 +1,17 @@ + + +

+ {{ __('Dashboard') }} +

+
+ +
+
+
+
+ You're logged in! +
+
+
+
+
diff --git a/shit-show/resources/views/layouts/app.blade.php b/shit-show/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..e7f54bc --- /dev/null +++ b/shit-show/resources/views/layouts/app.blade.php @@ -0,0 +1,36 @@ + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + + + + + +
+ @include('layouts.navigation') + + +
+
+ {{ $header }} +
+
+ + +
+ {{ $slot }} +
+
+ + diff --git a/shit-show/resources/views/layouts/guest.blade.php b/shit-show/resources/views/layouts/guest.blade.php new file mode 100644 index 0000000..b94f3af --- /dev/null +++ b/shit-show/resources/views/layouts/guest.blade.php @@ -0,0 +1,24 @@ + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + + + + + +
+ {{ $slot }} +
+ + diff --git a/shit-show/resources/views/layouts/navigation.blade.php b/shit-show/resources/views/layouts/navigation.blade.php new file mode 100644 index 0000000..4e4c93d --- /dev/null +++ b/shit-show/resources/views/layouts/navigation.blade.php @@ -0,0 +1,92 @@ + diff --git a/shit-show/resources/views/welcome.blade.php b/shit-show/resources/views/welcome.blade.php index 754e427..8a3813a 100644 --- a/shit-show/resources/views/welcome.blade.php +++ b/shit-show/resources/views/welcome.blade.php @@ -25,7 +25,7 @@ @if (Route::has('login'))