From 436da4f6bee82672a19c4f48cf651f4d367cbd7c Mon Sep 17 00:00:00 2001 From: Chneemann Date: Mon, 8 Apr 2024 10:31:19 +0200 Subject: [PATCH] design subtask field & save new subtask --- .../add-task/add-task.component.html | 29 ++++++++++++++++ .../add-task/add-task.component.scss | 34 ++++++++++++++++++- .../components/add-task/add-task.component.ts | 10 ++++-- src/app/components/board/board.component.html | 9 +++-- src/app/interfaces/task-data.interface.ts | 1 + src/assets/img/add-task/check.svg | 1 + src/assets/img/{board => }/add.svg | 0 7 files changed, 76 insertions(+), 8 deletions(-) create mode 100644 src/assets/img/add-task/check.svg rename src/assets/img/{board => }/add.svg (100%) diff --git a/src/app/components/add-task/add-task.component.html b/src/app/components/add-task/add-task.component.html index 982224f..cb3d089 100644 --- a/src/app/components/add-task/add-task.component.html +++ b/src/app/components/add-task/add-task.component.html @@ -201,6 +201,35 @@ } +
+

Subtasks

+ + @if (subtaskValue) { +
+ + + +
+ } @else { + + } +
diff --git a/src/app/components/add-task/add-task.component.scss b/src/app/components/add-task/add-task.component.scss index 33d8b33..99ccff6 100644 --- a/src/app/components/add-task/add-task.component.scss +++ b/src/app/components/add-task/add-task.component.scss @@ -1,7 +1,6 @@ section { margin: 0; background-color: var(--very-light-gray); - padding-bottom: 32px; } .content { @@ -87,6 +86,39 @@ p { } } +.subtask { + position: relative; + .add { + position: absolute; + top: 45px; + right: 15px; + width: 25px; + height: 25px; + } + .subtask-btns { + display: flex; + align-items: center; + position: absolute; + top: 45px; + right: 15px; + img { + width: 25px; + height: 25px; + cursor: pointer; + &:hover { + filter: invert(60%) sepia(58%) saturate(1629%) hue-rotate(165deg) + brightness(92%) contrast(92%); + } + } + .line { + height: 18px; + padding: 1px; + margin: 0 6px; + background-color: var(--light-gray); + } + } +} + .assigned-badget { display: flex; margin-top: 6px; diff --git a/src/app/components/add-task/add-task.component.ts b/src/app/components/add-task/add-task.component.ts index 4361987..83a7945 100644 --- a/src/app/components/add-task/add-task.component.ts +++ b/src/app/components/add-task/add-task.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, HostListener, ViewChild } from '@angular/core'; +import { Component, ElementRef, HostListener, ViewChild } from '@angular/core'; import { FormsModule, NgForm, NgModel } from '@angular/forms'; import { AssignedComponent } from './assigned/assigned.component'; import { User } from '../../interfaces/user.interface'; @@ -21,10 +21,10 @@ export class AddTaskComponent { currentDate: string = new Date().toISOString().split('T')[0]; dateInPast: boolean = false; isAssignedOpen: boolean = false; + subtaskValue: string = ''; searchValue: string = ''; searchInput: boolean = false; filteredUsers: User[] = []; - parentAssigned: string[] = []; constructor(public firebaseService: FirebaseService) {} @@ -35,12 +35,18 @@ export class AddTaskComponent { priority: 'medium', category: '', assigned: [], + subtasks: [], }; receiveAssigned(assigned: string[]) { this.taskData.assigned = assigned; } + addSubtask(subtaskName: string) { + this.taskData.subtasks.push(subtaskName); + this.saveTaskData(); + } + ngOnInit() { const storedTaskData = localStorage.getItem('taskData'); if (storedTaskData) { diff --git a/src/app/components/board/board.component.html b/src/app/components/board/board.component.html index 89ee32f..8209c31 100644 --- a/src/app/components/board/board.component.html +++ b/src/app/components/board/board.component.html @@ -45,7 +45,7 @@ >
To doadd + >add
@for(task of getTaskStatus("todo"); track task) { @@ -62,7 +62,7 @@ >
In progressadd + >add
@for(task of getTaskStatus("inprogress"); track task) { @@ -79,7 +79,7 @@ >
Await feedbackadd + >add
@for(task of getTaskStatus("awaitfeedback"); track task) { @@ -95,8 +95,7 @@ (drop)="dragDropService.drop($event, 'done')" >
- Doneadd + Doneadd
@for(task of getTaskStatus("done"); track task) { diff --git a/src/app/interfaces/task-data.interface.ts b/src/app/interfaces/task-data.interface.ts index 14b8b6b..f769974 100644 --- a/src/app/interfaces/task-data.interface.ts +++ b/src/app/interfaces/task-data.interface.ts @@ -5,4 +5,5 @@ export interface TaskData { priority: string; category: string; assigned: string[]; + subtasks: string[]; } diff --git a/src/assets/img/add-task/check.svg b/src/assets/img/add-task/check.svg new file mode 100644 index 0000000..1655d12 --- /dev/null +++ b/src/assets/img/add-task/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/img/board/add.svg b/src/assets/img/add.svg similarity index 100% rename from src/assets/img/board/add.svg rename to src/assets/img/add.svg