From 239c4f59e16bc0cead77a38df89a1173c440e628 Mon Sep 17 00:00:00 2001 From: Chneemann Date: Fri, 18 Apr 2025 20:36:38 +0200 Subject: [PATCH] refactor: remove unused code and apply minor optimizations --- src/app/components/login/login.component.ts | 12 ----- .../components/summary/summary.component.html | 2 +- .../components/summary/summary.component.ts | 49 +++++-------------- .../dialog-overlay.component.html | 12 ----- .../dialog-overlay.component.scss | 41 ---------------- .../dialog-overlay.component.spec.ts | 23 --------- .../dialog-overlay.component.ts | 29 ----------- .../components/overlay/overlay.component.html | 6 --- .../components/overlay/overlay.component.ts | 3 -- 9 files changed, 14 insertions(+), 163 deletions(-) delete mode 100644 src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.html delete mode 100644 src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.scss delete mode 100644 src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.spec.ts delete mode 100644 src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.ts diff --git a/src/app/components/login/login.component.ts b/src/app/components/login/login.component.ts index 3969f39..42511ce 100644 --- a/src/app/components/login/login.component.ts +++ b/src/app/components/login/login.component.ts @@ -52,7 +52,6 @@ export class LoginComponent implements OnInit, OnDestroy { ) {} ngOnInit(): void { - this.routeParams(); this.deleteTokens(); } @@ -61,17 +60,6 @@ export class LoginComponent implements OnInit, OnDestroy { this.destroy$.complete(); } - routeParams() { - this.route.params.pipe(takeUntil(this.destroy$)).subscribe((params) => { - if (params['id'] && params['id'] === 'pw-send') { - this.overlayService.setOverlayData('dialog', 'pw-send'); - } - if (params['id'] && params['id'] === 'pw-change') { - this.overlayService.setOverlayData('dialog', 'pw-change'); - } - }); - } - isButtonDisabled() { return this.buttonStateService.isButtonDisabled; } diff --git a/src/app/components/summary/summary.component.html b/src/app/components/summary/summary.component.html index 88d588e..d803776 100644 --- a/src/app/components/summary/summary.component.html +++ b/src/app/components/summary/summary.component.html @@ -43,7 +43,7 @@
@if (urgentTasks.length) { - {{ nextUrgentTask }} + {{ nextUrgentTask | date }}

{{ "summary.upcomingDeadline" | translate }}

diff --git a/src/app/components/summary/summary.component.ts b/src/app/components/summary/summary.component.ts index 42e4c3c..a32b925 100644 --- a/src/app/components/summary/summary.component.ts +++ b/src/app/components/summary/summary.component.ts @@ -16,11 +16,13 @@ import { PRIORITIES, PRIORITY_LABELS, } from '../../constants/task-priority.constants'; +import { CommonModule } from '@angular/common'; @Component({ selector: 'app-summary', standalone: true, imports: [ + CommonModule, RouterModule, TranslateModule, LoadingSpinnerComponent, @@ -49,9 +51,8 @@ export class SummaryComponent implements OnInit, OnDestroy { ) {} /** - * This method performs the following actions: - * - Calls the loadAllTasks method to load all tasks. - * - Calls the loadCurrentUser method to load the current user. + * Loads all tasks and the current user. Initializes the component + * by fetching necessary data from the TaskService and UserService. */ ngOnInit(): void { this.loadAllTasks(); @@ -132,31 +133,12 @@ export class SummaryComponent implements OnInit, OnDestroy { * Retrieves the date of the next urgent task. * @returns {string | null} The date of the next urgent task formatted as a string, or null if no urgent tasks exist. */ - get nextUrgentTask(): string | null { - if (this.urgentTasks.length === 0) return null; - - const nextTask = this.urgentTasks.reduce((earliest, current) => { - return Date.parse(current.date) < Date.parse(earliest.date) - ? current - : earliest; - }); - - return this.timeConverter(nextTask.date); - } - - /** - * Converts a date string to a human-readable format. - * @param dateString - The date string to convert. - * @returns A string representing the date in the format "MMM. DD, YYYY". - */ - timeConverter(dateString: string): string { - const date = new Date(dateString); - return date.toLocaleDateString('en-US', { - month: 'short', - day: 'numeric', - year: 'numeric', - }); + return this.urgentTasks.length + ? this.urgentTasks.reduce((a, b) => + Date.parse(a.date) < Date.parse(b.date) ? a : b + ).date + : null; } /** @@ -164,14 +146,9 @@ export class SummaryComponent implements OnInit, OnDestroy { * @returns a localized greeting string. */ get greeting(): string { - const currentHour = new Date().getHours(); - - if (currentHour >= 5 && currentHour < 12) { - return this.translateService.instant('summary.morning'); - } - if (currentHour >= 12 && currentHour < 18) { - return this.translateService.instant('summary.afternoon'); - } - return this.translateService.instant('summary.evening'); + const hour = new Date().getHours(); + const key = + hour < 5 || hour >= 18 ? 'evening' : hour < 12 ? 'morning' : 'afternoon'; + return this.translateService.instant(`summary.${key}`); } } diff --git a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.html b/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.html deleted file mode 100644 index b67ed1c..0000000 --- a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.html +++ /dev/null @@ -1,12 +0,0 @@ -
-
-
{{ "msgDialog.noticeHeadline" | translate }}
- -
-

- @if (overlayData === "pw-send") { {{ "msgDialog.pwSend" | translate }} } -

-

- @if (overlayData === "pw-change") { {{ "msgDialog.pwChange" | translate }} } -

-
diff --git a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.scss b/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.scss deleted file mode 100644 index 013a0c3..0000000 --- a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.scss +++ /dev/null @@ -1,41 +0,0 @@ -section { - width: 500px; - height: fit-content; - padding: 24px; - border-radius: 24px; - background-color: var(--white); - box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.1); - p { - text-align: center; - font-size: 21px; - font-weight: 500; - padding-bottom: 12px; - } -} - -.header { - display: flex; - justify-content: space-between; - align-items: center; - padding-bottom: 18px; - .headline { - font-size: 24px; - font-weight: 700; - } -} - -/*------------- RESPONSIVE -------------*/ - -@media screen and (max-width: 600px) { - section { - width: calc(100vw - 96px); - } -} - -@media screen and (max-width: 450px) { - section { - p { - font-size: 18px; - } - } -} diff --git a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.spec.ts b/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.spec.ts deleted file mode 100644 index 00cbc7b..0000000 --- a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { DialogOverlayComponent } from './dialog-overlay.component'; - -describe('DialogOverlayComponent', () => { - let component: DialogOverlayComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [DialogOverlayComponent] - }) - .compileComponents(); - - fixture = TestBed.createComponent(DialogOverlayComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.ts b/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.ts deleted file mode 100644 index b816ac8..0000000 --- a/src/app/shared/components/overlay/dialog-overlay/dialog-overlay.component.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { BtnCloseComponent } from '../../buttons/btn-close/btn-close.component'; -import { Router } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; - -@Component({ - selector: 'app-dialog-overlay', - standalone: true, - imports: [BtnCloseComponent, TranslateModule], - templateUrl: './dialog-overlay.component.html', - styleUrl: './dialog-overlay.component.scss', -}) -export class DialogOverlayComponent { - @Input() overlayData: string = ''; - @Input() overlayType: string = ''; - @Output() closeDialogEmitter = new EventEmitter(); - - constructor(private router: Router) {} - - /** - * Navigates to the login route and emits an empty string via the - * "closeDialogEmitter" output event, which can be used to close the overlay - * from the parent component. - */ - closeOverlay() { - this.router.navigate(['/login']); - this.closeDialogEmitter.emit(false); - } -} diff --git a/src/app/shared/components/overlay/overlay.component.html b/src/app/shared/components/overlay/overlay.component.html index 9b7a21e..7634d59 100644 --- a/src/app/shared/components/overlay/overlay.component.html +++ b/src/app/shared/components/overlay/overlay.component.html @@ -21,12 +21,6 @@ [overlayType]="overlayType" (closeDialogEmitter)="onCloseOverlay()" > - } @case ('dialogOverlay') { - } @case ('contactOverlay') {