Fungsi register login

This commit is contained in:
Stephen Gesityan 2025-04-18 19:18:41 +07:00
parent eeaa0d97cf
commit 5a13e481a0
3 changed files with 59 additions and 24 deletions

View File

@ -4,6 +4,8 @@
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller class LoginController extends Controller
{ {
@ -37,4 +39,14 @@ public function __construct()
$this->middleware('guest')->except('logout'); $this->middleware('guest')->except('logout');
$this->middleware('auth')->only('logout'); $this->middleware('auth')->only('logout');
} }
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/venue/das');
}
} }

View File

@ -37,27 +37,51 @@ class="block lg:hidden border-l pl-4 border-gray-300 focus:outline-none">
<!-- Desktop buttons --> <!-- Desktop buttons -->
<div class="hidden lg:flex items-center space-x-4"> <div class="hidden lg:flex items-center space-x-4">
<button @click="showModal = true; modalType = 'login'" @auth
class="text-sm font-medium text-gray-700 hover:text-primary transition">Masuk</button> <div x-data="{ open: false }" class="relative">
<button @click="showModal = true; modalType = 'register'" <button @click="open = !open"
class="bg-primary hover:bg-primary-dark text-white px-4 py-2 rounded text-sm font-medium transition">Daftar</button> class="flex items-center space-x-2 text-sm font-medium text-gray-700 hover:text-primary focus:outline-none">
</div> <span>{{ Auth::user()->name }}</span>
</div> <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M19 9l-7 7-7-7" />
</svg>
</button>
<!-- Mobile menu --> <div x-show="open" @click.away="open = false" x-transition
<div x-show="isMobileMenuOpen" @click.away="isMobileMenuOpen = false" class="absolute right-0 mt-2 w-40 bg-white rounded-lg shadow-lg py-2 z-50">
x-transition:enter="transition ease-out duration-300" <form method="POST" action="{{ route('logout') }}">
x-transition:enter-start="opacity-0 transform -translate-y-4" @csrf
x-transition:enter-end="opacity-100 transform translate-y-0" <button type="submit"
x-transition:leave="transition ease-in duration-200" class="block w-full text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">
x-transition:leave-start="opacity-100 transform translate-y-0" Logout
x-transition:leave-end="opacity-0 transform -translate-y-4" </button>
class="absolute top-full left-0 w-full bg-white shadow-lg mt-2 px-6 py-4 space-y-3 lg:hidden z-50 rounded-b-xl"> </form>
<button @click="showModal = true; modalType = 'login'" </div>
class="block w-full text-left text-sm font-medium text-gray-700 hover:text-primary transition">Masuk</button> </div>
<button @click="showModal = true; modalType = 'register'" @else
class="block w-full text-left bg-primary hover:bg-primary-dark text-white px-4 py-2 rounded text-sm font-medium transition">Daftar</button> <button @click="showModal = true; modalType = 'login'"
</div> class="text-sm font-medium text-gray-700 hover:text-primary transition">Masuk</button>
<button @click="showModal = true; modalType = 'register'"
class="bg-primary hover:bg-primary-dark text-white px-4 py-2 rounded text-sm font-medium transition">Daftar</button>
@endauth
</div>
<!-- Mobile menu -->
<div x-show="isMobileMenuOpen" ...>
@auth
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit"
class="block w-full text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">
Logout
</button>
</form>
@else
<button @click="showModal = true; modalType = 'login'" ...>Masuk</button>
<button @click="showModal = true; modalType = 'register'" ...>Daftar</button>
@endauth
</div>
</nav> </nav>
@ -124,12 +148,12 @@ class="w-full bg-blue-600 hover:bg-blue-700 text-white py-2 rounded">Daftar</but
<main class="pt-20"> <main class="pt-20">
@yield('content')
@if(Auth::check()) @if(Auth::check())
<p>Halo, {{ Auth::user()->name }}</p> <p>Halo, {{ Auth::user()->name }}</p>
@else @else
<p>Kamu belum login</p> <p>Kamu belum login</p>
@endif @endif
@yield('content')
</main> </main>
<footer class="bg-white text-gray-400 relative w-full pt-20"> <footer class="bg-white text-gray-400 relative w-full pt-20">

View File

@ -5,7 +5,6 @@
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
Auth::routes();
Route::get('/', [HomeController::class, "index"])->name('index'); Route::get('/', [HomeController::class, "index"])->name('index');
Route::get('/venue/{venueName}', [VenueController::class, "venue"])->name('venue'); Route::get('/venue/{venueName}', [VenueController::class, "venue"])->name('venue');
Auth::routes();