import React, { useState } from 'react'; import { useApp } from '../context/AppContext'; import { INSTITUTION_TYPES_LIST, CITIES_LIST } from '../data/constants'; import { Bot, ArrowLeft, CheckCircle2, HelpCircle, Building2, MapPin, Tag } from 'lucide-react'; export const SmartFilterBuilder = () => { const { savedFilters, applySavedFilter, addSavedFilter, deleteSavedFilter, setActiveTab, sektorListesi, savingCount, saveError, searchQuery, detailedQueries, selectedCity: activeCity, selectedRegion: activeRegion, selectedAlimTuru: activeProcedure, selectedKurumTipi: activeInstitution, selectedSektorler: activeSectors } = useApp(); const [filterName, setFilterName] = useState(''); const [keyword,setKeyword] = useState(searchQuery || ''); const [institutionName,setInstitutionName] = useState(detailedQueries?.institution || ''); const [registration,setRegistration] = useState(detailedQueries?.registration || ''); const [selectedKurumTip, setSelectedKurumTip] = useState(activeInstitution || ''); const [selectedUsul, setSelectedUsul] = useState(activeProcedure || ''); const [selectedCity, setSelectedCity] = useState(activeCity || ''); const [selectedRegion, setSelectedRegion] = useState(activeRegion || ''); const [selectedSektor, setSelectedSektor] = useState(activeSectors?.[0] || ''); const [successMessage, setSuccessMessage] = useState(''); const regions = [ 'AKDENİZ BÖLGESİ', 'DOĞU ANADOLU BÖLGESİ', 'EGE BÖLGESİ', 'GÜNEYDOĞU ANADOLU BÖLGESİ', 'İÇ ANADOLU BÖLGESİ', 'KARADENİZ BÖLGESİ', 'MARMARA BÖLGESİ' ]; const usuller = [ 'Açık İhale', 'Dış Alım', 'Doğrudan Temin', 'İstisna', 'Pazarlık Usulü', 'Yaklaşık Maliyet' ]; const handleCreateFilter = async (e) => { e.preventDefault(); if (!filterName.trim()) { setSuccessMessage(''); return; } setSuccessMessage(''); const saved=await addSavedFilter({ name: filterName.trim(), anahtarKelime: keyword.trim(), kurumAdi: institutionName.trim(), ikn: registration.trim(), kurumTipi: selectedKurumTip, usul: selectedUsul, sehir: selectedCity, bolge: selectedRegion, sektor: selectedSektor }); if(!saved)return; setSuccessMessage('Filtre sunucuya kaydedildi. Bu kayıt bildirim aboneliği oluşturmaz.'); setFilterName(''); }; return (
Arama ölçütlerinizi kaydedin; soldaki filtre adına tıklayarak ihale listesine uygulayın. E-posta bildirimleri Yönetim → Mobil PWA bölümünden ayrıca kurulur.
Filtre işlemi kaydediliyor…
} {saveError &&{saveError}
} {successMessage && (👤 {f.user} {f.sehir && `• 📍 ${f.sehir}`}