refactor: optimize query usage in SyncSpotifyMusicProductions and SyncYoutubeReleases commands, enhance MusicProductionController by removing unused header logic, and update view structure for improved maintainability

This commit is contained in:
Ümit Tunç
2026-05-20 23:10:05 +03:00
parent ad4f04b005
commit 187f8c3812
6 changed files with 164 additions and 61 deletions
@@ -4,11 +4,18 @@
{{-- demo28.html: hero + itemgrid --}}
<section class="wrapper bg-gradient-blend">
<div class="container pt-24 xl:pt-32 lg:pt-32 md:pt-32 pb-14 md:pb-32 xl:pb-40 lg:pb-40">
<div class="flex flex-wrap mx-[-15px]">
<div class="xl:w-3/12 lg:w-3/12 w-full flex-[0_0_auto] !px-[15px] max-w-full !mx-auto">
<div class="img-mask mask-2">
<img src="{{ asset('assets/img/photos/about28.jpg') }}" alt="{{ __('music_productions.meta-index-title') }}">
</div>
<div class="flex flex-wrap mx-[-15px] justify-center">
<div class="w-full md:w-10/12 lg:w-9/12 xl:w-8/12 flex-[0_0_auto] !px-[15px] max-w-full">
<figure class="!mb-0 flex justify-center">
<img
class="w-full h-auto max-w-full object-contain"
src="{{ asset('assets/music-production.png') }}"
alt="{{ __('music_productions.meta-index-title') }}"
width="1056"
height="576"
loading="eager"
>
</figure>
</div>
<!-- /column -->
</div>
@@ -82,19 +89,19 @@
@endphp
<div class="project item xl:w-4/12 lg:w-6/12 md:w-6/12 w-full flex-[0_0_auto] max-w-full {{ $variant['filter'] }} px-[20px] xl:!px-[25px] lg:!px-[25px] !mt-[2rem] xl:!mt-[2.5rem] lg:!mt-[2.5rem]">
<div class="card !shadow-[0_0.25rem_1.75rem_rgba(30,34,40,0.07)]">
<figure class="card-img-top itooltip {{ $variant['tooltip'] }}" title='<h5 class="!mb-0">{{ e(__('music_productions.view_details_tooltip')) }}</h5>'>
<a href="{{ $detailUrl }}">
<figure class="card-img-top music-production-cover itooltip {{ $variant['tooltip'] }}" title='<h5 class="!mb-0">{{ e(__('music_productions.view_details_tooltip')) }}</h5>'>
<a href="{{ $detailUrl }}" class="music-production-cover__link">
@if($production->cover_image_url)
<img src="{{ $production->cover_image_url }}" alt="{{ $production->translate('title') }}">
<img src="{{ $production->cover_image_url }}" alt="{{ $production->translate('title') }}" loading="lazy">
@else
<img src="{{ asset('assets/img/photos/pd6.jpg') }}" alt="{{ $production->translate('title') }}">
<img src="{{ asset('assets/img/photos/pd6.jpg') }}" alt="{{ $production->translate('title') }}" loading="lazy">
@endif
</a>
</figure>
<div class="card-body p-7">
<div class="post-header">
<div class="{{ $variant['label_class'] }}">{{ $categoryLabel }}</div>
<h3 class="!mb-0">{{ $production->translate('title') }}</h3>
<h3 class="!mb-0 truncate" title="{{ $production->translate('title') }}">{{ $production->translate('title') }}</h3>
</div>
<!-- /.post-header -->
</div>
@@ -141,6 +148,29 @@
@push('styles')
<style>
/* 1:1 kapak karesi — dikdörtgen görseli kırpar, yan boşluk bırakmaz */
.projects-masonry .music-production-cover {
position: relative;
aspect-ratio: 1 / 1;
width: 100%;
overflow: hidden;
margin-bottom: 0;
border-radius: 0.4rem 0.4rem 0 0;
}
.projects-masonry .music-production-cover__link {
display: block;
width: 100%;
height: 100%;
}
.projects-masonry .music-production-cover img {
display: block;
width: 100%;
height: 100% !important;
object-fit: cover;
object-position: center;
border-radius: 0.4rem 0.4rem 0 0;
}
.pagination-wrapper .pagination {
display: flex;
gap: 0.35rem;