Skip to content

Commit 3c00270

Browse files
committed
chore: [LAR-110] run pint and phpstan
1 parent 16efe6e commit 3c00270

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+685
-745
lines changed

app/Console/Commands/PublishArticles.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public function handle(): void
2020
$articles = Article::submitted()->approved()->whereNull('published_at')->get();
2121

2222
foreach ($articles as $article) {
23+
/** @var Article $article */
2324
$article->published_at = $article->submitted_at;
2425
$article->save();
2526
}

app/Http/Controllers/DiscussionController.php

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,6 @@ public function __construct()
1515
$this->middleware(['auth', 'verified'], ['except' => ['index', 'show']]);
1616
}
1717

18-
public function index(): View
19-
{
20-
return view('discussions.index');
21-
}
22-
23-
public function show(Discussion $discussion): View
24-
{
25-
views($discussion)->record();
26-
27-
// @phpstan-ignore-next-line
28-
seo()
29-
->title($discussion->title)
30-
->description($discussion->excerpt(100))
31-
->image(asset('images/socialcard.png'))
32-
->twitterTitle($discussion->title)
33-
->twitterDescription($discussion->excerpt(100))
34-
->twitterImage(asset('images/socialcard.png'))
35-
->twitterSite('laravelcm')
36-
->withUrl();
37-
38-
return view('discussions.show', ['discussion' => $discussion->load('tags')]);
39-
}
40-
4118
public function create(): View
4219
{
4320
return view('discussions.new');

app/Livewire/Discussions/Browse.php

Lines changed: 0 additions & 59 deletions
This file was deleted.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Livewire\Pages\Discussions;
6+
7+
use App\Models\Builders\DiscussionQueryBuilder;
8+
use App\Models\Discussion;
9+
use App\Models\Tag;
10+
use Illuminate\Contracts\View\View;
11+
use Livewire\Attributes\Url;
12+
use Livewire\Component;
13+
use Livewire\WithoutUrlPagination;
14+
use Livewire\WithPagination;
15+
16+
final class Index extends Component
17+
{
18+
use WithoutUrlPagination;
19+
use WithPagination;
20+
21+
#[Url(as: 'tag', except: '')]
22+
public string $currentTag = '';
23+
24+
public string $sortBy = 'recent';
25+
26+
public function validSort(string $sort): bool
27+
{
28+
return in_array($sort, [
29+
'recent',
30+
'popular',
31+
'active',
32+
]);
33+
}
34+
35+
public function toggleTag(string $tag): void
36+
{
37+
$this->currentTag = $this->currentTag !== $tag && $this->tagExists($tag) ? $tag : '';
38+
}
39+
40+
public function sort(string $sort): void
41+
{
42+
$this->sortBy = $this->validSort($sort) ? $sort : 'recent';
43+
}
44+
45+
public function tagExists(string $tag): bool
46+
{
47+
return Tag::query()->where('slug', $tag)->exists();
48+
}
49+
50+
public function render(): View
51+
{
52+
/** @var DiscussionQueryBuilder $query */
53+
$query = Discussion::with('tags')
54+
->withCount('replies')
55+
->notPinned();
56+
57+
$tags = Tag::query()
58+
->whereJsonContains('concerns', ['discussion'])
59+
->orderBy('name')
60+
->get();
61+
62+
if ($this->currentTag) {
63+
$query->forTag($this->currentTag); // @phpstan-ignore-line
64+
}
65+
66+
$query->{$this->sortBy}();
67+
68+
$discussions = $query->simplePaginate(12);
69+
70+
return view('livewire.pages.discussions.index', [
71+
'discussions' => $discussions,
72+
'tags' => $tags,
73+
'selectedSortBy' => $this->sortBy,
74+
])->title(__('pages/discussion.title'));
75+
}
76+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Livewire\Pages\Discussions;
6+
7+
use App\Models\Discussion;
8+
use Illuminate\Contracts\View\View;
9+
use Livewire\Component;
10+
11+
final class SingleDiscussion extends Component
12+
{
13+
public Discussion $discussion;
14+
15+
public function mount(Discussion $discussion): void
16+
{
17+
views($discussion)->cooldown(now()->addHours(2))->record();
18+
19+
// @phpstan-ignore-next-line
20+
seo()
21+
->title($discussion->title)
22+
->description($discussion->excerpt(100))
23+
->image(asset('images/socialcard.png'))
24+
->twitterTitle($discussion->title)
25+
->twitterDescription($discussion->excerpt(100))
26+
->twitterImage(asset('images/socialcard.png'))
27+
->twitterSite('laravelcm')
28+
->withUrl();
29+
30+
$this->discussion = $discussion->load('tags');
31+
}
32+
33+
public function render(): View
34+
{
35+
return view('livewire.pages.discussions.single-discussion')->title($this->discussion->title);
36+
}
37+
}

app/Models/Feature.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace App\Models;
66

77
use Illuminate\Database\Eloquent\Factories\HasFactory;
8-
use LaravelFeature\Model\Feature as Model;
8+
use Illuminate\Database\Eloquent\Model;
99

1010
final class Feature extends Model
1111
{

app/Models/User.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use App\Traits\HasSettings;
1010
use App\Traits\HasUsername;
1111
use App\Traits\Reacts;
12+
use Carbon\Carbon;
1213
use Filament\Models\Contracts\FilamentUser;
1314
use Filament\Models\Contracts\HasAvatar;
1415
use Filament\Models\Contracts\HasName;
@@ -21,7 +22,6 @@
2122
use Illuminate\Foundation\Auth\User as Authenticatable;
2223
use Illuminate\Notifications\Notifiable;
2324
use Illuminate\Notifications\Notification;
24-
use Illuminate\Support\Carbon;
2525
use Illuminate\Support\Facades\Auth;
2626
use Laravel\Sanctum\HasApiTokens;
2727
use Laravel\Socialite\Contracts\User as SocialUser;

app/Providers/AppServiceProvider.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ public function bootMacros(): void
6262

6363
public function bootViewsComposer(): void
6464
{
65-
View::composer('discussions._contributions', TopContributorsComposer::class);
66-
View::composer('discussions._contributions', InactiveDiscussionsComposer::class);
65+
View::composer('partials._contributions', TopContributorsComposer::class);
66+
View::composer('partials._contributions', InactiveDiscussionsComposer::class);
6767
View::composer('components.profile-users', ProfileUsersComposer::class);
6868
}
6969

app/Traits/HasSlug.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public function setSlugAttribute(string $slug): void
1818
$this->attributes['slug'] = $this->generateUniqueSlug($slug);
1919
}
2020

21-
public static function findBySlug(string $slug): self
21+
public static function findBySlug(string $slug): static
2222
{
2323
return static::where('slug', $slug)->firstOrFail();
2424
}

app/Traits/WithArticleAttributes.php

Lines changed: 0 additions & 73 deletions
This file was deleted.

app/Traits/WithChannelsAssociation.php

Lines changed: 0 additions & 31 deletions
This file was deleted.

app/Traits/WithTags.php

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)