From e70e6985db8c36e40a821b8e9196bda75f4baecb Mon Sep 17 00:00:00 2001 From: newtextdoc1111 Date: Wed, 7 May 2025 13:03:31 +0900 Subject: [PATCH] refactor: optimize width calculation for SimilarTags UI based on viewport and input element --- web/js/similar-tags.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/web/js/similar-tags.js b/web/js/similar-tags.js index e1e84af..71d0175 100644 --- a/web/js/similar-tags.js +++ b/web/js/similar-tags.js @@ -260,10 +260,16 @@ class SimilarTagsUI { const viewportHeight = window.innerHeight; let margin = getViewportMargin(); - let area = { + // Find optimal max width baesd on viewport and input element + const maxWidth = Math.max( + Math.min(inputRect.right, viewportWidth - margin.right) - inputRect.left, + (viewportWidth - margin.left - margin.right) / 2 + ); + + const area = { x: Math.max(inputRect.x, margin.left), y: Math.max(inputRect.y, margin.top), - width: Math.min(elemWidth, (viewportWidth - margin.left - margin.right) / 2), + width: Math.min(elemWidth, maxWidth), height: Math.min(elemHeight, viewportHeight - margin.top - margin.bottom) };