Add File auth.php and config Provider in router

master
sundayenglish 4 weeks ago
parent 9c82647876
commit ea7c14fdac
  1. 13
      app/Components/Dashboard.php
  2. 16
      app/Http/Controllers/Dashboard.php
  3. 13
      app/Http/Controllers/DashboardController.php
  4. 35
      app/Livewire/Auth/Login.php
  5. 4
      config/livewire.php
  6. 4
      resources/views/admin/dashboard.blade.php
  7. 0
      resources/views/components/dashboard.blade.php
  8. 2
      resources/views/layouts/app.blade.php
  9. 6
      routes/web.php

@ -0,0 +1,13 @@
<?php
namespace App\Components; // <-- đổi namespace
use Livewire\Component;
class Dashboard extends Component
{
public function render()
{
return view('components.dashboard');
}
}

@ -1,16 +0,0 @@
<?php
namespace App\Http\Controllers;
use Livewire\Component;
class Dashboard extends Component
{
public function render()
{
return view('component.dashboard')
->layoutData(['title' => 'Dashboard']) // truyền thêm data nếu cần
->layout('layouts.app');
}
}

@ -0,0 +1,13 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class DashboardController extends Controller
{
public function index()
{
// Trả về Blade wrapper, Livewire component sẽ được gọi trong đó
return view('admin.dashboard');
}
}

@ -1,35 +0,0 @@
<?php
namespace App\Livewire\Auth;
use Illuminate\Support\Facades\Auth;
use Livewire\Component;
class Login extends Component
{
public $email = '';
public $password = '';
public $remember = false;
protected $rules = [
'email' => 'required|email',
'password' => 'required',
];
public function login()
{
$this->validate();
if (Auth::attempt(['email' => $this->email, 'password' => $this->password], $this->remember)) {
request()->session()->regenerate();
return redirect()->intended('/dashboard');
}
$this->addError('email', 'Email hoặc mật khẩu không đúng.');
}
public function render()
{
return view('auth.login')->layout('layouts.auth');
}
}

@ -13,7 +13,7 @@ return [
|
*/
'class_namespace' => 'App\\Livewire',
'class_namespace' => 'App\\Components',
/*
|---------------------------------------------------------------------------
@ -26,7 +26,7 @@ return [
|
*/
'view_path' => resource_path('views/component'),
'view_path' => resource_path('views/components'),
/*
|---------------------------------------------------------------------------

@ -1,10 +1,8 @@
{{-- resources/views/admin/dashboard.blade.php --}}
@extends('layouts.app')
@section('title', 'Dashboard')
@section('content')
{{-- Gọi Livewire component --}}
{{-- Đây chính là chỗ Livewire inject component --}}
<livewire:dashboard />
@endsection

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>@yield('title', 'Admin Page')</title>
<title>{{ $title ?? 'Admin Page' }}</title>
{{-- Favicons --}}
<link rel="apple-touch-icon" sizes="76x76" href="{{ asset('soft-ui/assets/img/apple-icon.png') }}">

@ -2,9 +2,7 @@
use App\Http\Controllers\Auth\LoginController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Dashboard;
use App\Http\Controllers\DashboardController;
// Dashboard route (Livewire) for authenticated users only
Route::get('dashboard', Dashboard::class)
->middleware('auth')
->name('dashboard');
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard');

Loading…
Cancel
Save