diff --git a/web/src/lib/components/asset-viewer/detail-panel.svelte b/web/src/lib/components/asset-viewer/detail-panel.svelte index ba3ae559dc..f79a0ecbdc 100644 --- a/web/src/lib/components/asset-viewer/detail-panel.svelte +++ b/web/src/lib/components/asset-viewer/detail-panel.svelte @@ -227,8 +227,9 @@
{#each people as person, index (person.id)} {#if showingHiddenPeople || !person.isHidden} + {@const isHighlighted = people[index].faces.some((f) => $boundingBoxesArray.some((b) => b.id === f.id))} ($boundingBoxesArray = people[index].faces)} onblur={() => ($boundingBoxesArray = [])} @@ -245,6 +246,8 @@ widthStyle="90px" heightStyle="90px" hidden={person.isHidden} + highlighted={isHighlighted} + class="group-focus-visible:outline-2 group-focus-visible:outline-offset-2 group-focus-visible:outline-immich-primary dark:group-focus-visible:outline-immich-dark-primary" />

{person.name}

diff --git a/web/src/lib/components/assets/thumbnail/image-thumbnail.svelte b/web/src/lib/components/assets/thumbnail/image-thumbnail.svelte index a54ad911fd..3ee633a603 100644 --- a/web/src/lib/components/assets/thumbnail/image-thumbnail.svelte +++ b/web/src/lib/components/assets/thumbnail/image-thumbnail.svelte @@ -16,6 +16,7 @@ circle?: boolean; hidden?: boolean; border?: boolean; + highlighted?: boolean; hiddenIconClass?: string; class?: ClassValue; brokenAssetClass?: ClassValue; @@ -34,6 +35,7 @@ circle = false, hidden = false, border = false, + highlighted = false, hiddenIconClass = 'text-white', onComplete = undefined, class: imageClass = '', @@ -60,6 +62,8 @@ shadow && 'shadow-lg', (circle || !heightStyle) && 'aspect-square', border && 'border-3 border-immich-dark-primary/80 hover:border-immich-primary', + 'transition-shadow duration-150', + highlighted && 'ring-4 ring-immich-primary dark:ring-immich-dark-primary', ]); let style = $derived( diff --git a/web/src/lib/components/faces-page/person-side-panel.svelte b/web/src/lib/components/faces-page/person-side-panel.svelte index d1556af0f5..ddeddb1ed2 100644 --- a/web/src/lib/components/faces-page/person-side-panel.svelte +++ b/web/src/lib/components/faces-page/person-side-panel.svelte @@ -225,6 +225,7 @@ {:else} {#each peopleWithFaces as face, index (face.id)} {@const personName = face.person ? face.person?.name : $t('face_unassigned')} + {@const isHighlighted = $boundingBoxesArray.some((b) => b.id === face.id)}