1 | <?php |
||
2 | |||
3 | namespace Usamamuneerchaudhary\Commentify\Http\Livewire; |
||
4 | |||
5 | |||
6 | use Illuminate\Contracts\View\Factory; |
||
7 | use Illuminate\Contracts\View\View; |
||
8 | use Illuminate\Foundation\Application; |
||
9 | use Livewire\Component; |
||
10 | |||
11 | class Like extends Component |
||
12 | { |
||
13 | |||
14 | public $comment; |
||
15 | public $count; |
||
16 | |||
17 | |||
18 | public function mount(\Usamamuneerchaudhary\Commentify\Models\Comment $comment): void |
||
19 | { |
||
20 | $this->comment = $comment; |
||
21 | $this->count = $comment->likes_count; |
||
0 ignored issues
–
show
|
|||
22 | } |
||
23 | |||
24 | public function like(): void |
||
25 | { |
||
26 | $ip = request()->ip(); |
||
27 | $userAgent = request()->userAgent(); |
||
28 | if ($this->comment->isLiked()) { |
||
29 | $this->comment->removeLike(); |
||
30 | |||
31 | $this->count--; |
||
32 | } elseif (auth()->user()) { |
||
33 | $this->comment->likes()->create([ |
||
34 | 'user_id' => auth()->id(), |
||
35 | ]); |
||
36 | |||
37 | $this->count++; |
||
38 | } elseif ($ip && $userAgent) { |
||
39 | $this->comment->likes()->create([ |
||
40 | 'ip' => $ip, |
||
41 | 'user_agent' => $userAgent, |
||
42 | ]); |
||
43 | |||
44 | $this->count++; |
||
45 | } |
||
46 | } |
||
47 | |||
48 | /** |
||
49 | * @return Factory|Application|View|\Illuminate\Contracts\Foundation\Application|null |
||
50 | */ |
||
51 | public function render( |
||
52 | ): \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\Contracts\View\View|\Illuminate\Contracts\Foundation\Application|null |
||
53 | { |
||
54 | return view('commentify::livewire.like'); |
||
55 | } |
||
56 | |||
57 | } |
||
58 |
Checks if undeclared accessed properties appear in database migrations and if the creating migration is correct.