From f8431d164b28ffa1fabb01aba29af519b99e6909 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 11 Jan 2025 11:25:43 +0100 Subject: [PATCH 1/3] chore(deps): bump vormkracht10/filament-mails from 1.0.5 to 2.0.1 (#301) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 58b7630f..630d4607 100644 --- a/composer.json +++ b/composer.json @@ -48,7 +48,7 @@ "symfony/http-client": "^7.1.8", "symfony/mailgun-mailer": "^7.1", "torchlight/torchlight-laravel": "^0.6", - "vormkracht10/filament-mails": "^1.0", + "vormkracht10/filament-mails": "^2.0", "wire-elements/modal": "^2.0", "wire-elements/spotlight": "^2.0", "yarri/link-finder": "^2.7.10", From 4ae7639146a0541f81f69234af26d9834270802d Mon Sep 17 00:00:00 2001 From: Chris Samory Date: Sat, 11 Jan 2025 20:50:16 +0100 Subject: [PATCH 2/3] fix:[lar-180] fix style in profile questions tabs (#317) Co-authored-by: Arthur Monney --- app/Livewire/Components/User/Activities.php | 17 +++- app/Livewire/Pages/Account/Profile.php | 58 ++++++++++-- composer.lock | 16 ++-- .../views/components/forum/thread.blade.php | 2 +- .../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/components/reactions.blade.php | 2 +- .../components/user/activities.blade.php | 2 +- .../livewire/pages/account/profile.blade.php | 8 +- .../pages/articles/single-post.blade.php | 22 ++--- .../livewire/pages/forum/index.blade.php | 2 +- 13 files changed, 217 insertions(+), 176 deletions(-) diff --git a/app/Livewire/Components/User/Activities.php b/app/Livewire/Components/User/Activities.php index ba82654f..9d61fd98 100644 --- a/app/Livewire/Components/User/Activities.php +++ b/app/Livewire/Components/User/Activities.php @@ -7,16 +7,27 @@ use App\Models\Activity; use App\Models\User; use Illuminate\Contracts\View\View; +use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Cache; +use Livewire\Attributes\Computed; use Livewire\Component; final class Activities extends Component { public User $user; + #[Computed(persist: true)] + public function activities(): Collection + { + return Cache::remember( + key: 'activities.'.$this->user->id, + ttl: now()->addDays(3), + callback: fn () => Activity::latestFeed($this->user) + ); + } + public function render(): View { - return view('livewire.components.user.activities', [ - 'activities' => Activity::latestFeed($this->user), - ]); + return view('livewire.components.user.activities'); } } diff --git a/app/Livewire/Pages/Account/Profile.php b/app/Livewire/Pages/Account/Profile.php index d7f0fdf6..2e8e4ed1 100644 --- a/app/Livewire/Pages/Account/Profile.php +++ b/app/Livewire/Pages/Account/Profile.php @@ -4,30 +4,68 @@ 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 Illuminate\Support\Facades\Cache; +use Livewire\Attributes\Computed; use Livewire\Component; final class Profile extends Component { public User $user; - public function render(): View + #[Computed(persist: true)] + public function articles(): Collection { - return view('livewire.pages.account.profile', [ - 'articles' => $this->user->articles() // @phpstan-ignore-line - ->recent() + return Cache::remember( + key: 'articles.'.$this->user->id, + ttl: now()->addDays(3), + callback: fn () => Article::with('media', 'tags') + ->select('id', 'title', 'slug', 'body', 'published_at') + ->whereBelongsTo($this->user) ->published() + ->recent() ->limit(5) - ->get(), - 'threads' => $this->user->threads() + ->get() + ); + } + + #[Computed(persist: true)] + public function threads(): Collection + { + return Cache::remember( + key: 'threads.'.$this->user->id, + ttl: now()->addDays(3), + callback: fn () => Thread::with('channels') + ->withCount('replies') + ->whereBelongsTo($this->user) ->orderByDesc('created_at') ->limit(5) - ->get(), - 'discussions' => $this->user->discussions() + ->get() + ); + } + + #[Computed(persist: true)] + public function discussions(): Collection + { + return Cache::remember( + key: 'discussions.'.$this->user->id, + ttl: now()->addDays(3), + callback: fn () => Discussion::with('tags') + ->withCount('replies', 'reactions') + ->whereBelongsTo($this->user) ->limit(5) - ->get(), - ]) + ->get() + ); + } + + public function render(): View + { + return view('livewire.pages.account.profile') ->title($this->user->username.' ( '.$this->user->name.')'); } } diff --git a/composer.lock b/composer.lock index 7cb3da9c..1f31d4df 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ed0e156f18a55dfdfc7fc7922799cd9a", + "content-hash": "4c716d8363d3d8066535ca12060d6e28", "packages": [ { "name": "abraham/twitteroauth", @@ -13554,16 +13554,16 @@ }, { "name": "vormkracht10/filament-mails", - "version": "v1.0.5", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/vormkracht10/filament-mails.git", - "reference": "ab13d2b90daad93943248f7888808f78a2ab6d09" + "reference": "c2c72b77e303d594c97c6a9b1c58dfec8b61d931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vormkracht10/filament-mails/zipball/ab13d2b90daad93943248f7888808f78a2ab6d09", - "reference": "ab13d2b90daad93943248f7888808f78a2ab6d09", + "url": "https://api.github.com/repos/vormkracht10/filament-mails/zipball/c2c72b77e303d594c97c6a9b1c58dfec8b61d931", + "reference": "c2c72b77e303d594c97c6a9b1c58dfec8b61d931", "shasum": "" }, "require": { @@ -13629,7 +13629,7 @@ "type": "github" } ], - "time": "2024-12-27T09:22:16+00:00" + "time": "2025-01-03T13:17:15+00:00" }, { "name": "vormkracht10/laravel-mails", @@ -17374,7 +17374,7 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { @@ -17382,6 +17382,6 @@ "ext-fileinfo": "*", "ext-json": "*" }, - "platform-dev": {}, + "platform-dev": [], "plugin-api-version": "2.6.0" } diff --git a/resources/views/components/forum/thread.blade.php b/resources/views/components/forum/thread.blade.php index ffeaa4b7..e8db17e0 100644 --- a/resources/views/components/forum/thread.blade.php +++ b/resources/views/components/forum/thread.blade.php @@ -6,7 +6,7 @@
-

+

{{ $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/components/reactions.blade.php b/resources/views/livewire/components/reactions.blade.php index 44e8c142..65d69bdc 100644 --- a/resources/views/livewire/components/reactions.blade.php +++ b/resources/views/livewire/components/reactions.blade.php @@ -26,7 +26,7 @@ class="size-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-600 dark:gr @click="showReactions = ! showReactions" @class([ 'group relative flex items-center h-8 cursor-pointer items-center justify-between', - 'rounded-lg bg-white px-3 py-2 shadow hover:bg-gray-50' => $withBackground, + 'rounded-lg bg-white px-3 py-2 shadow hover:bg-gray-50 dark:bg-gray-800 dark:hover:bg-gray-700' => $withBackground, ]) > @if($direction === 'vertical') diff --git a/resources/views/livewire/components/user/activities.blade.php b/resources/views/livewire/components/user/activities.blade.php index bb9b3801..427fd0be 100644 --- a/resources/views/livewire/components/user/activities.blade.php +++ b/resources/views/livewire/components/user/activities.blade.php @@ -3,7 +3,7 @@ {{ __('pages/account.activities.latest_of', ['name' => $user->name]) }}

    - @forelse($activities as $activity) + @forelse($this->activities as $activity) @if($activity->subject)
  • -
    +
    - +
    - +
    - +