Proje: Okul B2B App · Hub: Okul B2B App — Conventions
useTermsAcceptance Hook
hooks/useTermsAcceptance.ts — Kullanım şartları kabul durumu yönetimi.
Return
{
acceptanceStatus: TermsAcceptanceStatus | null,
needsAcceptance: boolean, // Modal gösterilmeli mi?
isLoading: boolean,
error: string | null,
acceptTerms: () => Promise<boolean>, // Kabul et (her ikisini birden)
checkAcceptance: () => Promise<void>, // Durumu yenile
resetAcceptance: () => Promise<void>, // Sıfırla (test için)
hasAcceptedAll: boolean // Her ikisi de kabul edildi mi?
}Kullanım
TermsGuard bileşeni useTermsGuard() (bu hook’un TermsGuard-specific version’ı) kullanır.
acceptTerms() → termsAcceptanceManager.acceptTerms(true, true) → hem privacy hem terms kabul edilir.
useTermsGuard
TermsGuard bileşeninde kullanılan özel version:
const { isTermsAccepted, showTermsModal, acceptTerms } = useTermsGuard();Kabul olunca showTermsModal = false → TermsGuard children’ı render eder.
Related
- kullanim-sartlari-kvkk — terms lifecycle
- kullanim-sartlari-modal-detay — TermsAcceptanceModal