From 2bdc89286cd7ce3d719aa2465499563db041e39b Mon Sep 17 00:00:00 2001 From: ht Date: Sun, 6 Sep 2026 16:38:04 +0300 Subject: [PATCH] fix: synchronize initial price analysis selection --- docs/quality/uygulama-durumu.md | 5 +++++ src/components/tools/PriceAnalysis.jsx | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index ad27eb9..5b83ed9 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -1345,6 +1345,11 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö - Fiyat verisi yenilendiğinde seçili ürün + birim artık listede bulunmuyorsa ekran boş bir seçim göstermiyor; seçim güvenli biçimde ilk geçerli kayda dönüyor ve grafik/özet aynı kaydı kullanıyor. - 283 test ve build başarılı. Bu veri yenileme senaryosunun gerçek pazar ekranı kabulü henüz yapılmadı; genel plan açık. +### 2026-09-06 — Fiyat analizi ilk seçim tutarlılığı + +- Fiyat analizi ilk açıldığında grafik ilk kaydı gösterirken liste vurgusuz kalıyordu. Artık ilk ürün + birim anahtarı otomatik seçiliyor; grafik, açıklama ve liste vurgusu aynı kaydı gösteriyor. +- Veri yoksa seçim `null` kalıyor; veri sonradan gelirse ilk geçerli kayda seçiliyor. 283 test ve build başarılı. Genel plan açık. + ### 2026-09-06 — Fiyat grafiğinde hassas tutar - Fiyat analizi grafiği min/medyan/ortalama/maksimum değerlerini tam iki ondalık istatistikten çiziyor; CSV ve grafik aynı tutarı kullanıyor. Görsel kartların mevcut Türkçe biçimlendirmesi korunuyor. diff --git a/src/components/tools/PriceAnalysis.jsx b/src/components/tools/PriceAnalysis.jsx index 5a0e7eb..0e6a47d 100644 --- a/src/components/tools/PriceAnalysis.jsx +++ b/src/components/tools/PriceAnalysis.jsx @@ -13,7 +13,9 @@ export const PriceAnalysis = () => { const [selectedKey, setSelectedKey] = useState(null); useEffect(() => { - if (selectedKey && !items.some((item) => `${item.ad}||${item.birim}` === selectedKey)) setSelectedKey(null); + if (!items.length) { if (selectedKey !== null) setSelectedKey(null); return; } + if (!selectedKey || !items.some((item) => `${item.ad}||${item.birim}` === selectedKey)) + setSelectedKey(`${items[0].ad}||${items[0].birim}`); }, [items, selectedKey]); const selected = useMemo(() => {