From c09a3b7b5636bfb62a5364e9015cd8be7c089210 Mon Sep 17 00:00:00 2001 From: Chneemann Date: Thu, 25 Apr 2024 10:52:08 +0200 Subject: [PATCH] responsive task edit overlay --- src/app/app.routes.ts | 2 ++ .../add-task/add-task.component.html | 12 +++++++-- .../add-task/add-task.component.scss | 11 ++++++-- .../components/add-task/add-task.component.ts | 1 + .../components/overlay/overlay.component.html | 2 +- .../task-edit-overlay.component.html | 17 +++++++++++-- .../task-edit-overlay.component.scss | 7 +++++- .../task-edit-overlay.component.ts | 25 ++++++++++++++++++- .../task-overlay/task-overlay.component.scss | 1 - .../task-overlay/task-overlay.component.ts | 12 +++++++-- 10 files changed, 78 insertions(+), 12 deletions(-) diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 5776752..643cd6c 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -8,6 +8,7 @@ import { BoardComponent } from './components/board/board.component'; import { ContactsComponent } from './components/contacts/contacts.component'; import { OverlayComponent } from './shared/components/overlay/overlay.component'; import { TaskOverlayComponent } from './shared/components/overlay/task-overlay/task-overlay.component'; +import { TaskEditOverlayComponent } from './shared/components/overlay/task-edit-overlay/task-edit-overlay.component'; export const routes: Routes = [ { path: '', component: SummaryComponent }, @@ -15,6 +16,7 @@ export const routes: Routes = [ { path: 'add-task', component: AddTaskComponent }, { path: 'board', component: BoardComponent }, { path: 'task/:id', component: TaskOverlayComponent }, + { path: 'task-edit/:id', component: TaskEditOverlayComponent }, { path: 'contacts', component: ContactsComponent }, { path: 'contacts/:id', component: ContactsComponent }, { path: 'help', component: HelpComponent }, diff --git a/src/app/components/add-task/add-task.component.html b/src/app/components/add-task/add-task.component.html index cec1baf..21d259d 100644 --- a/src/app/components/add-task/add-task.component.html +++ b/src/app/components/add-task/add-task.component.html @@ -15,7 +15,10 @@ >
@@ -264,7 +267,12 @@
-
+
@if (overlayType === "taskOverlay") { diff --git a/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.html b/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.html index f9f6d49..7086710 100644 --- a/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.html +++ b/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.html @@ -1,6 +1,19 @@ -
+
+ @if (overlayMobile) { + + } @else { + }
- +
diff --git a/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.scss b/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.scss index 69d0282..349846c 100644 --- a/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.scss +++ b/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.scss @@ -1,4 +1,4 @@ -section { +.overlay { width: 925px; height: 700px; padding: 48px 40px 48px 40px; @@ -6,6 +6,11 @@ section { background-color: var(--white); } +.overlay-mobile { + height: calc(100% - 24px); + width: 100%; +} + .header { display: flex; justify-content: right; diff --git a/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.ts b/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.ts index 4c02972..5b99c29 100644 --- a/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.ts +++ b/src/app/shared/components/overlay/task-edit-overlay/task-edit-overlay.component.ts @@ -8,6 +8,8 @@ import { CommonModule } from '@angular/common'; import { User } from '../../../../interfaces/user.interface'; import { AssignedComponent } from '../../../../components/add-task/assigned/assigned.component'; import { AddTaskComponent } from '../../../../components/add-task/add-task.component'; +import { ActivatedRoute } from '@angular/router'; +import { BtnBackComponent } from '../../buttons/btn-back/btn-back.component'; @Component({ selector: 'app-task-edit-overlay', @@ -18,6 +20,7 @@ import { AddTaskComponent } from '../../../../components/add-task/add-task.compo CommonModule, AssignedComponent, AddTaskComponent, + BtnBackComponent, ], templateUrl: './task-edit-overlay.component.html', styleUrl: './task-edit-overlay.component.scss', @@ -26,11 +29,31 @@ export class TaskEditOverlayComponent { @Input() overlayData: string = ''; @Output() closeDialogEmitter = new EventEmitter(); + overlayMobile: boolean = false; + constructor( public firebaseService: FirebaseService, - private overlayService: OverlayService + private overlayService: OverlayService, + private route: ActivatedRoute ) {} + ngOnInit() { + if (this.overlayData == '') { + if (this.route.params.subscribe()) { + this.route.params.subscribe((params) => { + this.overlayData = params['id']; + this.overlayMobile = true; + }); + } + } + } + + getTaskData(taskId: string) { + return this.firebaseService + .getAllTasks() + .filter((task) => task.id === taskId); + } + closeDialog() { this.closeDialogEmitter.emit(''); this.removeTaskData(); diff --git a/src/app/shared/components/overlay/task-overlay/task-overlay.component.scss b/src/app/shared/components/overlay/task-overlay/task-overlay.component.scss index 5775d09..8f0b4b8 100644 --- a/src/app/shared/components/overlay/task-overlay/task-overlay.component.scss +++ b/src/app/shared/components/overlay/task-overlay/task-overlay.component.scss @@ -8,7 +8,6 @@ .overlay-mobile { height: calc(100% - 24px); - padding: 12px; } .header { diff --git a/src/app/shared/components/overlay/task-overlay/task-overlay.component.ts b/src/app/shared/components/overlay/task-overlay/task-overlay.component.ts index 1afb151..96211d1 100644 --- a/src/app/shared/components/overlay/task-overlay/task-overlay.component.ts +++ b/src/app/shared/components/overlay/task-overlay/task-overlay.component.ts @@ -3,7 +3,7 @@ import { FirebaseService } from '../../../../services/firebase.service'; import { BtnCloseComponent } from '../../buttons/btn-close/btn-close.component'; import { CommonModule } from '@angular/common'; import { OverlayService } from '../../../../services/overlay.service'; -import { ActivatedRoute } from '@angular/router'; +import { ActivatedRoute, Router } from '@angular/router'; import { BtnBackComponent } from '../../buttons/btn-back/btn-back.component'; @Component({ @@ -22,6 +22,7 @@ export class TaskOverlayComponent implements OnInit { constructor( public firebaseService: FirebaseService, private overlayService: OverlayService, + private router: Router, private route: ActivatedRoute ) {} @@ -46,7 +47,14 @@ export class TaskOverlayComponent implements OnInit { } editTask(overlayData: string) { - this.overlayService.setOverlayData('taskOverlayEdit', overlayData); + this.closeDialog(); + setTimeout(() => { + if (window.innerWidth >= 650) { + this.overlayService.setOverlayData('taskOverlayEdit', overlayData); + } else { + this.router.navigate(['/task-edit', overlayData]); + } + }, 10); } deleteTask(overlayData: string) {