From 4c8bf6d97245e26f69300c9368818060241ae632 Mon Sep 17 00:00:00 2001 From: ht Date: Sun, 6 Sep 2026 19:09:56 +0300 Subject: [PATCH] harden analytics target form controls --- docs/quality/uygulama-durumu.md | 6 ++++++ src/components/tools/AnalyticsDashboard.jsx | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index 828944b..6574bbe 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -2176,3 +2176,9 @@ Doğrulama: browser QA başarılı; 293 otomatik test ve üretim derlemesi başa Son giriş zaman damgası, oturum ziyaret damgası ve belge son kullanma uyarısı anahtarları ortak `hesapAnahtari` yardımcısını kullanıyor. E-posta boşlukları/büyük harfleri normalize ediliyor ve özel karakterler kodlanıyor; hesap kapsamlı istemci kayıtları artık tutarlı anahtar üretir. Doğrulama: 293 otomatik test ve üretim derlemesi başarılı. Gerçek iki hesaplı tarayıcı kabulü açık. + +### 2026-09-06 · Analitik hedef formu güvenli gönderim ve sınırları + +Analitik ciro hedefi düzenleme düğmeleri açık `type="button"` kullanıyor; hedef alanı negatif değerleri kabul etmiyor ve ondalık adımı tanımlı. Panel bir form içine alınsa bile hedef düzenleme işlemi istemeden form göndermez. + +Doğrulama: 293 otomatik test ve üretim derlemesi başarılı. Gerçek tarayıcıda form kapsayıcısı ve mobil klavye kabulü ayrıca yapılmalı. diff --git a/src/components/tools/AnalyticsDashboard.jsx b/src/components/tools/AnalyticsDashboard.jsx index bce9d6e..d752808 100644 --- a/src/components/tools/AnalyticsDashboard.jsx +++ b/src/components/tools/AnalyticsDashboard.jsx @@ -92,7 +92,7 @@ export const AnalyticsDashboard = () => { Ciro Hedefi - @@ -101,11 +101,13 @@ export const AnalyticsDashboard = () => { setHedef(Number(e.target.value) || 0)} + min="0" + step="0.01" + onChange={(e) => setHedef(Math.max(0, Number(e.target.value) || 0))} placeholder="Hedef bedel (₺)" className="w-full bg-blue-950/60 border border-blue-700 rounded-lg px-2 py-1.5 text-xs text-white placeholder:text-blue-300" /> - + ) : ( <>