Proje: Okul B2B App · Hub: Okul B2B App — Domain
Logo Yönetimi
Okul logosu galeri ekranının “Logo” sekmesinde yönetilir.
Logo Yükleme Akışı
NativeLogoCropModal.tsx
→ useImageCropPicker (react-native-image-crop-picker)
→ LogoImageEditor.tsx (kırpma/düzenleme editörü)
→ GalleryService.uploadLogo()
→ MediaService.uploadMedia({ role_id: MEDIA_ROLES.LOGO })
LogoImageEditor
components/gallery/LogoImageEditor.tsx — Gelişmiş görsel editörü:
- Kırpma (crop) — 300x300 kare
- Ayarlama (adjust) — parlaklık, kontrast vb.
- Filtreler
- Şekiller
Reanimated 4 + GestureHandler ile pinch-to-zoom ve pan gesture.
MEDIA_ROLES.LOGO = 16
Logo fotoğrafları için role ID 16.
CDN URL
Logo URL’leri /schools/{id}/logo/ path ile değiştirilir:
/schools/{id}/image.jpg → /schools/{id}/logo/image.jpg
SimpleLogo
components/gallery/SimpleLogo.tsx — Basit logo görüntüleyici (editor olmadan).
Related
- galeri-yonetimi — galeri domain
- medya-roller-ve-sabitler — LOGO role ID
- medya-yukleme-akisi — upload akışı