From b5b3d75341e651610abb608014fb8d8340804b73 Mon Sep 17 00:00:00 2001 From: ht Date: Sun, 6 Sep 2026 16:22:00 +0300 Subject: [PATCH] ux: prefill saved filter from active search --- docs/quality/uygulama-durumu.md | 6 ++++++ src/components/SmartFilterBuilder.jsx | 20 +++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index 69291af..b191338 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -1270,3 +1270,9 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö - D02 kapsamında ICS olayına `SEQUENCE` eklendi. Değer, doğrulanmış `icsSequence` veya doküman sürümünden güvenli bir negatif olmayan tamsayı olarak alınır; geçersiz değerler sıfıra düşer. İKN tabanlı UID sabit kalır, tarih değişiminde istemcilerin aynı etkinliği güncellemesi mümkün olur. - Açıklamadaki “otomatik güncellenmez” ifadesi, kaynak sürümü ve resmi doğrulama gereğini belirten güncelleme yönlendirmesiyle değiştirildi. ICS’nin kendisi hâlâ resmi takvim servisine otomatik gönderim yapmaz. - Regresyon testi UID sürekliliğini ve 3→4 sürüm artışını doğruluyor. 278 test ve build başarılı. Google/Outlook gerçek test takvimlerine aktarım henüz yapılmadı; genel plan açık. + +### 2026-09-06 — Kayıtlı filtre formu ön doldurma + +- Kayıtlı filtre oluşturma formu artık mevcut anahtar kelime, kurum adı, İKN, şehir, bölge, alım türü, kurum tipi ve ilk sektör ölçütünü başlangıç değeri olarak gösteriyor. Kullanıcı aynı aramayı tekrar elle kurmadan ad verip kaydedebiliyor. +- Alanlar yalnız ilk oluşturulma anında okunuyor; form içindeki taslak değişiklikleri canlı liste durumunun etkisiyle ezilmiyor. Eski kayıt uygulama davranışı değişmedi. +- 278 test ve build başarılı. Bu ön doldurma için ayrı tarayıcı kabulü henüz eklenmedi; genel plan açık. diff --git a/src/components/SmartFilterBuilder.jsx b/src/components/SmartFilterBuilder.jsx index 622b31a..c22da1e 100644 --- a/src/components/SmartFilterBuilder.jsx +++ b/src/components/SmartFilterBuilder.jsx @@ -4,17 +4,19 @@ 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 } = useApp(); + 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(''); - const [institutionName,setInstitutionName] = useState(''); - const [registration,setRegistration] = useState(''); - const [selectedKurumTip, setSelectedKurumTip] = useState(''); - const [selectedUsul, setSelectedUsul] = useState(''); - const [selectedCity, setSelectedCity] = useState(''); - const [selectedRegion, setSelectedRegion] = useState(''); - const [selectedSektor, setSelectedSektor] = 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 = [