From a686fa012a3c132e918bbdd5aece7411ee574696 Mon Sep 17 00:00:00 2001 From: auberginewly <3127221787@qq.com> Date: Tue, 19 May 2026 11:02:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(zoom):=20address=20PR=20review=20=E2=80=94?= =?UTF-8?q?=20preview=20selected=20zoom=20+=20keyboard=20a11y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - VideoPlayback: while holding Preview, render the SELECTED zoom at full strength regardless of the playhead, instead of whatever findDominantRegion returns at currentTime (which is none/another zoom when the playhead is outside the selection). Uses getZoomScale/getRotation3D for the region's configured scale and 3D preset. - SettingsPanel: require both onZoomPreviewStart && onZoomPreviewEnd to render the button (full lifecycle), and add keyboard support — Space/Enter keydown (repeat-guarded) starts preview, keyup/blur ends it. --- src/components/video-editor/SettingsPanel.tsx | 23 +++++++++++++++---- src/components/video-editor/VideoPlayback.tsx | 19 ++++++++++++++- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/components/video-editor/SettingsPanel.tsx b/src/components/video-editor/SettingsPanel.tsx index 1b37499..383fc48 100644 --- a/src/components/video-editor/SettingsPanel.tsx +++ b/src/components/video-editor/SettingsPanel.tsx @@ -944,13 +944,26 @@ export function SettingsPanel({ )} - {zoomEnabled && (onZoomPreviewStart || onZoomPreviewEnd) && ( + {zoomEnabled && onZoomPreviewStart && onZoomPreviewEnd && (