Merhaba FKA, öncelikle bu repo için teşekkürler. Repo'yu forklayıp apps.osmankoc.dev altında yayınladım. Yayınlama öncesinde kendimce birkaç şey gözüme çarptı ve bunları düzeltip iyileştirdim. Bir de yeni bir özellik ekledim. Bunları buraya da PR çıkacaktım fakat değişikliklerin kapsamı biraz genişlediği için öncesinde bunları bir issue ile söyleyip göstermek istedim, eğer uygun görürsen ona göre değişiklikleri buraya da çıkacağım. Aşağıda detayları mevcut.
- Mobil Uygulamalar için Çoklu Link Desteği (App Store / Google Play)
Her uygulamanın yalnızca tek bir homepage veya downloadUrl bağlantısı vardı. Bendeki mobil uygulamaların hem App Store hem de Google Play linklerini taşıyabilmesi için yeni bir links alanı eklendi. Diğer türlü aynı uygulamanın android ve ios tarafı için ayrı ayrı eklemek gerekecekti.
apps.json — Yeni links alanı
"links": [
{ "label": "App Store", "url": "https://apps.apple.com/...", "platform": "ios" },
{ "label": "Google Play", "url": "https://play.google.com/...", "platform": "android" }
]
- Uygulama Kartı / Satırı — "Get" Butonu Davranışı
links dizisi dolu olan uygulamalarda "Get" butonuna tıklanınca artık platform seçim modalı (veya dropdown) açılıyor. Daha önce yalnızca tek bir URL'ye yönlendirme yapılıyordu.
- Uygulama detay ekranında,
links dizisi dolu olan uygulamalar için "Get" butonu; altında açılır dropdown (platform listesi) gösteren bir yapıya dönüştürüldü.
getButtonLabel() fonksiyonu güncellendi: links dizisi varsa veya kategori games/entertainment ise buton etiketi "Get" döner.
get-dropdown-wrapper / get-dropdown CSS sınıfları eklendi.
- Her platform bağlantısı; platforma özgü icon (iOS/Android SVG), etiket ve ok ikonuyla listeleniyor.
- Dropdown, dışarıya tıklanınca veya
Escape tuşuna basılınca kapanıyor.
- Platform Seçim Modalı (
showLinksModal)
Ana uygulama listesindeki "Get" butonuna tıklanınca (app.links varsa) yeni bir modal ekranı açılıyor:
- Modal'da uygulama ikonu ve adı gösteriliyor.
- Her platform linki;
.modal-platform-link elemanı olarak, platforma özgü icon ve ">" oku ile listeleniyor.
- Mevcut
closeModal() altyapısı kullanılıyor.
- Yeni
platformIcon(platform) Fonksiyonu
"ios", "android" ve genel harici link olmak üzere 3 farklı SVG ikonu döndüren yardımcı fonksiyon eklendi.
- Yeni CSS Sınıfları (style.css)
| Sınıf / Grup |
Açıklama |
.platform-links |
Detay ekranında platform butonlarının wrapper'ı |
.platform-link-btn |
Yuvarlak kenarlıklı platform butonu |
.modal-platform-links |
Modal içindeki platform linkleri listesi |
.modal-platform-link |
Tek bir platform link satırı |
.modal-platform-icon |
Platform ikonunun kapsayıcısı |
.modal-platform-label |
Platform etiketi |
.modal-platform-chevron |
Platform satırı ok ikonu |
.get-dropdown-wrapper |
Detay sayfasındaki dropdown'ın konumlandırma wrapper'ı |
.get-dropdown |
Dropdown panel (opacity/transform animasyonlu) |
.get-dropdown.open |
Açık dropdown durumu |
.get-dropdown-item |
Dropdown içindeki tek bir link satırı |
.get-dropdown-icon |
Dropdown satırındaki platform ikonu kapsayıcısı |
.get-dropdown-label |
Dropdown satırı etiketi |
.get-dropdown-arrow |
Dropdown satırı ok ikonu |
- Layout ve Responsive Düzeltmeler
body ve .app-store'dan overflow: hidden kaldırıldı → sayfa kayması sorunu çözüldü.
width: 100vw → width: 100%, max-width: 100vw → max-width: 100% olarak değiştirildi (yatay taşma önlendi).
.info-grid ve .app-detail üzerindeki overflow: hidden mobil breakpoint'te kaldırıldı.
- App detail actions alanı mobilde ortalandı (
justify-content: center).
GitHub repo: https://github.com/osman-koc/my-apps
Live: https://apps.osmankoc.dev
Merhaba FKA, öncelikle bu repo için teşekkürler. Repo'yu forklayıp apps.osmankoc.dev altında yayınladım. Yayınlama öncesinde kendimce birkaç şey gözüme çarptı ve bunları düzeltip iyileştirdim. Bir de yeni bir özellik ekledim. Bunları buraya da PR çıkacaktım fakat değişikliklerin kapsamı biraz genişlediği için öncesinde bunları bir issue ile söyleyip göstermek istedim, eğer uygun görürsen ona göre değişiklikleri buraya da çıkacağım. Aşağıda detayları mevcut.
Her uygulamanın yalnızca tek bir
homepageveyadownloadUrlbağlantısı vardı. Bendeki mobil uygulamaların hem App Store hem de Google Play linklerini taşıyabilmesi için yeni birlinksalanı eklendi. Diğer türlü aynı uygulamanın android ve ios tarafı için ayrı ayrı eklemek gerekecekti.apps.json — Yeni
linksalanılinksdizisi dolu olan uygulamalarda "Get" butonuna tıklanınca artık platform seçim modalı (veya dropdown) açılıyor. Daha önce yalnızca tek bir URL'ye yönlendirme yapılıyordu.linksdizisi dolu olan uygulamalar için "Get" butonu; altında açılır dropdown (platform listesi) gösteren bir yapıya dönüştürüldü.getButtonLabel()fonksiyonu güncellendi:linksdizisi varsa veya kategorigames/entertainmentise buton etiketi"Get"döner.get-dropdown-wrapper/get-dropdownCSS sınıfları eklendi.Escapetuşuna basılınca kapanıyor.showLinksModal)Ana uygulama listesindeki "Get" butonuna tıklanınca (
app.linksvarsa) yeni bir modal ekranı açılıyor:.modal-platform-linkelemanı olarak, platforma özgü icon ve ">" oku ile listeleniyor.closeModal()altyapısı kullanılıyor.platformIcon(platform)Fonksiyonu"ios","android"ve genel harici link olmak üzere 3 farklı SVG ikonu döndüren yardımcı fonksiyon eklendi..platform-links.platform-link-btn.modal-platform-links.modal-platform-link.modal-platform-icon.modal-platform-label.modal-platform-chevron.get-dropdown-wrapper.get-dropdown.get-dropdown.open.get-dropdown-item.get-dropdown-icon.get-dropdown-label.get-dropdown-arrowbodyve.app-store'danoverflow: hiddenkaldırıldı → sayfa kayması sorunu çözüldü.width: 100vw→width: 100%,max-width: 100vw→max-width: 100%olarak değiştirildi (yatay taşma önlendi)..info-gridve.app-detailüzerindekioverflow: hiddenmobil breakpoint'te kaldırıldı.justify-content: center).GitHub repo: https://github.com/osman-koc/my-apps
Live: https://apps.osmankoc.dev