From 6e34debf44261bd0bc9ac4b28865ff77352a5cf8 Mon Sep 17 00:00:00 2001 From: Chri$ Date: Thu, 9 Jan 2025 11:12:11 +0100 Subject: [PATCH 1/4] fix:[lar-183] fix style in profile questions tabs --- resources/views/components/forum/thread.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/components/forum/thread.blade.php b/resources/views/components/forum/thread.blade.php index ffeaa4b7..d2525caf 100644 --- a/resources/views/components/forum/thread.blade.php +++ b/resources/views/components/forum/thread.blade.php @@ -5,8 +5,8 @@
-
-

+
+

{{ $thread->subject() }} From 70ed8afffc40490eb3592cd4207c917d574c7dcf Mon Sep 17 00:00:00 2001 From: Arthur Monney Date: Sat, 11 Jan 2025 10:56:16 +0100 Subject: [PATCH 2/4] feat: update thread card and create computed methods for user data --- app/Livewire/Pages/Account/Profile.php | 53 ++++++++--- .../views/components/forum/thread.blade.php | 4 +- .../views/components/user/articles.blade.php | 92 +++++++++---------- .../components/user/discussions.blade.php | 88 +++++++++--------- .../views/components/user/threads.blade.php | 80 ++++++++-------- resources/views/layouts/forum.blade.php | 4 +- .../livewire/pages/account/profile.blade.php | 8 +- .../livewire/pages/forum/index.blade.php | 2 +- 8 files changed, 175 insertions(+), 156 deletions(-) diff --git a/app/Livewire/Pages/Account/Profile.php b/app/Livewire/Pages/Account/Profile.php index d7f0fdf6..884c325d 100644 --- a/app/Livewire/Pages/Account/Profile.php +++ b/app/Livewire/Pages/Account/Profile.php @@ -4,30 +4,55 @@ namespace App\Livewire\Pages\Account; +use App\Models\Article; +use App\Models\Discussion; +use App\Models\Thread; use App\Models\User; use Illuminate\Contracts\View\View; +use Illuminate\Support\Collection; +use Livewire\Attributes\Computed; use Livewire\Component; final class Profile extends Component { public User $user; + #[Computed(persist: true)] + public function articles(): Collection + { + return Article::with('media', 'tags') + ->select('id', 'title', 'slug', 'body', 'published_at') + ->whereBelongsTo($this->user) + ->published() + ->recent() + ->limit(5) + ->get(); + } + + #[Computed(persist: true)] + public function threads(): Collection + { + return Thread::with('channels') + ->withCount('replies') + ->whereBelongsTo($this->user) + ->orderByDesc('created_at') + ->limit(5) + ->get(); + } + + #[Computed(persist: true)] + public function discussions(): Collection + { + return Discussion::with('tags') + ->withCount('replies', 'reactions') + ->whereBelongsTo($this->user) + ->limit(5) + ->get(); + } + public function render(): View { - return view('livewire.pages.account.profile', [ - 'articles' => $this->user->articles() // @phpstan-ignore-line - ->recent() - ->published() - ->limit(5) - ->get(), - 'threads' => $this->user->threads() - ->orderByDesc('created_at') - ->limit(5) - ->get(), - 'discussions' => $this->user->discussions() - ->limit(5) - ->get(), - ]) + return view('livewire.pages.account.profile') ->title($this->user->username.' ( '.$this->user->name.')'); } } diff --git a/resources/views/components/forum/thread.blade.php b/resources/views/components/forum/thread.blade.php index d2525caf..e8db17e0 100644 --- a/resources/views/components/forum/thread.blade.php +++ b/resources/views/components/forum/thread.blade.php @@ -5,8 +5,8 @@
-
-

+
+

{{ $thread->subject() }} diff --git a/resources/views/components/user/articles.blade.php b/resources/views/components/user/articles.blade.php index ecdc6078..9c3eb6cd 100644 --- a/resources/views/components/user/articles.blade.php +++ b/resources/views/components/user/articles.blade.php @@ -3,56 +3,54 @@ 'articles', ]) -
- @if ($articles->isNotEmpty()) -
- @foreach ($articles as $article) -
- -
- @endforeach -
- @else - +@if ($articles->isNotEmpty()) +
+ @foreach ($articles as $article) +
+ +
+ @endforeach +
+@else + +
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-

