Skip to content

Commit da9ca8a

Browse files
committed
add: playlists to similar page
1 parent fdac270 commit da9ca8a

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

app/Http/Livewire/SimilarTorrent.php

+16
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use App\Models\Distributor;
2222
use App\Models\History;
2323
use App\Models\IgdbGame;
24+
use App\Models\Playlist;
2425
use App\Models\TmdbMovie;
2526
use App\Models\Region;
2627
use App\Models\Resolution;
@@ -401,6 +402,20 @@ final public function torrentRequests(): \Illuminate\Database\Eloquent\Collectio
401402
->get();
402403
}
403404

405+
/**
406+
* @return \Illuminate\Database\Eloquent\Collection<int, Playlist>
407+
*/
408+
#[Computed]
409+
final public function playlists(): \Illuminate\Database\Eloquent\Collection
410+
{
411+
return Playlist::query()
412+
->when($this->category->movie_meta, fn ($query) => $query->whereRelation('torrents', 'tmdb_movie_id', '=', $this->tmdbId))
413+
->when($this->category->tv_meta, fn ($query) => $query->whereRelation('torrents', 'tmdb_tv_id', '=', $this->tmdbId))
414+
->when($this->category->game_meta, fn ($query) => $query->whereRelation('torrents', 'igdb_game_id', '=', $this->tmdbId))
415+
->when(!($this->category->movie_meta || $this->category->tv_meta || $this->category->game_meta), fn ($query) => $query->whereRaw('0 = 1'))
416+
->get();
417+
}
418+
404419
final public function alertConfirm(): void
405420
{
406421
if (!auth()->user()->group->is_modo) {
@@ -547,6 +562,7 @@ final public function render(): \Illuminate\Contracts\View\Factory|\Illuminate\C
547562
'resolutions' => $this->resolutions,
548563
'regions' => $this->regions,
549564
'distributors' => $this->distributors,
565+
'playlists' => $this->playlists,
550566
]);
551567
}
552568
}

resources/views/livewire/similar-torrent.blade.php

+41-1
Original file line numberDiff line numberDiff line change
@@ -918,7 +918,6 @@ class="similar-torrents__checkbox"
918918
@endif
919919
</div>
920920
</section>
921-
922921
<section class="panelV2">
923922
<header style="cursor: pointer" class="panel__header">
924923
<h2 class="panel__heading">
@@ -1024,6 +1023,47 @@ class="form__button form__button--text"
10241023
</table>
10251024
</div>
10261025
</section>
1026+
@if ($playlists->isNotEmpty())
1027+
<section class="panelV2">
1028+
<header class="panel__header">
1029+
<h2 class="panel__heading">{{ __('playlist.playlists') }}</h2>
1030+
<div class="panel__actions" x-data="posterRow">
1031+
<div class="panel__action">
1032+
<button class="form__standard-icon-button" x-bind="scrollLeft">
1033+
<i class="{{ \config('other.font-awesome') }} fa-angle-left"></i>
1034+
</button>
1035+
</div>
1036+
<div class="panel__action">
1037+
<button class="form__standard-icon-button" x-bind="scrollRight">
1038+
<i class="{{ \config('other.font-awesome') }} fa-angle-right"></i>
1039+
</button>
1040+
</div>
1041+
</div>
1042+
</header>
1043+
<div class="panel__body playlists" x-ref="posters">
1044+
@switch(true)
1045+
@case($category->movie_meta)
1046+
@forelse ($playlists as $playlist)
1047+
<x-playlist.card :$playlist />
1048+
@empty
1049+
No playlists found
1050+
@endforelse
1051+
1052+
@break
1053+
@case($category->tv_meta)
1054+
@forelse ($playlists as $tv)
1055+
<x-playlist.card :$playlist />
1056+
@empty
1057+
No playlists found
1058+
@endforelse
1059+
1060+
@break
1061+
@default
1062+
No playlists Found!
1063+
@endswitch
1064+
</div>
1065+
</section>
1066+
@endif
10271067
</div>
10281068
</div>
10291069

0 commit comments

Comments
 (0)