move isPageViewMedia to sharedService

This commit is contained in:
Chneemann 2024-04-27 20:03:52 +02:00
parent 34df5bf449
commit ccca1203df
4 changed files with 36 additions and 24 deletions

View file

@ -7,6 +7,7 @@ import { FormsModule } from '@angular/forms';
import { FirebaseService } from '../../services/firebase.service'; import { FirebaseService } from '../../services/firebase.service';
import { OverlayService } from '../../services/overlay.service'; import { OverlayService } from '../../services/overlay.service';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { SharedService } from '../../services/shared.service';
@Component({ @Component({
selector: 'app-board', selector: 'app-board',
@ -20,6 +21,7 @@ export class BoardComponent {
public dragDropService: DragDropService, public dragDropService: DragDropService,
public overlayService: OverlayService, public overlayService: OverlayService,
private firebaseService: FirebaseService, private firebaseService: FirebaseService,
private sharedService: SharedService,
private router: Router private router: Router
) {} ) {}
searchValue: string = ''; searchValue: string = '';
@ -32,11 +34,9 @@ export class BoardComponent {
} }
addNewTaskOverlay(status: string) { addNewTaskOverlay(status: string) {
if (window.innerWidth >= 650) { this.sharedService.isPageViewMedia
this.overlayService.setOverlayData('newTaskOverlay', status); ? this.router.navigate(['/add-task', status])
} else { : this.overlayService.setOverlayData('newTaskOverlay', status);
this.router.navigate(['/add-task', status]);
}
} }
getTaskStatus(status: string) { getTaskStatus(status: string) {

View file

@ -13,6 +13,7 @@
> >
{{ task.category }} {{ task.category }}
</div> </div>
@if (sharedService.isPageViewMedia) {
<div class="menu-btn" (click)="handleMenuButtonClick($event, task.id)"> <div class="menu-btn" (click)="handleMenuButtonClick($event, task.id)">
<img <img
class="menu-img" class="menu-img"
@ -20,6 +21,7 @@
alt="menu" alt="menu"
/> />
</div> </div>
}
</div> </div>
<div class="headline">{{ task.title }}</div> <div class="headline">{{ task.title }}</div>
<div class="description"> <div class="description">

View file

@ -6,6 +6,7 @@ import { FirebaseService } from '../../../services/firebase.service';
import { OverlayService } from '../../../services/overlay.service'; import { OverlayService } from '../../../services/overlay.service';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { TaskMenuComponent } from './task-menu/task-menu.component'; import { TaskMenuComponent } from './task-menu/task-menu.component';
import { SharedService } from '../../../services/shared.service';
@Component({ @Component({
selector: 'app-task', selector: 'app-task',
@ -14,11 +15,8 @@ import { TaskMenuComponent } from './task-menu/task-menu.component';
templateUrl: './task.component.html', templateUrl: './task.component.html',
styleUrl: './task.component.scss', styleUrl: './task.component.scss',
}) })
export class TaskComponent implements OnInit, OnDestroy { export class TaskComponent {
@Input() task: Task = {} as Task; @Input() task: Task = {} as Task;
private resizeListener!: () => void;
isPageViewMedia: boolean = window.innerWidth <= 650;
isMenuOpen: boolean = false; isMenuOpen: boolean = false;
categoryColors = new Map<string, string>([ categoryColors = new Map<string, string>([
@ -30,22 +28,10 @@ export class TaskComponent implements OnInit, OnDestroy {
public dragDropService: DragDropService, public dragDropService: DragDropService,
private firebaseService: FirebaseService, private firebaseService: FirebaseService,
public overlayService: OverlayService, public overlayService: OverlayService,
public sharedService: SharedService,
private router: Router private router: Router
) {} ) {}
ngOnInit() {
this.resizeListener = this.onResize.bind(this);
window.addEventListener('resize', this.resizeListener);
}
ngOnDestroy() {
window.removeEventListener('resize', this.resizeListener);
}
onResize() {
this.isPageViewMedia = window.innerWidth <= 650;
}
handleMenuButtonClick(event: MouseEvent, taskId: string) { handleMenuButtonClick(event: MouseEvent, taskId: string) {
event.stopPropagation(); event.stopPropagation();
const targetElement = event.target as HTMLElement; const targetElement = event.target as HTMLElement;
@ -63,7 +49,7 @@ export class TaskComponent implements OnInit, OnDestroy {
if (this.isMenuOpen) { if (this.isMenuOpen) {
this.toggleTaskMenu(); this.toggleTaskMenu();
} }
this.isPageViewMedia this.sharedService.isPageViewMedia
? this.router.navigate(['/task', taskId]) ? this.router.navigate(['/task', taskId])
: this.overlayService.setOverlayData('taskOverlay', taskId); : this.overlayService.setOverlayData('taskOverlay', taskId);
} }

View file

@ -7,7 +7,31 @@ export class SharedService {
isAnyDialogOpen: boolean = false; isAnyDialogOpen: boolean = false;
isEditContactDialogOpen: boolean = false; isEditContactDialogOpen: boolean = false;
isDeleteContactDialogOpen: boolean = false; isDeleteContactDialogOpen: boolean = false;
isPageViewMedia: boolean = window.innerWidth <= 650;
currentUserId: string = ''; currentUserId: string = '';
constructor() {} private resizeListener!: () => void;
constructor() {
this.initResizeListener();
}
// CHECK VIEW WIDTH
private initResizeListener() {
this.resizeListener = this.onResize.bind(this);
window.addEventListener('resize', this.resizeListener);
}
private removeResizeListener() {
window.removeEventListener('resize', this.resizeListener);
}
private onResize() {
this.isPageViewMedia = window.innerWidth <= 650;
}
cleanup() {
this.removeResizeListener();
}
} }