fix(tasarim): şehir haritası odak kutusu harita sınırlarına kenetlenir
All checks were successful
Deploy / deploy (push) Successful in 4m57s
All checks were successful
Deploy / deploy (push) Successful in 4m57s
Telefonda dik kutu haritadan uzun olunca ülke haritasının altı kesiliyor, şehir işareti metnin arkasına kayıyordu (Lefkoşa, 375 px). Kutu haritadan küçükse harita içinde kalır, büyükse harita kutunun içinde kalır. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -96,7 +96,18 @@ function odakKutusu(sinir: Sinir, oran: number, zoom: number, hiza: OdakHiza): K
|
|||||||
w = h * oran;
|
w = h * oran;
|
||||||
}
|
}
|
||||||
const cx = (x0 + x1) / 2, cy = (y0 + y1) / 2;
|
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];
|
const OPACITIES = [0.3, 0.16, 0.24, 0.12, 0.27, 0.19];
|
||||||
|
|||||||
Reference in New Issue
Block a user