UYGULAMA PLANI v2

Context Menu Düzeltme Planı

Değişiklikler • Dosyalar • Adımlar

25 Aralık 2025

Basit Anlatım

Ne yapılacak? Sağ tuş menülerinde bazı düzenlemeler yapılacak:

  • "Sanatçıya Git" seçeneği tüm menülerden kalkacak
  • Albümlere "Playliste Ekle" seçeneği gelecek
  • Radyo için "Sıraya Ekle" yerine sadece "Çal" olacak
  • Tüm kartlar PC'de önizleme, mobilde yeni sayfa açacak

Kaldırılacaklar

  • "Sanatçıya Git" - Song menu
  • "Sanatçıya Git" - Album menu
  • "Sıraya Ekle" - Radio menu

Eklenecekler

  • "Playliste Ekle" - Album menu
  • Preview mode - Tüm kartlar (PC)
  • Responsive main area - Tüm kartlar (Mobil)

Hedef Menu Yapısı

İçerik Tipi
Çal Sıraya Favori Puan Playlist Albüm Düzenle
Song -
Album - YENİ - -
Playlist - - -
Genre - - - -
Sector - - - -
Radio (ÖZEL) KALDIRILDI - - - -
Artist - - - -

* Şartlı: album_id varsa görünür | ** Sahip: Kendi playlist'iyse görünür

Tıklama Davranışı

Desktop (≥1024px)

Karta tıkla → Sidebar Preview açılır

Preview'de şarkı listesi görünür

Play butonu → Infinite queue ile çalar

Radio hariç - direkt çalar

Mobile/Tablet (<1024px)

Karta tıkla → Yeni sayfa açılır (main area)

Detay sayfası görünür

Play butonu → Infinite queue ile çalar

Radio hariç - direkt çalar

Teknik Mantık

// Tüm kartlarda (radio hariç) bu mantık:
@click="
  if (window.innerWidth >= 1024) {
    // Desktop: Preview aç
    $event.preventDefault();
    $store.sidebar.showPreview(type, id, data);
  } else {
    // Mobile: Normal link davranışı (yeni sayfa)
    // href çalışır
  }
"
                

Uygulama Adımları

1

Menu Builder Güncelle

Menü yapısını yeni plana göre düzenle

public/themes/muzibu/js/context-menus/menu-builder.js
  • getSongMenuItems() → "goToArtist" kaldır
  • getAlbumMenuItems() → "goToArtist" kaldır, "addToPlaylist" ekle
  • getRadioMenuItems() → "addToQueue" kaldır
2

Action Dosyalarını Güncelle

Gereksiz action'ları temizle, yeni action ekle

  • song-actions.js → goToArtist() kaldır
  • album-actions.js → goToArtist() kaldır → addToPlaylist() ekle
  • radio-actions.js → addToQueue() kaldır
3

Blade Componentleri Güncelle (Preview/Mobile)

Tüm kartlara responsive click davranışı ekle

Etkilenen dosyalar:

  • components/muzibu/song-card.blade.php
  • components/muzibu/album-card.blade.php
  • components/muzibu/playlist-card.blade.php
  • components/muzibu/genre-card.blade.php
  • components/muzibu/sector-card.blade.php
  • components/muzibu/artist-card.blade.php
  • radio-card.blade.php → Değişiklik yok (özel)
4

Context Menu Data Güncelle

Blade'lerdeki context menu data'larından artist bilgilerini kaldır

Tüm openContextMenu() çağrılarından:

  • artist_id: ... kaldır
  • artist_slug: ... kaldır
5

Gereksiz Dosyaları Temizle

Artık kullanılmayan action'ları ve handler'ları temizle

  • action-executor.js → goToArtist case kaldır
  • content-actions.js → goToArtist() kaldır
6

Test & Cache Temizle

Değişiklikleri test et ve cache'leri temizle

php artisan view:clear
php artisan responsecache:clear
npm run prod

Dosya Değişiklik Özeti

Dosya İşlem Değişiklik
menu-builder.js GÜNCELLE goToArtist kaldır, addToPlaylist ekle (album), addToQueue kaldır (radio)
song-actions.js GÜNCELLE goToArtist() fonksiyonu kaldır
album-actions.js GÜNCELLE goToArtist() kaldır, addToPlaylist() ekle
radio-actions.js GÜNCELLE addToQueue() fonksiyonu kaldır
action-executor.js GÜNCELLE goToArtist case kaldır
content-actions.js GÜNCELLE goToArtist() kaldır
song-card.blade.php GÜNCELLE artist_id/slug kaldır, responsive click ekle
song-row.blade.php GÜNCELLE artist_id/slug kaldır
song-list-item.blade.php GÜNCELLE artist_id/slug kaldır
album-card.blade.php GÜNCELLE Responsive click kontrol et/düzelt
genre-card.blade.php GÜNCELLE Responsive click kontrol et/düzelt
sector-card.blade.php GÜNCELLE Responsive click kontrol et/düzelt
artist-card.blade.php GÜNCELLE Responsive click kontrol et/düzelt
radio-card.blade.php - Değişiklik yok (özel davranış)