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:
martin
2023-09-23 06:58:51 +02:00
committed by GitHub
parent 9a7e48eaa6
commit fc64be6603
4 changed files with 117 additions and 48 deletions

View File

@@ -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)}