diff --git a/src/features/katalog/components/sehir-piksel-haritasi.tsx b/src/features/katalog/components/sehir-piksel-haritasi.tsx index 0c7efe6..d05cded 100644 --- a/src/features/katalog/components/sehir-piksel-haritasi.tsx +++ b/src/features/katalog/components/sehir-piksel-haritasi.tsx @@ -96,7 +96,18 @@ function odakKutusu(sinir: Sinir, oran: number, zoom: number, hiza: OdakHiza): K w = h * oran; } const cx = (x0 + x1) / 2, cy = (y0 + y1) / 2; - return [cx - w * hiza.x, cy - h * hiza.y, w, h]; + // Kutu haritanın dışına taşmasın: kutu haritadan küçükse harita içinde + // kalır, büyükse (telefonda dik kutu) harita kutunun içinde kalır — aksi + // hâlde ülke haritasının altı kesilip işaret metnin arkasına kayıyordu + // (Lefkoşa, 375 px, 24 Eyl 2026). + const kenetle = (deger: number, boy: number, sinirBoy: number) => + Math.min(Math.max(deger, Math.min(0, sinirBoy - boy)), Math.max(0, sinirBoy - boy)); + return [ + kenetle(cx - w * hiza.x, w, VIEW_W), + kenetle(cy - h * hiza.y, h, VIEW_H), + w, + h, + ]; } const OPACITIES = [0.3, 0.16, 0.24, 0.12, 0.27, 0.19];