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 Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
@ -37,4 +39,14 @@ public function __construct()
$this->middleware('guest')->except('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,26 +37,50 @@ class="block lg:hidden border-l pl-4 border-gray-300 focus:outline-none">
<!-- Desktop buttons -->
<div class="hidden lg:flex items-center space-x-4">
@auth
<div x-data="{ open: false }" class="relative">
<button @click="open = !open"
class="flex items-center space-x-2 text-sm font-medium text-gray-700 hover:text-primary focus:outline-none">
<span>{{ Auth::user()->name }}</span>
<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>
<div x-show="open" @click.away="open = false" x-transition
class="absolute right-0 mt-2 w-40 bg-white rounded-lg shadow-lg py-2 z-50">
<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>
</div>
</div>
@else
<button @click="showModal = true; modalType = 'login'"
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>
</div>
@endauth
</div>
<!-- Mobile menu -->
<div x-show="isMobileMenuOpen" @click.away="isMobileMenuOpen = false"
x-transition:enter="transition ease-out duration-300"
x-transition:enter-start="opacity-0 transform -translate-y-4"
x-transition:enter-end="opacity-100 transform translate-y-0"
x-transition:leave="transition ease-in duration-200"
x-transition:leave-start="opacity-100 transform translate-y-0"
x-transition:leave-end="opacity-0 transform -translate-y-4"
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">
<button @click="showModal = true; modalType = 'login'"
class="block w-full text-left text-sm font-medium text-gray-700 hover:text-primary transition">Masuk</button>
<button @click="showModal = true; modalType = 'register'"
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>
<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>
@ -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">
@yield('content')
@if(Auth::check())
<p>Halo, {{ Auth::user()->name }}</p>
@else
<p>Kamu belum login</p>
@endif
@yield('content')
</main>
<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\Auth;
Auth::routes();
Route::get('/', [HomeController::class, "index"])->name('index');
Route::get('/venue/{venueName}', [VenueController::class, "venue"])->name('venue');
Auth::routes();