fix: context menu viewport sınır kontrolü - alta/sağa taşma düzeltildi
All checks were successful
Build MIPS Binary / build (push) Successful in 5m14s
All checks were successful
Build MIPS Binary / build (push) Successful in 5m14s
This commit is contained in:
@@ -64,6 +64,17 @@ pub fn TorrentContextMenu(
|
|||||||
<Show when=move || open.get()>
|
<Show when=move || open.get()>
|
||||||
{
|
{
|
||||||
let (x, y) = position.get();
|
let (x, y) = position.get();
|
||||||
|
// Menü yaklaşık boyutları
|
||||||
|
let menu_width = 200;
|
||||||
|
let menu_height = 220;
|
||||||
|
let window = web_sys::window().unwrap();
|
||||||
|
let vw = window.inner_width().unwrap().as_f64().unwrap() as i32;
|
||||||
|
let vh = window.inner_height().unwrap().as_f64().unwrap() as i32;
|
||||||
|
// Sağa taşarsa sola aç, alta taşarsa yukarı aç
|
||||||
|
let final_x = if x + menu_width > vw { x - menu_width } else { x };
|
||||||
|
let final_y = if y + menu_height > vh { y - menu_height } else { y };
|
||||||
|
let final_x = final_x.max(0);
|
||||||
|
let final_y = final_y.max(0);
|
||||||
view! {
|
view! {
|
||||||
<div
|
<div
|
||||||
class="fixed inset-0 z-[99]"
|
class="fixed inset-0 z-[99]"
|
||||||
@@ -79,7 +90,7 @@ pub fn TorrentContextMenu(
|
|||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="fixed z-[100] min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95"
|
class="fixed z-[100] min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95"
|
||||||
style=format!("left: {}px; top: {}px;", x, y)
|
style=format!("left: {}px; top: {}px;", final_x, final_y)
|
||||||
on:click=move |e: MouseEvent| e.stop_propagation()
|
on:click=move |e: MouseEvent| e.stop_propagation()
|
||||||
>
|
>
|
||||||
// Start
|
// Start
|
||||||
|
|||||||
Reference in New Issue
Block a user