feat: preserve search text in saved tender filters

This commit is contained in:
2026-09-06 16:03:49 +03:00
parent e4a1fd0f5b
commit bcfeb6995c
5 changed files with 35 additions and 4 deletions
+18
View File
@@ -7,6 +7,9 @@ export const SmartFilterBuilder = () => {
const { savedFilters, applySavedFilter, addSavedFilter, deleteSavedFilter, setActiveTab, sektorListesi, savingCount, saveError } = useApp();
const [filterName, setFilterName] = useState('');
const [keyword,setKeyword] = useState('');
const [institutionName,setInstitutionName] = useState('');
const [registration,setRegistration] = useState('');
const [selectedKurumTip, setSelectedKurumTip] = useState('');
const [selectedUsul, setSelectedUsul] = useState('');
const [selectedCity, setSelectedCity] = useState('');
@@ -33,6 +36,9 @@ export const SmartFilterBuilder = () => {
setSuccessMessage('');
const saved=await addSavedFilter({
name: filterName.trim(),
anahtarKelime: keyword.trim(),
kurumAdi: institutionName.trim(),
ikn: registration.trim(),
kurumTipi: selectedKurumTip,
usul: selectedUsul,
sehir: selectedCity,
@@ -139,6 +145,18 @@ export const SmartFilterBuilder = () => {
<p className="text-[11px] text-slate-400">Bu ad kayıtlı filtre listenizde görünür.</p>
</div>
<div className="bg-white rounded-xl border border-slate-200 p-5 space-y-3">
<h3 className="font-bold text-sm">Arama metinleri</h3>
<p className="text-xs text-slate-600">Dolu alanlar birlikte uygulanır. Boş bıraktığınız alan aramayı sınırlamaz.</p>
{[
['Anahtar kelime',keyword,setKeyword],
['Kurum adı',institutionName,setInstitutionName],
['İKN / DT no',registration,setRegistration],
].map(([label,value,setValue])=><label key={label} className="block text-xs font-semibold text-slate-600">
{label}<input type="text" value={value} onChange={e=>setValue(e.target.value)} className="mt-1 w-full bg-slate-50 border border-slate-300 rounded-lg px-3 py-2 text-sm"/>
</label>)}
</div>
{/* Middle Grid */}
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">