7 Card component'in yapısal analizi ve düzeltme planı
Tüm diğer card'lar bu yapıya göre standardize edilecektir. Bu şablon master pattern olarak kabul edilmiştir.
<a> tag
relative mb-4
w-full aspect-square object-cover rounded-lgbottom-2 right-2, w-12 h-12
top-2 right-2, z-10
h-12 overflow-hidden pb-4
<a class="group bg-muzibu-gray hover:bg-gray-700
rounded-lg px-4 pt-4 transition-all">
<!-- IMAGE AREA -->
<div class="relative mb-4">
<!-- Direkt Image (EKSTRA WRAPPER YOK) -->
<img class="w-full aspect-square
object-cover rounded-lg">
<!-- Playing Badge (top-left, conditional) -->
<span class="absolute top-2 left-2 z-10">
<!-- Play Button (bottom-right, hover) -->
<button class="absolute bottom-2 right-2
opacity-0 group-hover:opacity-100
w-12 h-12">
<!-- Favorite + Menu (top-right, hover) -->
<div class="absolute top-2 right-2 z-10
opacity-0 group-hover:opacity-100">
</div>
<!-- TEXT AREA (Fixed Height) -->
<div class="h-12 overflow-hidden pb-4">
<h3 class="text-sm leading-6 line-clamp-1">
<p class="text-xs leading-6 line-clamp-1">
</div>
</a>
| Component | Wrapper Tag | Image Yapısı | Play Button | Text Area | Durum |
|---|---|---|---|---|---|
| Album (Referans) | <a> ✅ | Direkt img ✅ | w-12 h-12 ✅ | h-12 ✅ | REFERANS |
| Radio | <div> ⚠️ |
Ekstra wrapper! object-contain ❌ |
w-16 h-16 ❌ Overlay mode |
h-12 ✅ | KRİTİK |
| Artist | <a> ✅ |
rounded-full ✅ (Artist için doğru) |
w-12 h-12 ✅ | h-12 ✅ | TAMAM |
| Genre | <a> ✅ | Direkt img ✅ | w-12 h-12 ✅ | h-12 ✅ | TAMAM |
| Playlist | <a> ✅ | Direkt img ✅ | w-12 h-12 ✅ | h-12 ✅ | TAMAM |
| Sector | <a> ✅ | Direkt img ✅ | w-12 h-12 ✅ | h-12 ✅ | TAMAM |
| Song |
<div> ✅ (onclick için mantıklı) |
Direkt img ✅ | w-12 h-12 ✅ | h-12 ✅ | TAMAM |
Radio card'da görsel kısmında ekstra bir div wrapper var. Bu, diğer tüm card'lardan farklı bir yapı oluşturuyor.
<!-- EKSTRA WRAPPER -->
<div class="w-full aspect-square bg-gradient-to-br
from-gray-800 to-gray-900 rounded-lg
flex items-center justify-center p-4
shadow-lg overflow-hidden">
<img class="w-full h-full object-contain">
</div>
<!-- Direkt image, ekstra wrapper YOK -->
<img src="..."
class="w-full aspect-square
object-cover rounded-lg
shadow-lg">
Radio card'da play button büyük overlay mode kullanıyor (w-16 h-16). Diğer tüm card'larda w-12 h-12 boyutunda bottom-right konumlu.
<!-- Büyük overlay mode -->
<div class="absolute inset-0 bg-black
bg-opacity-0 group-hover:bg-opacity-50">
<button class="w-16 h-16
scale-75 group-hover:scale-110">
</div>
<!-- Bottom-right simple button -->
<button class="absolute bottom-2 right-2
opacity-0 group-hover:opacity-100
transform translate-y-2
group-hover:translate-y-0
w-12 h-12">
Radio'da her zaman görünür bir "♾️" badge var (top-2 left-2). Bu özel bir özellik olabilir, ama diğer card'larda yok. Kullanıcı onayı gerekebilir.
Radio'da favorite/menu butonları z-20 kullanıyor, diğerleri z-10. Infinite badge ile çakışma önlemi olabilir.
Dosya: resources/views/components/muzibu/radio-card.blade.php
w-full aspect-square object-cover rounded-lgobject-contain → object-cover değiştir
Dosya: resources/views/components/muzibu/radio-card.blade.php
absolute bottom-2 right-2w-16 h-16 → w-12 h-12translate-y-2 group-hover:translate-y-0 kullanopacity-0 group-hover:opacity-100Karar Gerekli: Radio card'ın "♾️" (infinite) badge'i özel bir özellik mi, yoksa kaldırılmalı mı?
php artisan view:clearphp artisan responsecache:clearnpm run prodhttps://muzibu.com/radios📊 Muzibu Card Component Standardizasyon Analizi
🤖 Claude AI ile oluşturuldu • 21 Aralık 2025