diff --git a/src/ui.tsx b/src/ui.tsx index 23e8a2b..a4c62fe 100644 --- a/src/ui.tsx +++ b/src/ui.tsx @@ -22,9 +22,12 @@ function Plugin () { // Нативный drag-ресайз окна Figma (тянуть за правый нижний угол). // Опции min/max обязательны: без них хук берёт базу из window.innerWidth на момент // маунта (окно ещё не приняло размер от showUI) → первый drag не работает. + // ВАЖНО: хук мутирует и отдаёт ОДИН объект по ссылке, поэтому делаем копию + // (иначе Preact не видит изменений и цифры размера не перерисовываются). useWindowResize(function (windowSize: { width: number; height: number }) { - setCurrentWindowSize(windowSize) - emit('RESIZE_WINDOW', windowSize) + const size = { width: window.innerWidth, height: window.innerHeight } + setCurrentWindowSize(size) + emit('RESIZE_WINDOW', size) }, { minWidth: 320, minHeight: 200, @@ -36,7 +39,7 @@ function Plugin () { const isMaximized = currentWindowSize.width >= MAX_WINDOW_SIZE.width && currentWindowSize.height >= MAX_WINDOW_SIZE.height - const next = isMaximized ? MIN_WINDOW_SIZE : MAX_WINDOW_SIZE + const next = isMaximized ? { ...MIN_WINDOW_SIZE } : { ...MAX_WINDOW_SIZE } setCurrentWindowSize(next) emit('RESIZE_WINDOW', next) }