diff --git a/src/app/components/add-task/add-task.component.html b/src/app/components/add-task/add-task.component.html
index f5983dd..a5733c4 100644
--- a/src/app/components/add-task/add-task.component.html
+++ b/src/app/components/add-task/add-task.component.html
@@ -58,13 +58,21 @@
Assigned to
@if (isAssignedOpen) {
-
+
}
diff --git a/src/app/components/add-task/add-task.component.scss b/src/app/components/add-task/add-task.component.scss
index 5f58ebe..e471bd8 100644
--- a/src/app/components/add-task/add-task.component.scss
+++ b/src/app/components/add-task/add-task.component.scss
@@ -37,7 +37,7 @@ p {
padding: 6px;
p {
color: var(--red);
- font-size: 16px;
+ font-size: 12px;
font-weight: 400;
}
}
diff --git a/src/app/components/add-task/add-task.component.ts b/src/app/components/add-task/add-task.component.ts
index 8ccf1fd..8ce739e 100644
--- a/src/app/components/add-task/add-task.component.ts
+++ b/src/app/components/add-task/add-task.component.ts
@@ -2,6 +2,8 @@ import { CommonModule } from '@angular/common';
import { Component, HostListener, ViewChild } from '@angular/core';
import { FormsModule, NgForm, NgModel } from '@angular/forms';
import { AssignedComponent } from './assigned/assigned.component';
+import { User } from '../../interfaces/user.interface';
+import { FirebaseService } from '../../services/firebase.service';
@Component({
selector: 'app-add-task',
@@ -17,7 +19,12 @@ export class AddTaskComponent {
currentDate: string = new Date().toISOString().split('T')[0];
dateInPast: boolean = false;
- isAssignedOpen: boolean = true;
+ isAssignedOpen: boolean = false;
+ searchValue: string = '';
+ searchInput: boolean = false;
+ filteredUsers: User[] = [];
+
+ constructor(public firebaseService: FirebaseService) {}
taskData = {
title: '',
@@ -37,6 +44,27 @@ export class AddTaskComponent {
}
}
+ updateSearchInput() {
+ if (this.searchValue) {
+ this.searchInput = this.searchValue.toLowerCase().length > 0;
+ } else {
+ this.searchInput = false;
+ }
+ return this.searchInput;
+ }
+
+ searchTask(): void {
+ this.updateSearchInput();
+ this.filteredUsers = this.firebaseService
+ .getAllUserWithoutGuest()
+ .filter(
+ (user) =>
+ user.firstName.toLowerCase().includes(this.searchValue) ||
+ user.lastName.toLowerCase().includes(this.searchValue) ||
+ user.initials.toLowerCase().includes(this.searchValue)
+ );
+ }
+
toggleAssignedMenu() {
this.isAssignedOpen = !this.isAssignedOpen;
}
@@ -93,7 +121,7 @@ export class AddTaskComponent {
@HostListener('document:click', ['$event'])
checkOpenNavbar(event: MouseEvent) {
const targetElement = event.target as HTMLElement;
- if (!targetElement.closest('.assigned')) {
+ if (!targetElement.closest('.search-assigned')) {
this.isAssignedOpen = false;
}
}
diff --git a/src/app/components/add-task/assigned/assigned.component.html b/src/app/components/add-task/assigned/assigned.component.html
index fd5ffad..cb8fa09 100644
--- a/src/app/components/add-task/assigned/assigned.component.html
+++ b/src/app/components/add-task/assigned/assigned.component.html
@@ -1,5 +1,5 @@
- @for (user of loadAllUserWithoutGuest(); track user; let index = $index) {
+ @for (user of displayAssigned(); track user; let index = $index) {
user.initials !== 'G');
+ displayAssigned() {
+ if (this.searchInput) {
+ return this.filteredUsers;
+ } else {
+ return this.firebaseService.getAllUserWithoutGuest();
+ }
}
}
diff --git a/src/app/services/firebase.service.ts b/src/app/services/firebase.service.ts
index f6589c3..aacb621 100644
--- a/src/app/services/firebase.service.ts
+++ b/src/app/services/firebase.service.ts
@@ -72,6 +72,10 @@ export class FirebaseService implements OnDestroy {
return this.allUsers;
}
+ getAllUserWithoutGuest(): User[] {
+ return this.getAllUsers().filter((user) => user.initials !== 'G');
+ }
+
getCurrentUserId() {
let currentUser = localStorage.getItem('currentUser');
if (currentUser !== null) {