Tüm Sayfalar / 48 - Playlist Detay Sayfası
Sayfa 48 / 100
Sayfa #48 - Playlist Detay

Playlist Detay Sayfası

Biz Ne Yaptık?

Çalma listesi detay sayfası ile kullanıcılar playlistlerin içeriğini görebilir. Kapak görseli, açıklama, şarkı sayısı, toplam süre ve tek tıkla tüm listeyi çalma imkanı sunuluyor.

Playlist Bilgileri

  • Kapak görseli (4 şarkıdan mozaik)
  • Playlist adı ve açıklaması
  • Oluşturan kullanıcı bilgisi
  • Beğeni ve kaydetme sayısı

Çalma Özellikleri

  • Tümünü çal butonu
  • Karıştır (shuffle) modu
  • Sürükle-bırak sıralama
  • Şarkı ekleme/çıkarma

Arkada Ne Oluyor?

1

Playlist Verileri Yüklenir

playlists tablosundan başlık, açıklama, kapak çekilir

2

Şarkı Listesi Getirilir

playlist_songs pivot tablosundan sıralı şarkı listesi

3

Yetki Kontrolü Yapılır

Public mi? Kullanıcının kendi listesi mi? Düzenleme yetkisi var mı?

4

Toplam Süre Hesaplanır

Tüm şarkıların süreleri toplanır (örn: 2 saat 34 dakika)

Admin Panelden Ne Görebilirsiniz?

1,247
Toplam Playlist
892
Public Listeler
18.4
Ort. Şarkı Sayısı

Arkaplanda Neler Çalışıyor?

Bir playlist detay sayfası görüntülendiğinde, sistem şu adımları sırayla gerçekleştirir:

Playlist Verisi Çekme

Playlist::where('slug', $slug)->with(['user', 'media'])->firstOrFail() sorgusu çalışır. Playlist başlığı, açıklaması, oluşturan kullanıcı ve kapak görseli tek sorguda getirilir.

Pivot Table ile Şarkı Listesi

$playlist->songs()->withPivot('order')->orderBy('pivot_order')->get() sorgusu playlist_song pivot tablosundan şarkıları sırasına göre getirir. Her şarkının playlist içindeki pozisyonu order alanında tutulur.

Görünürlük ve Yetki Kontrolü

$playlist->visibility alanı kontrol edilir: "public" (herkes görür), "private" (sadece sahibi) veya "unlisted" (linkle erişim). Gate::allows('view', $playlist) ile yetki doğrulanır.

Toplam Süre Hesaplama

$playlist->songs->sum('duration') ile tüm şarkıların süreleri toplanır. Sonuç gmdate('H:i:s', $totalSeconds) formatında "1:42:35" olarak gösterilir.

Shuffle Modu Hazırlığı

"Karıştır" butonuna basıldığında $playlist->songs->shuffle() metodu çalışır. Şarkılar rastgele sıraya dizilir ve Alpine.js store'a bu sıra aktarılır.

Collaborative Editing Kontrolü

$playlist->collaborators()->where('user_id', auth()->id())->exists() kontrolü yapılır. Kullanıcı collaborator ise "Şarkı Ekle/Çıkar" ve "Sıra Değiştir" butonları aktif edilir.

Bu Sayfanın Anahtar Terimleri

Pivot Table

Playlist-şarkı ilişkisini tutan ara tablo

Shuffle

Şarkıları rastgele sırada çalma modu

Collaborative Playlist

Birden fazla kişinin düzenleyebildiği liste

Visibility

Public, Private veya Unlisted erişim türleri

Chill Vibes 2026

24 şarkı - 1 saat 42 dk

Blinding Lights
The Weeknd
3:20
2
Levitating
Dua Lipa
3:23
3
Stay
Kid Laroi, Justin Bieber
2:21
4
Heat Waves
Glass Animals
3:58
5
Good 4 U
Olivia Rodrigo
2:58
6
Peaches
Justin Bieber
3:18
7
Blinding Lights
The Weeknd
3:20
8
Levitating
Dua Lipa
3:23
9
Stay
Kid Laroi
2:21
10
Heat Waves
Glass Animals
3:58
11
Good 4 U
Olivia Rodrigo
2:58
12
Peaches
Justin Bieber
3:18
24
Şarkı
1:42
Süre
847
Kaydet