Proje: Okul B2B App · Hub: Okul B2B App — Conventions
UploadProgress Bileşeni
components/gallery/UploadProgress.tsx — Yükleme ilerleme takibi modal’ı.
UploadItem State
interface UploadItem {
id: string,
fileName: string,
fileSize: number,
progress: number, // 0-100
status: 'pending' | 'uploading' | 'completed' | 'error',
error?: string,
type: 'image' | 'video' | 'logo',
uri: string,
uploadedAt?: string
}ProgressBar
SVG Circle ile dairesel progress bar. status === 'error' → kırmızı, completed → yeşil, uploading → mavi.
Aksiyonlar
onRetry(uploadId)— Başarısız yüklemeyi tekrar deneonCancel(uploadId)— Yüklemeyi iptal etonClearCompleted()— Tamamlanan yüklemeleri temizle
Haptic Feedback
Upload tamamlandığında veya başarısız olduğunda Haptics.notificationAsync() çağrılır.
Related
- medya-yukleme-akisi — upload flow
- galeri-ekreni-pattern — galeri ekranı context’i