From 2b82514a16b6486e40dc44f3bcb2e2dc37aff33f Mon Sep 17 00:00:00 2001 From: Chneemann Date: Sat, 30 Mar 2024 09:50:46 +0100 Subject: [PATCH] clean code --- .../components/summary/summary.component.html | 18 +++--- .../components/summary/summary.component.scss | 3 + .../components/summary/summary.component.ts | 63 ++++++------------- 3 files changed, 32 insertions(+), 52 deletions(-) diff --git a/src/app/components/summary/summary.component.html b/src/app/components/summary/summary.component.html index 06ff308..31dfc84 100644 --- a/src/app/components/summary/summary.component.html +++ b/src/app/components/summary/summary.component.html @@ -15,7 +15,7 @@
- {{ todoTasksCount }} + {{ displayNumberOfTaskStatus("todo") }}

To-do

@@ -24,7 +24,7 @@
- {{ doneTasksCount }} + {{ displayNumberOfTaskStatus("done") }}

Done

@@ -35,7 +35,7 @@
- {{ urgentTasksCount }} + {{ displayNumberOfTaskStatusUrgent().length }}

Done

@@ -43,9 +43,9 @@
- @if (urgentTasksCount) { - {{ urgentTasksDate }} -

Upcoming Deadline

+ @if (displayNumberOfTaskStatusUrgent().length) { + {{ nextUrgentTasks() }} +

Upcoming Deadline

} @else {

No Deadline

} @@ -58,19 +58,19 @@
- {{ allTasksCount }} + {{ displayNumberOfAllTasks() }}

Task
in Board

- {{ inprogressTasksCount }} + {{ displayNumberOfTaskStatus("inprogress") }}

Task in
Progress

- {{ awaitfeedbackTasksCount }} + {{ displayNumberOfTaskStatus("awaitfeedback") }}

Awaiting
Feedback

diff --git a/src/app/components/summary/summary.component.scss b/src/app/components/summary/summary.component.scss index 397f75a..9a6837a 100644 --- a/src/app/components/summary/summary.component.scss +++ b/src/app/components/summary/summary.component.scss @@ -155,6 +155,9 @@ section { font-size: 21px; font-weight: 700; } + .spacer { + padding-top: 12px; + } } /*------------- RESPONSIVE -------------*/ diff --git a/src/app/components/summary/summary.component.ts b/src/app/components/summary/summary.component.ts index 7f5a45b..c0afd38 100644 --- a/src/app/components/summary/summary.component.ts +++ b/src/app/components/summary/summary.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; import { RouterModule } from '@angular/router'; import { TaskService } from '../../services/task.service'; +import { Task } from '../../interfaces/task.interface'; @Component({ selector: 'app-summary', @@ -10,58 +11,34 @@ import { TaskService } from '../../services/task.service'; styleUrl: './summary.component.scss', }) export class SummaryComponent { - allTasksCount: Number = 0; - todoTasksCount: Number = 0; - inprogressTasksCount: Number = 0; - awaitfeedbackTasksCount: Number = 0; - doneTasksCount: Number = 0; - urgentTasksCount: Number = 0; - urgentTasksDate: String = ''; + constructor(private taskService: TaskService) {} - constructor(private taskService: TaskService) { - this.updateTasksCount(); - this.updateAllTasksCount(); - this.updateUrgentTasksCount(); + displayNumberOfAllTasks() { + return this.taskService.getAllTasks().length; } - updateAllTasksCount() { - this.allTasksCount = this.taskService.allTasks.length; - } - - updateTasksCount() { - this.todoTasksCount = this.countTasks('todo'); - this.inprogressTasksCount = this.countTasks('inprogress'); - this.awaitfeedbackTasksCount = this.countTasks('awaitfeedback'); - this.doneTasksCount = this.countTasks('done'); - } - - countTasks(status: string): number { - const filteredTasks = this.taskService.allTasks.filter( - (task) => task.status === status - ); + displayNumberOfTaskStatus(query: string) { + const filteredTasks = this.taskService + .getAllTasks() + .filter((task) => task.status === query); return filteredTasks.length; } - updateUrgentTasksCount() { - const filteredTasks = this.taskService.allTasks.filter( - (task) => task.priority === 'urgent' - ); - this.urgentTasksCount = filteredTasks.length; - this.nextUrgentTasks(filteredTasks); + displayNumberOfTaskStatusUrgent() { + return this.taskService + .getAllTasks() + .filter((task) => task.priority === 'urgent'); } - nextUrgentTasks(filteredTasks: any[]) { - if (filteredTasks.length >= 2) { - let timestamps = []; - for (let i = 0; i < filteredTasks.length; i++) { - timestamps.push(filteredTasks[i].timestamp); - } - this.urgentTasksDate = this.timeConverter(Math.min(...timestamps)); - } else if (filteredTasks.length > 0) { - for (let i = 0; i < filteredTasks.length; i++) { - this.urgentTasksDate = this.timeConverter(filteredTasks[i].timestamp); - } + nextUrgentTasks() { + const urgentTasks = this.displayNumberOfTaskStatusUrgent(); + if (urgentTasks.length >= 2) { + const timestamps = urgentTasks.map((task) => task.timestamp); + return this.timeConverter(Math.min(...timestamps)); + } else if (urgentTasks.length > 0) { + return this.timeConverter(urgentTasks[0].timestamp); } + return; } timeConverter(timestamp: number) {