Backend for songs.zachdecook.com
* Auth: Add auth
| -rw-r--r-- | laravel/app/Http/Controllers/HomeController.php | 28 | ||||
| -rw-r--r-- | laravel/resources/views/auth/login.blade.php | 73 | ||||
| -rw-r--r-- | laravel/resources/views/auth/passwords/email.blade.php | 47 | ||||
| -rw-r--r-- | laravel/resources/views/auth/passwords/reset.blade.php | 65 | ||||
| -rw-r--r-- | laravel/resources/views/auth/register.blade.php | 77 | ||||
| -rw-r--r-- | laravel/resources/views/auth/verify.blade.php | 24 | ||||
| -rw-r--r-- | laravel/resources/views/home.blade.php | 23 | ||||
| -rw-r--r-- | laravel/resources/views/layouts/app.blade.php | 80 | ||||
| -rw-r--r-- | laravel/resources/views/song.blade.php | 13 | ||||
| -rw-r--r-- | laravel/resources/views/welcome.blade.php | 5 | ||||
| -rw-r--r-- | laravel/routes/web.php | 4 |
11 files changed, 433 insertions, 6 deletions
diff --git a/laravel/app/Http/Controllers/HomeController.php b/laravel/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..7cbc2c3 --- /dev/null +++ b/laravel/app/Http/Controllers/HomeController.php @@ -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'); + } +} diff --git a/laravel/resources/views/auth/login.blade.php b/laravel/resources/views/auth/login.blade.php new file mode 100644 index 0000000..9edb920 --- /dev/null +++ b/laravel/resources/views/auth/login.blade.php @@ -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="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required> + + @if ($errors->has('password')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <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="form-group 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 diff --git a/laravel/resources/views/auth/passwords/email.blade.php b/laravel/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..ccbee59 --- /dev/null +++ b/laravel/resources/views/auth/passwords/email.blade.php @@ -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="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group 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 diff --git a/laravel/resources/views/auth/passwords/reset.blade.php b/laravel/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..bf27f4c --- /dev/null +++ b/laravel/resources/views/auth/passwords/reset.blade.php @@ -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="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ $email ?? old('email') }}" required autofocus> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required> + + @if ($errors->has('password')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label> + + <div class="col-md-6"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required> + </div> + </div> + + <div class="form-group 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 diff --git a/laravel/resources/views/auth/register.blade.php b/laravel/resources/views/auth/register.blade.php new file mode 100644 index 0000000..ad95f2c --- /dev/null +++ b/laravel/resources/views/auth/register.blade.php @@ -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="form-group row"> + <label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label> + + <div class="col-md-6"> + <input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}" required autofocus> + + @if ($errors->has('name')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('name') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required> + + @if ($errors->has('password')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label> + + <div class="col-md-6"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required> + </div> + </div> + + <div class="form-group 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 diff --git a/laravel/resources/views/auth/verify.blade.php b/laravel/resources/views/auth/verify.blade.php new file mode 100644 index 0000000..c742cb4 --- /dev/null +++ b/laravel/resources/views/auth/verify.blade.php @@ -0,0 +1,24 @@ +@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') }}, <a href="{{ route('verification.resend') }}">{{ __('click here to request another') }}</a>. + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/laravel/resources/views/home.blade.php b/laravel/resources/views/home.blade.php new file mode 100644 index 0000000..05dfca9 --- /dev/null +++ b/laravel/resources/views/home.blade.php @@ -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 diff --git a/laravel/resources/views/layouts/app.blade.php b/laravel/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..ee7767c --- /dev/null +++ b/laravel/resources/views/layouts/app.blade.php @@ -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> + + <!-- Scripts --> + <script src="{{ asset('js/app.js') }}" defer></script> + + <!-- Fonts --> + <link rel="dns-prefetch" href="//fonts.gstatic.com"> + <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css"> + + <!-- Styles --> + <link href="{{ asset('css/app.css') }}" rel="stylesheet"> +</head> +<body> + <div id="app"> + <nav class="navbar navbar-expand-md navbar-light navbar-laravel"> + <div class="container"> + <a class="navbar-brand" href="{{ url('/') }}"> + {{ config('app.name', 'Laravel') }} + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-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 mr-auto"> + + </ul> + + <!-- Right Side Of Navbar --> + <ul class="navbar-nav ml-auto"> + <!-- Authentication Links --> + @guest + <li class="nav-item"> + <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a> + </li> + @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-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> + {{ Auth::user()->name }} <span class="caret"></span> + </a> + + <div class="dropdown-menu dropdown-menu-right" 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" style="display: none;"> + @csrf + </form> + </div> + </li> + @endguest + </ul> + </div> + </div> + </nav> + + <main class="py-4"> + @yield('content') + </main> + </div> +</body> +</html> diff --git a/laravel/resources/views/song.blade.php b/laravel/resources/views/song.blade.php index 2d8721c..daf2dd2 100644 --- a/laravel/resources/views/song.blade.php +++ b/laravel/resources/views/song.blade.php @@ -1,6 +1,9 @@ -@extends('main') +@extends('layouts.app') @section('content') -<h2>{{$song['title']}}</h2> -<pre> -{{$song['text']}} -</pre> +<div class='container'> + <h2>{{$song['title']}}</h2> + <pre> + {{$song['text']}} + </pre> +</div> +@endsection diff --git a/laravel/resources/views/welcome.blade.php b/laravel/resources/views/welcome.blade.php index 004672f..4ed5f3f 100644 --- a/laravel/resources/views/welcome.blade.php +++ b/laravel/resources/views/welcome.blade.php @@ -1,5 +1,6 @@ -@extends('main') +@extends('layouts.app') @section('content') +<div class='container'> <h1> Prosongsa Songs </h1> @@ -12,3 +13,5 @@ </a> @endforeach </ul> +</div> +@endsection diff --git a/laravel/routes/web.php b/laravel/routes/web.php index 9b2e466..c091d9c 100644 --- a/laravel/routes/web.php +++ b/laravel/routes/web.php @@ -15,3 +15,7 @@ Route::get('/', function () { return view('welcome'); }); Route::get('/song/{song}', 'SongController@show')->name('song.show'); + +Auth::routes(); + +Route::get('/home', 'HomeController@index')->name('home'); |