From 130822e84c28b9c50d51db74f64e0dcca854bb7e Mon Sep 17 00:00:00 2001 From: midzelis Date: Sun, 5 Apr 2026 20:42:51 +0000 Subject: [PATCH] fix(web): preserve face bounding boxes during face editing Change-Id: I2370565cd8f706ab4d130e83241ddf086a6a6964 --- .../components/faces-page/PersonSidePanel.svelte | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/web/src/lib/components/faces-page/PersonSidePanel.svelte b/web/src/lib/components/faces-page/PersonSidePanel.svelte index eedd6766eb..ffc6adbf44 100644 --- a/web/src/lib/components/faces-page/PersonSidePanel.svelte +++ b/web/src/lib/components/faces-page/PersonSidePanel.svelte @@ -145,6 +145,7 @@ selectedPersonToCreate[editedFace.id] = newFeaturePhoto; } showSelectedFaces = false; + assetViewerManager.clearHighlightedFaces(); }; const handleReassignFace = (person: PersonResponseDto | null) => { @@ -152,11 +153,13 @@ selectedPersonToReassign[editedFace.id] = person; } showSelectedFaces = false; + assetViewerManager.clearHighlightedFaces(); }; const handleFacePicker = (face: AssetFaceResponseDto) => { editedFace = face; showSelectedFaces = true; + assetViewerManager.setHighlightedFaces([face]); }; const deleteAssetFace = async (face: AssetFaceResponseDto) => { @@ -246,7 +249,11 @@ class="absolute inset-s-0 top-0 size-22.5 cursor-default" onfocus={() => assetViewerManager.setHighlightedFaces([peopleWithFaces[index]])} onpointerenter={() => assetViewerManager.setHighlightedFaces([peopleWithFaces[index]])} - onpointerleave={() => assetViewerManager.clearHighlightedFaces()} + onpointerleave={() => { + if (!showSelectedFaces) { + assetViewerManager.clearHighlightedFaces(); + } + }} >
{#if selectedPersonToCreate[face.id]} @@ -383,7 +390,10 @@ {editedFace} {assetId} {assetType} - onClose={() => (showSelectedFaces = false)} + onClose={() => { + showSelectedFaces = false; + assetViewerManager.clearHighlightedFaces(); + }} onCreatePerson={handleCreatePerson} onReassign={handleReassignFace} />