diff --git a/src/app/components/add-task/add-task.component.html b/src/app/components/add-task/add-task.component.html
index 63b9266..8168f4e 100644
--- a/src/app/components/add-task/add-task.component.html
+++ b/src/app/components/add-task/add-task.component.html
@@ -228,9 +228,9 @@
} @else {
- } @if (taskData.subtasks) {
+ } @if (taskData.subtasksTitle) {
- {{ task }}
{{ "summary.upcomingDeadline" | translate }}
diff --git a/src/app/components/summary/summary.component.ts b/src/app/components/summary/summary.component.ts index 21784da..3c92fe6 100644 --- a/src/app/components/summary/summary.component.ts +++ b/src/app/components/summary/summary.component.ts @@ -11,6 +11,8 @@ import { FirebaseService } from '../../services/firebase.service'; styleUrl: './summary.component.scss', }) export class SummaryComponent { + nextUrgendTask: number[] = []; + constructor( public firebaseService: FirebaseService, private translateService: TranslateService @@ -33,19 +35,21 @@ export class SummaryComponent { .filter((task) => task.priority === 'urgent'); } - nextUrgentTasks() { + nextUrgentTask() { 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); + if (urgentTasks.length > 0) { + const nextTask = urgentTasks.reduce((earliest, current) => { + const currentDate = Date.parse(current.date); + const earliestDate = Date.parse(earliest.date); + return currentDate < earliestDate ? current : earliest; + }); + return this.timeConverter(nextTask.date); } - return; + return null; } - timeConverter(timestamp: number) { - var a = new Date(timestamp * 1000); + timeConverter(dateString: string) { + var a = new Date(dateString); var months = [ 'Jan.', 'Feb.', diff --git a/src/app/interfaces/task-data.interface.ts b/src/app/interfaces/task-data.interface.ts index f769974..82489f3 100644 --- a/src/app/interfaces/task-data.interface.ts +++ b/src/app/interfaces/task-data.interface.ts @@ -5,5 +5,5 @@ export interface TaskData { priority: string; category: string; assigned: string[]; - subtasks: string[]; + subtasksTitle: string[]; } diff --git a/src/app/interfaces/task.interface.ts b/src/app/interfaces/task.interface.ts index aece23d..f6167d3 100644 --- a/src/app/interfaces/task.interface.ts +++ b/src/app/interfaces/task.interface.ts @@ -7,6 +7,6 @@ export interface Task { priority: string; subtasksTitle: string[]; subtasksDone: boolean[]; - assigned: number[]; - timestamp: number; + assigned: string[]; + date: string; } diff --git a/src/app/services/firebase.service.ts b/src/app/services/firebase.service.ts index aacb621..a263499 100644 --- a/src/app/services/firebase.service.ts +++ b/src/app/services/firebase.service.ts @@ -1,6 +1,7 @@ import { Injectable, OnDestroy, inject } from '@angular/core'; import { Firestore, + addDoc, collection, deleteDoc, doc, @@ -9,6 +10,7 @@ import { } from '@angular/fire/firestore'; import { Task } from '../interfaces/task.interface'; import { User } from '../interfaces/user.interface'; +import { TaskData } from '../interfaces/task-data.interface'; @Injectable({ providedIn: 'root', }) @@ -56,6 +58,16 @@ export class FirebaseService implements OnDestroy { }); } + async addNewTask(task: TaskData) { + await addDoc(collection(this.firestore, 'tasks'), task) + .catch((err) => { + console.error(err); + }) + .then((docRef) => { + console.log('Document written with ID: ', docRef?.id); + }); + } + // ------------- USERS ------------- // subUserList() {