diff --git a/src/app/components/contacts/contacts.component.html b/src/app/components/contacts/contacts.component.html index 07eba25..ab31f5c 100644 --- a/src/app/components/contacts/contacts.component.html +++ b/src/app/components/contacts/contacts.component.html @@ -7,10 +7,10 @@
- @for (sortLetter of this.sortAllUsers(); track sortLetter) { -
{{ sortLetter.firstName }}
+ @for (sortLetter of this.checkUsersFirstLetter(); track sortLetter) { +
{{ sortLetter }}
- @for (user of this.sortUsersFirstLetter(sortLetter.id); track user; let + @for (user of this.sortUsersByFirstLetter(sortLetter); track user; let index = $index) {
user.initials !== 'G'); } - sortAllUsers() { - return [...this.loadAllUserWithoutGuest()].sort((a, b) => - (a.initials?.toLowerCase() ?? '').localeCompare( - b.initials?.toLowerCase() ?? '' - ) + sortUsersByFirstLetter(sortLetter: string) { + return this.loadAllUserWithoutGuest().filter( + (user) => user.initials.substring(0, 1) === sortLetter ); } - sortUsersFirstLetter(userId: string) { - const filteredUsers = this.loadAllUserWithoutGuest().filter( - (user) => user.id === userId + checkUsersFirstLetter() { + let usersFirstLetter = []; + usersFirstLetter = Array.from( + new Set( + this.loadAllUserWithoutGuest().map((user) => + user.firstName[0].toUpperCase() + ) + ) ); - return filteredUsers; + return usersFirstLetter; } }