3.6 KiB
3.6 KiB
Yer Ekle Modal Geliştirmesi
Yapılan İyileştirmeler
1. Keşfet Stili Görsel Düzen
- Grid Layout: Yerler artık 2 sütunlu grid düzeninde gösteriliyor (mobilde 1, tablette 2)
- Büyük Görseller: Her yer için 160px yüksekliğinde etkileyici görseller
- Hover Efektleri: Görseller üzerine gelindiğinde zoom efekti ve "Ekle" butonu görünüyor
- Kart Tasarımı: Modern kart tasarımı ile her yer ayrı bir kart içinde
2. Kategori Filtreleme
Aşağıdaki kategoriler eklendi:
- 🏛️ Tümü
- 🏛️ Müze
- 🏛️ Tarihi
- 🌄 Manzara
- 🍽️ Restoran
- 🏨 Otel
- 🎈 Balon
- 🚌 Tur
- 🏍️ ATV
- 🐴 At Binme
3. Gelişmiş Bilgi Gösterimi
Her yer kartında:
- Kategori Badge: Sol üstte kategori etiketi
- Yıldız Puanı: Rating bilgisi yıldız ikonu ile
- Konum: Şehir ve ülke bilgisi konum ikonu ile
- Süre: Ziyaret süresi bilgisi (varsa)
- Ekle Butonu: Hover'da görünen hızlı ekleme butonu
4. İki Mod Desteği
Keşfet Modu (Arama Yok)
- Kategori filtreleri görünür
- Seçili kategoriye göre yerler listelenir
- Varsayılan olarak tüm yerler gösterilir
- 50 yere kadar gösterim
Arama Modu (Arama Var)
- Kategori filtreleri gizlenir
- Arama sonuçları gösterilir
- Gerçek zamanlı arama
5. Yükleme Durumları
- Skeleton loader ile profesyonel yükleme gösterimi
- 2x2 grid'de 4 skeleton kart
- Yumuş geçişler
6. Boş Durumlar
- Arama Sonucu Yok: Arama ikonu ile bilgilendirme
- Kategori Boş: Konum ikonu ile alternatif öneriler
- Kullanıcı dostu mesajlar
7. Responsive Tasarım
- Mobil: Tek sütun, tam genişlik kartlar
- Tablet+: İki sütun grid düzeni
- Modal Genişliği:
sm:max-w-2xlile daha geniş alan - Yatay kaydırmalı kategori filtreleri
Teknik Detaylar
Dosya
src/components/planner/AddPlaceSheet.tsx
Yeni Bağımlılıklar
placesApi.getByType()- Kategoriye göre yer getirmeplacesApi.getAll()- Tüm yerleri getirmeBadgecomponent - Kategori etiketleri içinSkeletoncomponent - Yükleme durumu içinStar,MapPinicons - Bilgi gösterimi için
State Yönetimi
const [selectedCategory, setSelectedCategory] = useState('all');
const [explorePlaces, setExplorePlaces] = useState<any[]>([]);
const [isLoadingExplore, setIsLoadingExplore] = useState(false);
Dinamik Veri Yükleme
- Kategori değiştiğinde otomatik yükleme
- Arama modu ile keşfet modu arasında akıllı geçiş
- Error handling ile güvenli veri çekme
Kullanıcı Deneyimi İyileştirmeleri
- Görsel Öncelik: Büyük, çekici görseller ile yerler daha çekici
- Hızlı Filtreleme: Tek tıkla kategori değiştirme
- Akıllı Arama: Arama yaparken kategoriler gizlenir, odak aramada
- Hover İnteraktivite: Kartlar üzerine gelindiğinde animasyonlar
- Bilgi Yoğunluğu: Kompakt ama okunabilir bilgi gösterimi
- Hızlı Ekleme: Hover'da görünen "Ekle" butonu ile tek tıkla ekleme
Özel Durumlar
Balon Kısıtlaması
- Balon zaten eklenmişse kilit ikonu gösterilir
- Tooltip ile açıklama
- Kart opacity düşürülür
- Ekleme butonu devre dışı
Responsive Davranış
- Mobilde tek sütun, rahat görüntüleme
- Tablette iki sütun, daha fazla içerik
- Kategori filtreleri yatay kaydırma ile tüm cihazlarda erişilebilir
Performans
- Lazy loading ile görseller optimize edilmiş
- Kategori değişiminde debounce yok (anında yükleme)
- Maksimum 50 yer ile performans korunmuş
- Skeleton loader ile algılanan performans artışı
Tarih
2026-02-05