import React, { useState, useId } from 'react'; import {useModalFocus} from '../hooks/useModalFocus'; import { useApp } from '../context/AppContext'; import { CITIES_LIST, INSTITUTION_TYPES_LIST } from '../data/constants'; import { SlidersHorizontal, Search, RotateCcw, X } from 'lucide-react'; export const DetailedSearchModal = () => { const {isDetailedSearchOpen}=useApp(); return isDetailedSearchOpen?:null; }; const DetailedSearchForm = () => { const context=useApp(); const {setIsDetailedSearchOpen,setActiveTab,sektorListesi}=context; const titleId=useId(); const modalFocus=useModalFocus(true,()=>setIsDetailedSearchOpen(false)); const [searchQuery,setSearchQuery]=useState(context.searchQuery); const [selectedCity,setSelectedCity]=useState(context.selectedCity); const [selectedAlimTuru,setSelectedAlimTuru]=useState(context.selectedAlimTuru); const [selectedKurumTipi,setSelectedKurumTipi]=useState(context.selectedKurumTipi); const [selectedSektorler,setSelectedSektorler]=useState(context.selectedSektorler); const [onlyValidOnly,setOnlyValidOnly]=useState(context.onlyValidOnly); const [iknQuery,setIknQuery]=useState(context.detailedQueries.registration); const [kurumQuery,setKurumQuery]=useState(context.detailedQueries.institution); const toggleSektor=sector=>setSelectedSektorler(old=>old.includes(sector)?old.filter(value=>value!==sector):[...old,sector]); const handleApplySearch = (e) => { e.preventDefault(); context.setSearchQuery(searchQuery.trim()); context.setDetailedQueries({institution:kurumQuery.trim(),registration:iknQuery.trim()}); context.setSelectedCity(selectedCity); context.setSelectedAlimTuru(selectedAlimTuru); context.setSelectedKurumTipi(selectedKurumTipi); context.setSelectedSektorler(selectedSektorler); context.setOnlyValidOnly(onlyValidOnly); setActiveTab('list'); setIsDetailedSearchOpen(false); }; const handleReset = () => { setSearchQuery(''); setSelectedCity(''); setSelectedAlimTuru(''); setSelectedKurumTipi(''); setSelectedSektorler([]); setOnlyValidOnly(true); setIknQuery(''); setKurumQuery(''); }; return (
{/* Header */}
Detaylı İhale Arama
{/* Form Body */}

Doldurduğunuz alanlar birlikte uygulanır. Değişiklikler İhaleleri Ara düğmesine bastığınızda listeye yansır.

setSearchQuery(e.target.value)} placeholder="Başlık, kurum, İKN veya kalemde aranır..." className="w-full bg-slate-50 border border-slate-300 rounded-lg px-3 py-2 text-slate-800 focus:ring-2 focus:ring-blue-500" />
setKurumQuery(e.target.value)} placeholder="Kurum adında aranır..." className="w-full bg-slate-50 border border-slate-300 rounded-lg px-3 py-2 text-slate-800 focus:ring-2 focus:ring-blue-500" />
setIknQuery(e.target.value)} placeholder="2026/... veya 26DT..." className="w-full bg-slate-50 border border-slate-300 rounded-lg px-3 py-2 text-slate-800 focus:ring-2 focus:ring-blue-500" />
{sektorListesi.map((s) => { const secili = selectedSektorler.includes(s); return ( ); })}
{/* Footer Buttons */}
); };