Basit Anlatım (Herkes İçin)
Ne Bulduk? Muzibu'da kartları (şarkı, albüm, playlist vb.) göstermek için iki farklı sistem kullanılmış. Bu durum karışıklığa ve tutarsızlığa yol açıyor.
Component Sistemi
Lego parçası gibi düşünün. Bir kez yaparsınız, her yerde kullanırsınız. Değişiklik yapınca tüm sitede güncellenir.
Inline Sistem
Her sayfaya ayrı ayrı yazılmış kodlar. Değişiklik yapınca her yeri tek tek güncellemek gerekir.
Sorun Ne?
- Aynı kartın iki farklı görünümü var (tutarsız tasarım)
- Bir yerde düzeltme yapınca diğeri eski kalıyor
- Play butonu bazı yerlerde sağ altta, bazı yerlerde ortada
- Favori ikonu bazı yerlerde hep görünüyor, bazılarında sadece üzerine gelince
Teknik Özet
Component Card'lar (Doğru Yaklaşım)
10 Adet
resources/views/components/muzibu/
| Component | Dosya | Preview | Compact | Kullanım |
|---|---|---|---|---|
x-muzibu.song-card |
song-card.blade.php | true | false | Şarkı listeleri, sidebar |
x-muzibu.album-card |
album-card.blade.php | true | false | Albüm grid, favoriler |
x-muzibu.playlist-card |
playlist-card.blade.php | true | false | Playlist listeleri |
x-muzibu.artist-card |
artist-card.blade.php | - | false | Sanatçı grid |
x-muzibu.genre-card |
genre-card.blade.php | false | false | Tür listeleri |
x-muzibu.radio-card |
radio-card.blade.php | false | false | Radyo listeleri |
x-muzibu.sector-card |
sector-card.blade.php | false | false | Sektör listeleri |
x-muzibu.my-playlist-card |
my-playlist-card.blade.php | true | false | Kullanıcı playlistleri |
x-muzibu.genre-quick-card |
genre-quick-card.blade.php | - | - | Ana sayfa yatay tür |
x-muzibu.playlist-quick-card |
playlist-quick-card.blade.php | - | - | Ana sayfa yatay playlist |
Inline Card'lar (Tutarsızlık Kaynağı)
3 Adet
resources/views/themes/muzibu/components/
Bu kartlar horizontal-scroll-section içinde kullanılıyor. Aynı işlevi gören component card'lar zaten mevcut!
album-card.blade.php
- preview: false (default)
- size: small/normal/large
- Container: div (a değil)
playlist-card.blade.php
- preview: false (default)
- size: small/normal/large
- Play: ortada overlay
radio-card.blade.php
- preview: desteklenmiyor
- size: small/normal/large
- Farklı hover efekti
Tutarsızlık Karşılaştırma Matrisi
| Özellik | Component Card | Inline Card | Durum |
|---|---|---|---|
| Preview Default | true | false | TUTARSIZ |
| Size Sistemi | compact: true/false | size: small/normal/large | TUTARSIZ |
| Container Element | <a> tag (tıklanabilir) | <div> tag | TUTARSIZ |
| Play Button Pozisyon | Sağ alt köşe | Ortada overlay | TUTARSIZ |
| Favori İkonu | Her zaman görünür | Sadece hover'da | TUTARSIZ |
| Genişlik Sistemi | w-[190px] (compact) | w-40 sm:w-44 (responsive) | TUTARSIZ |
Kullanım Haritası
Component Card Kullanan Sayfalar
albums/index.blade.phpplaylists/index.blade.phpgenres/index.blade.phpgenres/show.blade.phpsectors/index.blade.phpradios/index.blade.phpartists/index.blade.phpfavorites/index.blade.phplistening-history.blade.phpsongs/index.blade.phpsidebar-right.blade.phpTüm grid partials
Inline Card Kullanan Sayfalar
-
home.blade.phphorizontal-scroll-section içinde -
dashboard.blade.phphorizontal-scroll-section içinde
Öneri: horizontal-scroll-section component'ı, inline card yerine component card'ları kullanacak şekilde güncellenebilir.
Dosya Yapısı
Component Cards
resources/views/components/muzibu/ ├── song-card.blade.php ├── album-card.blade.php ├── playlist-card.blade.php ├── artist-card.blade.php ├── genre-card.blade.php ├── radio-card.blade.php ├── sector-card.blade.php ├── my-playlist-card.blade.php ├── genre-quick-card.blade.php └── playlist-quick-card.blade.php
Inline Cards (Gereksiz)
resources/views/themes/muzibu/components/ ├── album-card.blade.php ← Duplicate! ├── playlist-card.blade.php ← Duplicate! └── radio-card.blade.php ← Duplicate!
Öneriler
Inline Card'ları Kaldır
themes/muzibu/components/ altındaki 3 inline card dosyasını sil.
Bunların yerine component card'ları kullan.
horizontal-scroll-section'ı Güncelle
Bu component içinde @include() yerine <x-muzibu.album-card>
gibi component syntax'ı kullan.
Size Sistemini Standardize Et
Component card'lara size prop'u ekle veya compact prop'unu
genişlet (small/normal/large desteği).
Tek Kaynak Prensibi (Single Source of Truth)
Her card tipi için TEK dosya olsun. Değişiklik yapınca tüm site güncellenir.