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

Etkinlik Tarih Filtresi Hatalı Format

Commit: 185da85 [OKUL-642]

Semptom

Events sayfasında starts_on tarih filtresi çalışmıyordu — API sonuçları filtrelenmeden geliyordu.

Root Cause

Frontend filter[starts_on]=2024-01-01 şeklinde düz string gönderiyordu.

Backend ise filter[starts_on][min]=2024-01-01 ve filter[starts_on][max]=2024-12-31 formatını bekliyordu (DateRange format).

Çözüm

  1. FilterSheet.tsx’e yeni dateRange filtre tipi eklendi — iki tarih girişi
  2. AppliedFilter.tsx’e dateRange badge display desteği
  3. useListFilters.ts buildApiParams’a dateRange split logic eklendi:
    if (dateRangeFilterNames.has(key)) {
        const [minVal, maxVal] = value.split(',');
        if (minVal) params[`filter[${apiKey}][min]`] = minVal;
        if (maxVal) params[`filter[${apiKey}][max]`] = maxVal;
    }
  4. Events sayfasında {type: 'dateRange', label: 'Etkinlik Tarihi', name: 'starts_on', value: ''} filtresi tanımlandı

Ders

Backend’in tarih filtreleme beklentisi: filter[field][min] / filter[field][max]. Diğer sayfalarda da tarih filtresi olduğunda dateRange tipi kullan.