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

Türkçe Arama ve Platform Optimizasyonları

TurkishSearchUtils

utils/TurkishSearchUtils.ts — JavaScript’in toLowerCase() Türkçe karakter sorununu çözer.

Problem: "İ".toLowerCase()"i̇" (yanlış), "I".toLowerCase()"i" (Türkçe’de "ı" olmalı)

Çözüm:

import { turkishToLower, turkishSearch } from '@/utils/TurkishSearchUtils';
 
// Doğru Türkçe küçültme
turkishToLower('İSTANBUL') // → 'istanbul'
 
// Fuzzy arama (Türkçe karakter ignore)
turkishSearch('arama terimi', 'Aranan İçerik')

Lead arama, okul listesi filtreleme gibi yerlerde kullanılır.

Android Optimizasyonları

utils/AndroidOptimizations.ts_layout.tsx’in ikinci import’u olarak çalıştırılır.

// App entry'de otomatik çalışır:
import '@/utils/AndroidOptimizations';
 
// Yapılanlar:
enableScreens(true);                                  // native screens performans
UIManager.setLayoutAnimationEnabledExperimental(true) // smooth animations
InteractionManager.setDeadline(300)                   // interaction timing

Font Scaling Devre Dışı

utils/DisableFontScaling.ts_layout.tsx’in ilk import’u. Tüm Text bileşenlerinde allowFontScaling={false} ayarlar. Bu kullanıcının sistem font boyutunun UI’ı bozmasını engeller.

SecurityHeaders

utils/SecurityHeaders.ts — API isteklerinde güvenlik header’ları tanımlar. CSP, HSTS, X-Frame-Options vb. Bu header’lar ApiClient veya SecureApiClient tarafından request’e eklenir.