mirror of
https://github.com/KevinMidboe/immich.git
synced 2026-02-14 12:19:22 +00:00
feat(web): suggest people when typing a name (#4126)
* feat(web): suggest people when entering a name * fix: border size from 2 to 1 pixel * pr feedback * fix: web unit test * pr feedback --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
let personName = '';
|
||||
let personMerge1: PersonResponseDto;
|
||||
let personMerge2: PersonResponseDto;
|
||||
let potentialMergePeople: PersonResponseDto[] = [];
|
||||
let edittingPerson: PersonResponseDto | null = null;
|
||||
|
||||
people.forEach((person: PersonResponseDto) => {
|
||||
@@ -248,6 +249,7 @@
|
||||
};
|
||||
|
||||
const submitNameChange = async () => {
|
||||
potentialMergePeople = [];
|
||||
showChangeNameModal = false;
|
||||
if (!edittingPerson || personName === edittingPerson.name) {
|
||||
return;
|
||||
@@ -264,6 +266,15 @@
|
||||
if (existingPerson) {
|
||||
personMerge2 = existingPerson;
|
||||
showMergeModal = true;
|
||||
potentialMergePeople = people
|
||||
.filter(
|
||||
(person: PersonResponseDto) =>
|
||||
personMerge2.name.toLowerCase() === person.name.toLowerCase() &&
|
||||
person.id !== personMerge2.id &&
|
||||
person.id !== personMerge1.id &&
|
||||
!person.isHidden,
|
||||
)
|
||||
.slice(0, 3);
|
||||
return;
|
||||
}
|
||||
changeName();
|
||||
@@ -332,7 +343,7 @@
|
||||
<MergeSuggestionModal
|
||||
{personMerge1}
|
||||
{personMerge2}
|
||||
{people}
|
||||
{potentialMergePeople}
|
||||
on:close={() => (showMergeModal = false)}
|
||||
on:reject={() => changeName()}
|
||||
on:confirm={(event) => handleMergeSameFace(event.detail)}
|
||||
|
||||
Reference in New Issue
Block a user