- {{ $user->name }} - {{ __('pages/account.activities.empty_articles') }} -

- - @if ($user->isLoggedInUser()) - @can('create', \App\Models\Article::class) - - - @endcan - @endif +
- - @endif -
+
+
+

+ {{ $user->name }} + {{ __('pages/account.activities.empty_articles') }} +

+ + @if ($user->isLoggedInUser()) + @can('create', \App\Models\Article::class) + + + @endcan + @endif +
+ +@endif diff --git a/resources/views/components/user/discussions.blade.php b/resources/views/components/user/discussions.blade.php index 4be58ccb..713e4f27 100644 --- a/resources/views/components/user/discussions.blade.php +++ b/resources/views/components/user/discussions.blade.php @@ -3,58 +3,56 @@ 'discussions', ]) -
- @if ($discussions->isNotEmpty()) -
- @foreach ($discussions as $discussion) - - @endforeach -
- @else - +@if ($discussions->isNotEmpty()) +
+ @foreach ($discussions as $discussion) + + @endforeach +
+@else + +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
+
-
-

- {{ $user->name }} - {{ __('pages/account.activities.empty_discussions') }} -

- - @if ($user->isLoggedInUser()) - @can('create', \App\Models\Discussion::class) - - - @endcan - @endif +
+
+
+
+
+
+
+
+
- - @endif -
+
+
+

+ {{ $user->name }} + {{ __('pages/account.activities.empty_discussions') }} +

+ + @if ($user->isLoggedInUser()) + @can('create', \App\Models\Discussion::class) + + + @endcan + @endif +
+ +@endif diff --git a/resources/views/components/user/threads.blade.php b/resources/views/components/user/threads.blade.php index f7516e0d..52e6137a 100644 --- a/resources/views/components/user/threads.blade.php +++ b/resources/views/components/user/threads.blade.php @@ -3,51 +3,49 @@ 'threads', ]) -
- @if ($threads->isNotEmpty()) -
- @foreach ($threads as $thread) - - @endforeach -
- @else - +@if ($threads->isNotEmpty()) +
+ @foreach ($threads as $thread) + + @endforeach +
+@else + +
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-

- {{ $user->name }} - {{ __('pages/account.activities.empty_threads') }} -

+
+
+

+ {{ $user->name }} + {{ __('pages/account.activities.empty_threads') }} +

- @if ($user->isLoggedInUser()) - @can('create', \App\Models\Thread::class) - - - @endcan - @endif -
- - @endif -
+ @if ($user->isLoggedInUser()) + @can('create', \App\Models\Thread::class) + + + @endcan + @endif +
+ +@endif diff --git a/resources/views/layouts/forum.blade.php b/resources/views/layouts/forum.blade.php index d2d07c38..2eee8d7c 100644 --- a/resources/views/layouts/forum.blade.php +++ b/resources/views/layouts/forum.blade.php @@ -41,7 +41,7 @@ {{ __('pages/forum.navigation.popular') }} @@ -62,7 +62,7 @@ {{ __('pages/forum.navigation.no_reply') }} diff --git a/resources/views/livewire/pages/account/profile.blade.php b/resources/views/livewire/pages/account/profile.blade.php index ec9cb5fa..08522e39 100644 --- a/resources/views/livewire/pages/account/profile.blade.php +++ b/resources/views/livewire/pages/account/profile.blade.php @@ -137,17 +137,17 @@ class="relative z-20 inline-flex h-8 w-full cursor-pointer items-center justify-
-
+
- +
- +
-
+

    - @forelse($activities as $activity) + @forelse($this->activities as $activity) @if($activity->subject)
  • {{ $article->user->name }} - @if($article->isPublished()) + + @if ($article->isPublished())