Proje: Okul B2B App · Hub: Okul B2B App — Conventions

API Dosya Adı Kuralları

50 Karakter Limiti

API fotoğraf yüklemelerinde dosya adı maksimum 50 karakter olabilir. Aşıldığında upload hatası alınır.

createSafeFileName()

utils/FilenameUtils.ts:

import { createSafeFileName } from '@/utils/FilenameUtils';
 
const safeFileName = createSafeFileName('uzun_dosya_adı.jpg', 'gallery');
// gallery_uzun_dosya_adı_234567.jpg (max 50 char)

Algoritma:

  1. Uzantıyı ayır
  2. 6 haneli timestamp suffix ekle (benzersizlik için)
  3. Prefix varsa önüne ekle
  4. Toplam 50 karaktere truncate et
  5. Uzantıyı sonuna ekle

Bu fonksiyon galeri ekranında ve her upload noktasında kullanılmalı.

FloatingLabelInput

components/ui/FloatingLabelInput.tsx — Tüm formlarda (login, not ekleme, içerik oluşturma) bu standart input kullanılır. Floating label animasyonu Animated.Value ile yapılır.

<FloatingLabelInput
  label="E-posta"
  value={email}
  onChangeText={setEmail}
  error={emailError}
  onClearError={() => setEmailError('')}
/>