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

components/gallery/SimpleLogo.tsx — Basit logo görüntüleyici (editor olmadan).