clean code

This commit is contained in:
Chneemann 2024-03-30 09:50:46 +01:00
parent 07151e9063
commit 2b82514a16
3 changed files with 32 additions and 52 deletions

View file

@ -15,7 +15,7 @@
</div> </div>
</div> </div>
<div class="details"> <div class="details">
<span>{{ todoTasksCount }}</span> <span>{{ displayNumberOfTaskStatus("todo") }}</span>
<p>To-do</p> <p>To-do</p>
</div> </div>
</div> </div>
@ -24,7 +24,7 @@
<img src="./../../../assets/img/summary/rake.svg" alt="" /> <img src="./../../../assets/img/summary/rake.svg" alt="" />
</div> </div>
<div class="details"> <div class="details">
<span>{{ doneTasksCount }}</span> <span>{{ displayNumberOfTaskStatus("done") }}</span>
<p>Done</p> <p>Done</p>
</div> </div>
</div> </div>
@ -35,7 +35,7 @@
<div class="left"> <div class="left">
<img src="./../../../assets/img/summary/urgent.svg" alt="" /> <img src="./../../../assets/img/summary/urgent.svg" alt="" />
<div class="details"> <div class="details">
<span>{{ urgentTasksCount }}</span> <span>{{ displayNumberOfTaskStatusUrgent().length }}</span>
<p>Done</p> <p>Done</p>
</div> </div>
</div> </div>
@ -43,9 +43,9 @@
<div class="right"> <div class="right">
<div class="date"> <div class="date">
<div> <div>
@if (urgentTasksCount) { @if (displayNumberOfTaskStatusUrgent().length) {
<span>{{ urgentTasksDate }}</span> <span>{{ nextUrgentTasks() }}</span>
<p>Upcoming Deadline</p> <p class="spacer">Upcoming Deadline</p>
} @else { } @else {
<p>No Deadline</p> <p>No Deadline</p>
} }
@ -58,19 +58,19 @@
<div class="bottom-frame"> <div class="bottom-frame">
<div class="tasks" routerLink="/board"> <div class="tasks" routerLink="/board">
<div class="details"> <div class="details">
<span>{{ allTasksCount }}</span> <span>{{ displayNumberOfAllTasks() }}</span>
<p>Task<br />in Board</p> <p>Task<br />in Board</p>
</div> </div>
</div> </div>
<div class="tasks" routerLink="/board"> <div class="tasks" routerLink="/board">
<div class="details"> <div class="details">
<span>{{ inprogressTasksCount }}</span> <span>{{ displayNumberOfTaskStatus("inprogress") }}</span>
<p>Task in<br />Progress</p> <p>Task in<br />Progress</p>
</div> </div>
</div> </div>
<div class="tasks" routerLink="/board"> <div class="tasks" routerLink="/board">
<div class="details"> <div class="details">
<span>{{ awaitfeedbackTasksCount }}</span> <span>{{ displayNumberOfTaskStatus("awaitfeedback") }}</span>
<p>Awaiting<br />Feedback</p> <p>Awaiting<br />Feedback</p>
</div> </div>
</div> </div>

View file

@ -155,6 +155,9 @@ section {
font-size: 21px; font-size: 21px;
font-weight: 700; font-weight: 700;
} }
.spacer {
padding-top: 12px;
}
} }
/*------------- RESPONSIVE -------------*/ /*------------- RESPONSIVE -------------*/

View file

@ -1,6 +1,7 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import { TaskService } from '../../services/task.service'; import { TaskService } from '../../services/task.service';
import { Task } from '../../interfaces/task.interface';
@Component({ @Component({
selector: 'app-summary', selector: 'app-summary',
@ -10,58 +11,34 @@ import { TaskService } from '../../services/task.service';
styleUrl: './summary.component.scss', styleUrl: './summary.component.scss',
}) })
export class SummaryComponent { export class SummaryComponent {
allTasksCount: Number = 0; constructor(private taskService: TaskService) {}
todoTasksCount: Number = 0;
inprogressTasksCount: Number = 0;
awaitfeedbackTasksCount: Number = 0;
doneTasksCount: Number = 0;
urgentTasksCount: Number = 0;
urgentTasksDate: String = '';
constructor(private taskService: TaskService) { displayNumberOfAllTasks() {
this.updateTasksCount(); return this.taskService.getAllTasks().length;
this.updateAllTasksCount();
this.updateUrgentTasksCount();
} }
updateAllTasksCount() { displayNumberOfTaskStatus(query: string) {
this.allTasksCount = this.taskService.allTasks.length; const filteredTasks = this.taskService
} .getAllTasks()
.filter((task) => task.status === query);
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
);
return filteredTasks.length; return filteredTasks.length;
} }
updateUrgentTasksCount() { displayNumberOfTaskStatusUrgent() {
const filteredTasks = this.taskService.allTasks.filter( return this.taskService
(task) => task.priority === 'urgent' .getAllTasks()
); .filter((task) => task.priority === 'urgent');
this.urgentTasksCount = filteredTasks.length;
this.nextUrgentTasks(filteredTasks);
} }
nextUrgentTasks(filteredTasks: any[]) { nextUrgentTasks() {
if (filteredTasks.length >= 2) { const urgentTasks = this.displayNumberOfTaskStatusUrgent();
let timestamps = []; if (urgentTasks.length >= 2) {
for (let i = 0; i < filteredTasks.length; i++) { const timestamps = urgentTasks.map((task) => task.timestamp);
timestamps.push(filteredTasks[i].timestamp); return this.timeConverter(Math.min(...timestamps));
} } else if (urgentTasks.length > 0) {
this.urgentTasksDate = this.timeConverter(Math.min(...timestamps)); return this.timeConverter(urgentTasks[0].timestamp);
} else if (filteredTasks.length > 0) {
for (let i = 0; i < filteredTasks.length; i++) {
this.urgentTasksDate = this.timeConverter(filteredTasks[i].timestamp);
}
} }
return;
} }
timeConverter(timestamp: number) { timeConverter(timestamp: number) {