Proje: Okul B2B App · Hub: Okul B2B App — Domain
Lead Detay Modal Yapısı (LeadDetail)
constants/LeadDetailData.ts — LeadDetail interface ve LeadDetailModal bileşeni.
LeadDetail Bölümleri
Başlık
schoolName,requestDate,requestTimestatusText,interaction_status(badge)viewed_at— Daha önce görüntülenmiş mi? (collapse bilgisi)
Veli Bilgileri
parentName,parentPhone
Öğrenci Bilgileri
studentName,birthDate,currentAge,studentClass
Detaylar
infoType— stage (Bilgi Formu, Randevu Talebi vb.)schoolAuthority— Sorumlu personelokulcomControl— Okul.com.tr kontrol durumu
Görüşme Durumu (Güncellenebilir)
meetingStatus— Text (görüntüleme)school_answered_deal_status— item_id (API güncelleme)
Kısıtlama
isRestricted— Kilitli lead (telefon gizli)message_visible_status—1= mesaj görünür,0= gizli
Notlar
savedNotes: SavedNote[]—NotesServiceile yüklenir
ACTION_BUTTONS
Lead detay modalındaki aksiyon butonları:
- Ara —
Linking.openURL('tel:...') - WhatsApp —
Linking.openURL('whatsapp://...') - Not Ekle — NotesManager açar
Kısıtlı lead’lerde (isRestricted: true) telefon ve WhatsApp butonları devre dışı.
KeyboardAvoidingView Pattern
<KeyboardAvoidingView
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
keyboardVerticalOffset={5}
>
<ScrollView contentContainerStyle={{ paddingBottom: 120 }}>
{/* Form içeriği */}
</ScrollView>
<View style={{ paddingVertical: 5, paddingBottom: 10 }}>
<Button /> {/* KeyboardAvoidingView İÇİNDE */}
</View>
</KeyboardAvoidingView>Related
- lead-durum-akisi — meeting status güncelleme
- lead-notlari — savedNotes yönetimi
- config-servisi-ve-meeting-status — meeting status seçenekleri