diff --git a/app/Livewire/Messages.php b/app/Livewire/Messages.php index 84d7e41..ed85f5a 100644 --- a/app/Livewire/Messages.php +++ b/app/Livewire/Messages.php @@ -2,13 +2,30 @@ namespace App\Livewire; +use App\Models\User; use Illuminate\View\View; use Livewire\Component; class Messages extends Component { + public $loggedInUser; + public $currentUserRole; + public $search = ''; + + public function mount(): void + { + $this->loggedInUser = auth()->user(); + $this->currentUserRole = $this->loggedInUser->role; + } + public function render(): View { - return view('messages'); + return view('messages', + [ + 'clients' => User::where('role', 'client') + ->where('name', 'like', '%' . $this->search . '%')->orWhere('email', 'like', '%' . $this->search . '%') + ->get() + ] + ); } } diff --git a/app/Livewire/OurFeatures.php b/app/Livewire/OurFeatures.php index 9ef04d7..f855e0c 100644 --- a/app/Livewire/OurFeatures.php +++ b/app/Livewire/OurFeatures.php @@ -9,6 +9,29 @@ class OurFeatures extends Component { public function render(): View { - return view('livewire.our-features'); + $features = [ + [ + 'icon' => 'fa-check-circle', + 'title' => 'Plagiarism Free', + 'description' => 'We ensure all our papers are plagiarism free.', + ], + [ + 'icon' => 'fa-user-graduate', + 'title' => 'Expert Writers', + 'description' => 'Our writers are experts in their respective fields.', + ], + [ + 'icon' => 'fa-clock', + 'title' => 'On Time Delivery', + 'description' => 'We always deliver our work on time.', + ], + [ + 'icon' => 'fa-money-bill-wave', + 'title' => 'Money Back Guarantee', + 'description' => 'We offer a money back guarantee if you\'re not satisfied.', + ], + ]; + + return view('livewire.our-features', ['features' => $features]); } } diff --git a/app/Models/User.php b/app/Models/User.php index 7bb6053..d8c7ad6 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -31,7 +31,12 @@ public function orders(): HasMany public function messages(): HasMany { - return $this->hasMany(Message::class); + return $this->hasMany(Message::class, 'sender_id'); + } + + public function getLastMessageAttribute(): string + { + return $this->messages()->latest()->first()->message ?? ''; } public function referrals(): HasMany diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index d01a0ef..cd181dc 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -13,11 +13,6 @@ class DatabaseSeeder extends Seeder */ public function run(): void { - // User::factory(10)->create(); - - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', - ]); + User::factory(100)->create(); } } diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 3adfb8d..4753266 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -29,17 +29,18 @@ class="bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded- -
We ensure all our papers are plagiarism free.
-Our writers are experts in their respective fields.
-We always deliver our work on time.
-We offer a money back guarantee if you're not satisfied.
-{{ $feature['description'] }}
++ {{ $user->lastMessage ? $user->lastMessage->message : 'No message yet' }} +
+