fix: reset stale price analysis selection
This commit is contained in:
@@ -1340,6 +1340,11 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö
|
||||
- Ürün + birim ayrımından sonra fiyat analizi listesindeki seçim ve React anahtarı yalnız ürün adına bağlı kalıyordu. Aynı ürünün kutu ve adet kayıtları artık ayrı seçilebiliyor; seçim anahtarı ve gösterim birimi birlikte kullanılıyor.
|
||||
- Liste satırlarında birim medyanı açıkça yazıyor; seçilen birim değiştiğinde grafik ve özet aynı kayda geçiyor. 283 test ve build başarılı. Gerçek pazar ekranı tarayıcı kabulü hâlâ yapılmadı; genel plan açık.
|
||||
|
||||
### 2026-09-06 — Fiyat analizi yenilenen veri seçimi
|
||||
|
||||
- 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 CSV kuruş koruması
|
||||
|
||||
- Fiyat analizi CSV dışa aktarımında min/medyan/ortalama/maksimum değerleri artık yuvarlanıp kuruş kaybetmiyor; iki ondalık basamakla aynı ham istatistikleri taşıyor.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, { useState, useMemo } from 'react';
|
||||
import React, { useState, useMemo, useEffect } from 'react';
|
||||
import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Cell } from 'recharts';
|
||||
import { TrendingUp, Download, Sparkles, Inbox } from 'lucide-react';
|
||||
import { useApp } from '../../context/AppContext';
|
||||
@@ -10,6 +10,10 @@ export const PriceAnalysis = () => {
|
||||
const { items, itemCount, uniqueItems } = useMemo(() => itemStats(tenders), [tenders]);
|
||||
const [selectedKey, setSelectedKey] = useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
if (selectedKey && !items.some((item) => `${item.ad}||${item.birim}` === selectedKey)) setSelectedKey(null);
|
||||
}, [items, selectedKey]);
|
||||
|
||||
const selected = useMemo(() => {
|
||||
if (!items.length) return null;
|
||||
const found = items.find((i) => `${i.ad}||${i.birim}` === selectedKey);
|
||||
|
||||
Reference in New Issue
Block a user