Skip to content

Commit 1926095

Browse files
fix:[lar-150] null proprety when user property is null
1 parent e28c13b commit 1926095

File tree

1 file changed

+49
-41
lines changed

1 file changed

+49
-41
lines changed

resources/views/livewire/pages/forum/leaderboard.blade.php

Lines changed: 49 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class="gap-2 w-full justify-center py-2.5"
1414

1515
@php
1616
$top3 = $leaderboard->slice(0, 3);
17-
$lists = $leaderboard->reject(fn ($user) => in_array($user->id, $top3->pluck('id')->toArray()))
17+
$lists = $leaderboard->reject(fn ($user) => in_array($user->id, $top3->pluck('id')->toArray()));
1818
@endphp
1919

2020
<div id="leaderboard">
@@ -26,30 +26,36 @@ class="gap-2 w-full justify-center py-2.5"
2626

2727
<div class="relative isolate">
2828
<div class="flex flex-col gap-6 lg:flex-row lg:items-start lg:justify-evenly lg:pl-4">
29-
<div class="group z-10 order-2 sm:flex sm:flex-col sm:items-center lg:order-1 lg:mt-8">
30-
<x-forum.leader :user="$second" :position="2" />
31-
<div class="hidden leaderboard w-60 xl:grid">
32-
<div class="stage h-12 bg-yellow-300">
33-
<div class="stage-front flex items-center justify-center text-white h-24 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900"></div>
29+
@if($second)
30+
<div class="group z-10 order-2 sm:flex sm:flex-col sm:items-center lg:order-1 lg:mt-8">
31+
<x-forum.leader :user="$second" :position="2" />
32+
<div class="hidden leaderboard w-60 xl:grid">
33+
<div class="stage h-12 bg-yellow-300">
34+
<div class="stage-front flex items-center justify-center text-white h-24 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900"></div>
35+
</div>
3436
</div>
3537
</div>
36-
</div>
37-
<div class="group z-20 order-1 sm:flex sm:flex-col sm:items-center lg:order-2">
38-
<x-forum.leader :user="$first" :position="1" />
39-
<div class="hidden leaderboard w-90 xl:grid">
40-
<div class="stage h-12 bg-green-500">
41-
<div class="stage-front flex items-center justify-center text-white h-32 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900"></div>
38+
@endif
39+
@if($first)
40+
<div class="group z-20 order-1 sm:flex sm:flex-col sm:items-center lg:order-2">
41+
<x-forum.leader :user="$first" :position="1" />
42+
<div class="hidden leaderboard w-90 xl:grid">
43+
<div class="stage h-12 bg-green-500">
44+
<div class="stage-front flex items-center justify-center text-white h-32 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900"></div>
45+
</div>
4246
</div>
4347
</div>
44-
</div>
45-
<div class="group z-10 order-3 sm:flex sm:flex-col sm:items-center lg:mt-8 xl:mt-14">
46-
<x-forum.leader :user="$third" :position="3" />
47-
<div class="hidden leaderboard w-60 xl:grid">
48-
<div class="stage h-12 bg-danger-400">
49-
<div class="stage-front flex items-center justify-center text-white h-[4rem] bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900"></div>
48+
@endif
49+
@if($third)
50+
<div class="group z-10 order-3 sm:flex sm:flex-col sm:items-center lg:mt-8 xl:mt-14">
51+
<x-forum.leader :user="$third" :position="3" />
52+
<div class="hidden leaderboard w-60 xl:grid">
53+
<div class="stage h-12 bg-danger-400">
54+
<div class="stage-front flex items-center justify-center text-white h-[4rem] bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900"></div>
55+
</div>
5056
</div>
5157
</div>
52-
</div>
58+
@endif
5359
</div>
5460
<div class="mt-4 w-full max-w-sm mx-auto flex items-center justify-center">
5561
<div class="relative z-10 flex flex-1 w-full items-center overflow-hidden rounded-lg ring-1 ring-gray-200 p-[1px] dark:ring-white/10">
@@ -85,29 +91,31 @@ class="animate-rotate absolute inset-0 h-full w-full rounded-full bg-[conic-grad
8591
{{ __('global.last_active') }}
8692
</div>
8793
</div>
88-
@foreach($lists as $user)
89-
<div class="grid auto-cols grid-flow-col bg-gray-100 rounded-xl px-4 py-3 text-sm text-gray-700 dark:bg-gray-950/50 dark:text-gray-300">
90-
<div class="w-10 flex items-center gap-2">
91-
<x-phosphor-trophy-duotone class="size-5" aria-hidden="true" />
92-
{{ $loop->index + 4 }}
93-
</div>
94-
<div class="w-32 flex items-center gap-2">
95-
<x-user.avatar :user="$user" class="size-7" />
96-
<span class="text-gray-500 dark:text-gray-400">
97-
{{ '@' . $user->username }}
98-
</span>
94+
@if($lists->isNotEmpty())
95+
@foreach($lists as $user)
96+
<div class="grid auto-cols grid-flow-col bg-gray-100 rounded-xl px-4 py-3 text-sm text-gray-700 dark:bg-gray-950/50 dark:text-gray-300">
97+
<div class="w-10 flex items-center gap-2">
98+
<x-phosphor-trophy-duotone class="size-5" aria-hidden="true" />
99+
{{ $loop->index + 4 }}
100+
</div>
101+
<div class="w-32 flex items-center gap-2">
102+
<x-user.avatar :user="$user" class="size-7" />
103+
<span class="text-gray-500 dark:text-gray-400">
104+
{{ '@' . $user->username }}
105+
</span>
106+
</div>
107+
<div class="w-24 hidden text-right md:block">
108+
{{ $user->getPoints() }}
109+
</div>
110+
<div class="w-20 capitalize text-right">
111+
{{ $user->solutions_count }}
112+
</div>
113+
<div class="w-28 text-right hidden lg:block">
114+
{{ $user->last_active_at?->diffForHumans() }}
115+
</div>
99116
</div>
100-
<div class="w-24 hidden text-right md:block">
101-
{{ $user->getPoints() }}
102-
</div>
103-
<div class="w-20 capitalize text-right">
104-
{{ $user->solutions_count }}
105-
</div>
106-
<div class="w-28 text-right hidden lg:block">
107-
{{ $user->last_active_at?->diffForHumans() }}
108-
</div>
109-
</div>
110-
@endforeach
117+
@endforeach
118+
@endif
111119
</div>
112120
</div>
113121
</div>

0 commit comments

Comments
 (0)