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- -
-
-
-
+
+

+ Our Service Features +

+
-
+
diff --git a/resources/views/livewire/our-features.blade.php b/resources/views/livewire/our-features.blade.php index e02f9dc..78f8777 100644 --- a/resources/views/livewire/our-features.blade.php +++ b/resources/views/livewire/our-features.blade.php @@ -1,38 +1,13 @@ -
-
-
- -
-

Plagiarism Free

-

We ensure all our papers are plagiarism free.

-
-
-
-
-
- -
-

Expert Writers

-

Our writers are experts in their respective fields.

-
-
-
-
-
- -
-

On Time Delivery

-

We always deliver our work on time.

-
-
-
-
-
- -
-

Money Back Guarantee

-

We offer a money back guarantee if you're not satisfied.

-
-
-
+
+ @foreach($features as $feature) +
+
+ +
+

{{ $feature['title'] }}

+

{{ $feature['description'] }}

+
+
+
+ @endforeach
diff --git a/resources/views/messages.blade.php b/resources/views/messages.blade.php index ba3a775..9673eea 100644 --- a/resources/views/messages.blade.php +++ b/resources/views/messages.blade.php @@ -1,4 +1,4 @@ -
+

@@ -6,11 +6,47 @@

-
-
-
-
- {{ __("You're viewing messages!") }} +
+
+
+ @if($currentUserRole == 'writer') +
+ +
+
+ +
+ +
+
+
+
+ + + @foreach($clients as $user) +
+
+ {{ $user->name }} +
+
+

{{ $user->name }}

+ + +

+ {{ $user->lastMessage ? $user->lastMessage->message : 'No message yet' }} +

+
+
+ @endforeach +
+
+ + @endif +
+
diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 47a8e4d..9543212 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -14,7 +14,7 @@ -