feat: snap floating add button to edge
ci / gitleaks (push) Successful in 7s
ci / docker (push) Successful in 3m37s

This commit is contained in:
2026-09-11 17:07:27 +08:00
parent 78d178be77
commit e5cede1b98
5 changed files with 56 additions and 6 deletions
+8
View File
@@ -170,6 +170,14 @@ export function clampFabPosition(x: number, y: number, viewportWidth: number, vi
}
}
export function snapFabPosition(x: number, y: number, viewportWidth: number, viewportHeight: number, size = 52, margin = 14, bottomReserved = 74) {
const clamped = clampFabPosition(x, y, viewportWidth, viewportHeight, size, margin, bottomReserved)
const left = margin
const right = Math.max(margin, viewportWidth - size - margin)
const midpoint = viewportWidth / 2
return { x: clamped.x + size / 2 < midpoint ? left : right, y: clamped.y }
}
export function isFabDrag(deltaX: number, deltaY: number, threshold = 8) {
return Math.hypot(deltaX, deltaY) >= threshold
}