Proje: Okul.com.tr CRM · Hub: Okul.com.tr CRM — Conventions

CRM Hook Kataloğu

useListFilters

Ana hook — liste sayfaları için URL senkronizasyonu + filtre yönetimi. useUrlFilters’ı wrap eder. Çoğu durumda bu hook tercih edilmeli.

Detay: liste-sayfasi-pattern

useUrlFilters

Alt katman — URL SearchParams’ı okur/yazar. useListFilters içinde kullanılır.

URL parametreleri:

  • search — arama metni
  • page — sayfa numarası
  • per_page — sayfa boyutu
  • sort — sıralama (-column = desc, column = asc)
  • filter[key] = value — filtreler

useGenericList

Eski pattern — useListFilters öncesi kullanılıyordu. Hâlâ bazı sayfalarda olabilir ama yeni sayfalarda tercih edilmemeli.

usePermission

const { hasPermission, hasAnyPermission, isSuperAdmin } = usePermission();

Detay: permission-sistemi

useBreadcrumb

Route’a göre otomatik breadcrumb array’i döner. DashboardLayout’ta kullanılır.

useDebounce

const debouncedValue = useDebounce(value, delay);

Input arama debounce için. useUrlFilters’da searchDebounceMs seçeneği var ama default 0.

useErrorHandler

Global hata yönetimi için hook.

useUnsavedChangesWarning

Form’da kaydedilmemiş değişiklik varken sayfadan ayrılmayı önler — browser confirm dialog’u veya custom dialog gösterir.

useLocationFilter

Liste sayfalarında şehir/ilçe/mahalle hiyerarşik filtresi.

useLocationSelector

Form’larda konum seçme bileşeni için state yönetimi.

useRecentPages (usePageTracker)

Son ziyaret edilen sayfaları takip eder. GlobalSearch bileşeni için olabilir.

use-mobile

const isMobile = useMobile();

Responsive breakpoint hook’u.