diff --git a/.eslintrc.json b/.eslintrc.json
index 0e31ce55..d3d04837 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -42,6 +42,8 @@
"unicorn/no-array-callback-reference": "off",
"unicorn/no-await-expression-member": "off",
"unicorn/prefer-object-from-entries": "off",
+ "unicorn/prefer-node-protocol": "off",
+ "unicorn/no-process-exit": "off",
"unicorn/prevent-abbreviations": [
"warn",
{
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index f92edfb7..eaa7dcbd 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -1,16 +1,16 @@
/*
- * Copyright (C) 2018-2021 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {
CommonModule,
@@ -64,6 +64,7 @@ import {BackgroundModule} from './modules/background/background.module';
import {LibraryModule} from './modules/library/library.module';
import {StorageProvider} from './modules/storage/storage.provider';
import {AssessmentsModule} from './modules/assessments/assessments.module';
+import {RoutingStackService} from './util/routing-stack.service';
registerLocaleData(localeDe);
@@ -75,6 +76,7 @@ registerLocaleData(localeDe);
* @param settingsProvider provider of settings (e.g. language that has been set)
* @param configProvider TODO
* @param translateService TODO
+ * @param _routingStackService Just for init and to track the stack from the get go
*/
export function initializerFactory(
storageProvider: StorageProvider,
@@ -82,6 +84,7 @@ export function initializerFactory(
settingsProvider: SettingsProvider,
configProvider: ConfigProvider,
translateService: TranslateService,
+ _routingStackService: RoutingStackService,
) {
return async () => {
initLogger(logger);
@@ -191,6 +194,7 @@ export function createTranslateLoader(http: HttpClient) {
SettingsProvider,
ConfigProvider,
TranslateService,
+ RoutingStackService,
],
useFactory: initializerFactory,
},
diff --git a/src/app/modules/assessments/assessments.module.ts b/src/app/modules/assessments/assessments.module.ts
index 0e83a6e7..a6339fae 100644
--- a/src/app/modules/assessments/assessments.module.ts
+++ b/src/app/modules/assessments/assessments.module.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/assessments.provider.ts b/src/app/modules/assessments/assessments.provider.ts
index 40a2c8c9..78d37bf2 100644
--- a/src/app/modules/assessments/assessments.provider.ts
+++ b/src/app/modules/assessments/assessments.provider.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/detail/assessments-detail.html b/src/app/modules/assessments/detail/assessments-detail.html
index 629ddd8f..a2af5cf1 100644
--- a/src/app/modules/assessments/detail/assessments-detail.html
+++ b/src/app/modules/assessments/detail/assessments-detail.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/detail/assessments-detail.scss b/src/app/modules/assessments/detail/assessments-detail.scss
index 791b679f..5805e43b 100644
--- a/src/app/modules/assessments/detail/assessments-detail.scss
+++ b/src/app/modules/assessments/detail/assessments-detail.scss
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/list/assessments-data-list.component.ts b/src/app/modules/assessments/list/assessments-data-list.component.ts
index 3d541888..49a42b1b 100644
--- a/src/app/modules/assessments/list/assessments-data-list.component.ts
+++ b/src/app/modules/assessments/list/assessments-data-list.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/list/assessments-data-list.html b/src/app/modules/assessments/list/assessments-data-list.html
index 4af0676c..1562e058 100644
--- a/src/app/modules/assessments/list/assessments-data-list.html
+++ b/src/app/modules/assessments/list/assessments-data-list.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/list/assessments-list-item.component.ts b/src/app/modules/assessments/list/assessments-list-item.component.ts
index 1f0177c6..425f7761 100644
--- a/src/app/modules/assessments/list/assessments-list-item.component.ts
+++ b/src/app/modules/assessments/list/assessments-list-item.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/list/assessments-list-item.html b/src/app/modules/assessments/list/assessments-list-item.html
index 9971ce2c..1e90d68b 100644
--- a/src/app/modules/assessments/list/assessments-list-item.html
+++ b/src/app/modules/assessments/list/assessments-list-item.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/list/assessments-simple-data-list.component.ts b/src/app/modules/assessments/list/assessments-simple-data-list.component.ts
index 69555e29..f78afe99 100644
--- a/src/app/modules/assessments/list/assessments-simple-data-list.component.ts
+++ b/src/app/modules/assessments/list/assessments-simple-data-list.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/list/assessments-simple-data-list.html b/src/app/modules/assessments/list/assessments-simple-data-list.html
index 574e8d9f..338ecb7f 100644
--- a/src/app/modules/assessments/list/assessments-simple-data-list.html
+++ b/src/app/modules/assessments/list/assessments-simple-data-list.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/types/assessment/assessment-base-info.component.ts b/src/app/modules/assessments/types/assessment/assessment-base-info.component.ts
index 2a50f233..a37ce95b 100644
--- a/src/app/modules/assessments/types/assessment/assessment-base-info.component.ts
+++ b/src/app/modules/assessments/types/assessment/assessment-base-info.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/types/assessment/assessment-base-info.html b/src/app/modules/assessments/types/assessment/assessment-base-info.html
index 06c60ac2..428ac562 100644
--- a/src/app/modules/assessments/types/assessment/assessment-base-info.html
+++ b/src/app/modules/assessments/types/assessment/assessment-base-info.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/types/assessment/assessment-detail.component.ts b/src/app/modules/assessments/types/assessment/assessment-detail.component.ts
index 4d6993b7..3c925200 100644
--- a/src/app/modules/assessments/types/assessment/assessment-detail.component.ts
+++ b/src/app/modules/assessments/types/assessment/assessment-detail.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/types/assessment/assessment-list-item.component.ts b/src/app/modules/assessments/types/assessment/assessment-list-item.component.ts
index acc059e7..61a937ea 100644
--- a/src/app/modules/assessments/types/assessment/assessment-list-item.component.ts
+++ b/src/app/modules/assessments/types/assessment/assessment-list-item.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.html b/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.html
index 095a175f..9de6b338 100644
--- a/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.html
+++ b/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.scss b/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.scss
index 4c9fd44c..ff360eec 100644
--- a/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.scss
+++ b/src/app/modules/assessments/types/course-of-study/course-of-study-assessment.scss
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/background/background.module.ts b/src/app/modules/background/background.module.ts
index e1397f3d..96887c33 100644
--- a/src/app/modules/background/background.module.ts
+++ b/src/app/modules/background/background.module.ts
@@ -1,12 +1,12 @@
/*
- * Copyright (C) 2021 StApps
+ * Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/background/schedule/changes.ts b/src/app/modules/background/schedule/changes.ts
index ac679e96..6079932f 100644
--- a/src/app/modules/background/schedule/changes.ts
+++ b/src/app/modules/background/schedule/changes.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/background/schedule/hash.ts b/src/app/modules/background/schedule/hash.ts
index 0846b608..e937a567 100644
--- a/src/app/modules/background/schedule/hash.ts
+++ b/src/app/modules/background/schedule/hash.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/calendar/add-event-review-modal.component.ts b/src/app/modules/calendar/add-event-review-modal.component.ts
index e11427a5..500b150f 100644
--- a/src/app/modules/calendar/add-event-review-modal.component.ts
+++ b/src/app/modules/calendar/add-event-review-modal.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/calendar/add-event-review-modal.html b/src/app/modules/calendar/add-event-review-modal.html
index b9b31bbb..b7890db0 100644
--- a/src/app/modules/calendar/add-event-review-modal.html
+++ b/src/app/modules/calendar/add-event-review-modal.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/calendar/calendar-info.ts b/src/app/modules/calendar/calendar-info.ts
index 1506dfc0..4af77bec 100644
--- a/src/app/modules/calendar/calendar-info.ts
+++ b/src/app/modules/calendar/calendar-info.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/calendar/calendar.module.ts b/src/app/modules/calendar/calendar.module.ts
index d398f494..e5523117 100644
--- a/src/app/modules/calendar/calendar.module.ts
+++ b/src/app/modules/calendar/calendar.module.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/calendar/calendar.service.ts b/src/app/modules/calendar/calendar.service.ts
index a6267a19..f29a200e 100644
--- a/src/app/modules/calendar/calendar.service.ts
+++ b/src/app/modules/calendar/calendar.service.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/calendar/new-share.ts b/src/app/modules/calendar/new-share.ts
index 1e1d5e34..442c2f41 100644
--- a/src/app/modules/calendar/new-share.ts
+++ b/src/app/modules/calendar/new-share.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/catalog/catalog.component.ts b/src/app/modules/catalog/catalog.component.ts
index 98468323..194bcacb 100644
--- a/src/app/modules/catalog/catalog.component.ts
+++ b/src/app/modules/catalog/catalog.component.ts
@@ -1,16 +1,16 @@
/*
- * Copyright (C) 2021 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {Component, OnInit, OnDestroy} from '@angular/core';
import {Router, ActivatedRoute} from '@angular/router';
diff --git a/src/app/modules/data/data-routing.module.ts b/src/app/modules/data/data-routing.module.ts
index 217d6291..7b98560a 100644
--- a/src/app/modules/data/data-routing.module.ts
+++ b/src/app/modules/data/data-routing.module.ts
@@ -1,16 +1,16 @@
/*
- * Copyright (C) 2018-2021 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
diff --git a/src/app/modules/data/data.module.ts b/src/app/modules/data/data.module.ts
index 85789b26..270e2c75 100644
--- a/src/app/modules/data/data.module.ts
+++ b/src/app/modules/data/data.module.ts
@@ -1,16 +1,16 @@
/*
- * Copyright (C) 2021 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {ScrollingModule} from '@angular/cdk/scrolling';
import {CommonModule} from '@angular/common';
@@ -82,6 +82,10 @@ import {FavoriteButtonComponent} from './elements/favorite-button.component';
import {SimpleDataListComponent} from './list/simple-data-list.component';
import {TitleCardComponent} from './elements/title-card.component';
import {CalendarService} from '../calendar/calendar.service';
+import {RoutingStackService} from '../../util/routing-stack.service';
+import {DataPathComponent} from './detail/data-path.component';
+import {EventRoutePathComponent} from './types/event/event-route-path.component';
+import {UtilModule} from '../../util/util.module';
/**
* Module for handling data
@@ -101,6 +105,8 @@ import {CalendarService} from '../calendar/calendar.service';
DataIconPipe,
DataListComponent,
DataListItemComponent,
+ DataPathComponent,
+ EventRoutePathComponent,
DateSeriesDetailContentComponent,
DateSeriesListItemComponent,
DishDetailContentComponent,
@@ -158,6 +164,7 @@ import {CalendarService} from '../calendar/calendar.service';
StorageModule,
TranslateModule.forChild(),
ThingTranslateModule.forChild(),
+ UtilModule,
],
providers: [
CoordinatedSearchProvider,
@@ -167,6 +174,7 @@ import {CalendarService} from '../calendar/calendar.service';
ScheduleProvider,
StAppsWebHttpClient,
CalendarService,
+ RoutingStackService,
],
exports: [
DataDetailComponent,
diff --git a/src/app/modules/data/data.provider.ts b/src/app/modules/data/data.provider.ts
index ca1092c5..678c3f7a 100644
--- a/src/app/modules/data/data.provider.ts
+++ b/src/app/modules/data/data.provider.ts
@@ -30,6 +30,7 @@ import {
SCSaveableThing,
SCFeedbackRequest,
SCFeedbackResponse,
+ SCUuid,
} from '@openstapps/core';
import {environment} from '../../../environments/environment';
import {StorageProvider} from '../storage/storage.provider';
@@ -41,6 +42,11 @@ export enum DataScope {
Remote = 'remote',
}
+interface CacheItem {
+ data: Promise;
+ timestamp: number;
+}
+
/**
* Generated class for the DataProvider provider.
*
@@ -70,6 +76,10 @@ export class DataProvider {
*/
private _storagePrefix = 'stapps.data';
+ readonly cache: Record | undefined> = {};
+
+ private maxCacheAge = 3600;
+
/**
* Version of the app (used for the header in communication with the backend)
*/
@@ -229,7 +239,17 @@ export class DataProvider {
return this.storageProvider.get(this.getDataKey(uid));
}
if (scope === DataScope.Remote) {
- return this.client.getThing(uid);
+ const timestamp = Date.now();
+ const cacheItem = this.cache[uid];
+ if (cacheItem && timestamp - cacheItem.timestamp < this.maxCacheAge) {
+ return cacheItem.data;
+ }
+ const item = this.client.getThing(uid);
+ this.cache[uid] = {
+ data: item,
+ timestamp: timestamp,
+ };
+ return item;
}
const map: Map = new Map();
map.set(DataScope.Local, await this.get(uid, DataScope.Local));
diff --git a/src/app/modules/data/detail/data-detail-content.component.ts b/src/app/modules/data/detail/data-detail-content.component.ts
index 374e04a4..ddd885e5 100644
--- a/src/app/modules/data/detail/data-detail-content.component.ts
+++ b/src/app/modules/data/detail/data-detail-content.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/data/detail/data-detail.component.spec.ts b/src/app/modules/data/detail/data-detail.component.spec.ts
index d260a78d..7d7b7277 100644
--- a/src/app/modules/data/detail/data-detail.component.spec.ts
+++ b/src/app/modules/data/detail/data-detail.component.spec.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/data/detail/data-detail.component.ts b/src/app/modules/data/detail/data-detail.component.ts
index 092350c6..632a9b29 100644
--- a/src/app/modules/data/detail/data-detail.component.ts
+++ b/src/app/modules/data/detail/data-detail.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
@@ -25,9 +25,9 @@ import {ViewWillEnter, ModalController} from '@ionic/angular';
import {LangChangeEvent, TranslateService} from '@ngx-translate/core';
import {
SCLanguageCode,
+ SCSaveableThing,
SCThings,
SCUuid,
- SCSaveableThing,
} from '@openstapps/core';
import {DataProvider, DataScope} from '../data.provider';
import {FavoritesService} from '../../favorites/favorites.service';
diff --git a/src/app/modules/data/detail/data-detail.html b/src/app/modules/data/detail/data-detail.html
index 0c7be63e..b96dc3d2 100644
--- a/src/app/modules/data/detail/data-detail.html
+++ b/src/app/modules/data/detail/data-detail.html
@@ -1,7 +1,30 @@
+
+
-
+
{{ 'data.detail.TITLE' | translate }}
@@ -42,6 +65,7 @@
+
.
+ */
+import {Component, Input, OnInit} from '@angular/core';
+import {RoutingStackService} from '../../../util/routing-stack.service';
+import {
+ SCCatalog,
+ SCThings,
+ SCThingType,
+ SCThingWithoutReferences,
+} from '@openstapps/core';
+import {DataProvider, DataScope} from '../data.provider';
+import {fromEvent, Observable} from 'rxjs';
+import {map} from 'rxjs/operators';
+
+@Component({
+ selector: 'stapps-data-path',
+ templateUrl: './data-path.html',
+ styleUrls: ['./data-path.scss'],
+})
+export class DataPathComponent implements OnInit {
+ path: Promise;
+
+ $width: Observable;
+
+ ngOnInit() {
+ this.$width = fromEvent(window, 'resize').pipe(
+ map(() => window.innerWidth),
+ );
+ }
+
+ @Input() set item(item: SCThings) {
+ // eslint-disable-next-line unicorn/prefer-ternary
+ if (item.type === SCThingType.Catalog && item.superCatalogs) {
+ this.path = new Promise(resolve =>
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ resolve([...item.superCatalogs!, item]),
+ );
+ } else if (
+ item.type === SCThingType.AcademicEvent &&
+ item.catalogs &&
+ (item.catalogs.length === 1 || this.routeStack.lastDataDetail)
+ ) {
+ const catalogWithoutReferences = item.catalogs[0];
+ const catalogPromise = (
+ item.catalogs.length === 1
+ ? this.dataProvider.get(
+ catalogWithoutReferences.uid,
+ DataScope.Remote,
+ )
+ : this.routeStack.lastDataDetail
+ ) as Promise;
+
+ this.path = new Promise(async resolve => {
+ const catalog = await catalogPromise;
+ const superCatalogs = catalog.superCatalogs;
+
+ resolve(
+ superCatalogs
+ ? [...superCatalogs, catalogWithoutReferences, item]
+ : [catalogWithoutReferences, item],
+ );
+ });
+ }
+ }
+
+ constructor(
+ readonly routeStack: RoutingStackService,
+ readonly dataProvider: DataProvider,
+ ) {}
+}
diff --git a/src/app/modules/data/detail/data-path.html b/src/app/modules/data/detail/data-path.html
new file mode 100644
index 00000000..f75b1cf6
--- /dev/null
+++ b/src/app/modules/data/detail/data-path.html
@@ -0,0 +1,54 @@
+
+
+
+ = 768 ? 1 : 0"
+ [maxItems]="2"
+ (ionCollapsedClick)="popover.present($event)"
+ >
+
+ = 768
+ ? '30vw'
+ : 'calc(100vw - 120px)'
+ "
+ class="crumb-label"
+ >{{ 'name' | thingTranslate: $any(fragment) }}
+
+
+
+
+
+ {{ 'name' | thingTranslate: $any(fragment) }}
+
+
+
+
diff --git a/src/app/modules/data/detail/data-path.scss b/src/app/modules/data/detail/data-path.scss
new file mode 100644
index 00000000..daa47492
--- /dev/null
+++ b/src/app/modules/data/detail/data-path.scss
@@ -0,0 +1,21 @@
+/*!
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
+
+.crumb-label {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ cursor: pointer;
+}
diff --git a/src/app/modules/data/elements/simple-card.component.ts b/src/app/modules/data/elements/simple-card.component.ts
index 57084006..e286a3a0 100644
--- a/src/app/modules/data/elements/simple-card.component.ts
+++ b/src/app/modules/data/elements/simple-card.component.ts
@@ -1,19 +1,19 @@
/*
- * Copyright (C) 2019 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {Component, Input} from '@angular/core';
-import {isThing, SCThing} from '@openstapps/core';
+import {SCThingWithoutReferences} from '@openstapps/core';
/**
* TODO
@@ -31,7 +31,7 @@ export class SimpleCardComponent {
/**
* TODO
*/
- @Input() content: string | string[] | SCThing[];
+ @Input() content: string | string[] | SCThingWithoutReferences[];
/**
* TODO
@@ -55,7 +55,8 @@ export class SimpleCardComponent {
* TODO
*/
// eslint-disable-next-line class-methods-use-this
- isThing(something: unknown): something is SCThing {
- return isThing(something);
+ isThing(something: unknown): something is SCThingWithoutReferences {
+ // bypass the 'type' field check because of translated values
+ return typeof something === 'object';
}
}
diff --git a/src/app/modules/data/list/data-list-item.component.ts b/src/app/modules/data/list/data-list-item.component.ts
index af2cff43..21a0345f 100644
--- a/src/app/modules/data/list/data-list-item.component.ts
+++ b/src/app/modules/data/list/data-list-item.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/data/list/data-list.component.ts b/src/app/modules/data/list/data-list.component.ts
index fadb9000..78c12a19 100644
--- a/src/app/modules/data/list/data-list.component.ts
+++ b/src/app/modules/data/list/data-list.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/data/list/simple-data-list.component.ts b/src/app/modules/data/list/simple-data-list.component.ts
index bec8a807..1c151e76 100644
--- a/src/app/modules/data/list/simple-data-list.component.ts
+++ b/src/app/modules/data/list/simple-data-list.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/data/list/simple-data-list.html b/src/app/modules/data/list/simple-data-list.html
index ae70bfe2..ce4928da 100644
--- a/src/app/modules/data/list/simple-data-list.html
+++ b/src/app/modules/data/list/simple-data-list.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/data/types/event/event-detail-content.component.ts b/src/app/modules/data/types/event/event-detail-content.component.ts
index ac6c1243..82bbd71a 100644
--- a/src/app/modules/data/types/event/event-detail-content.component.ts
+++ b/src/app/modules/data/types/event/event-detail-content.component.ts
@@ -1,25 +1,25 @@
/*
- * Copyright (C) 2019 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {Component, Input} from '@angular/core';
import {
SCAcademicEvent,
SCSportCourse,
SCThing,
+ SCThingTranslator,
SCTranslations,
} from '@openstapps/core';
-import {SCThingTranslator} from '@openstapps/core';
/**
* TODO
diff --git a/src/app/modules/data/types/event/event-detail-content.html b/src/app/modules/data/types/event/event-detail-content.html
index e6291b8f..c2edd09e 100644
--- a/src/app/modules/data/types/event/event-detail-content.html
+++ b/src/app/modules/data/types/event/event-detail-content.html
@@ -1,48 +1,62 @@
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{
+ $any('superCatalogs' | propertyNameTranslate: 'catalog') | titlecase
+ }}
+
+
+
+
+
+
+
+
diff --git a/src/app/modules/data/types/event/event-route-path.component.ts b/src/app/modules/data/types/event/event-route-path.component.ts
new file mode 100644
index 00000000..f5ec12d1
--- /dev/null
+++ b/src/app/modules/data/types/event/event-route-path.component.ts
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
+import {Component, Input} from '@angular/core';
+import {SCThingWithoutReferences} from '@openstapps/core';
+import {Observable} from 'rxjs';
+
+/**
+ * This was originally intended to be used in more than one place.
+ * I kept this in place to make it easier to adapt it in the future, if needed.
+ */
+@Component({
+ selector: 'event-route-path',
+ templateUrl: 'event-route-path.html',
+ styleUrls: ['event-route-path.scss'],
+})
+export class EventRoutePathComponent {
+ @Input() maxItems?: number;
+
+ @Input() itemsAfterCollapse?: number;
+
+ @Input() itemsBeforeCollapse?: number;
+
+ @Input() items: Array = [];
+
+ @Input() more?: Observable;
+
+ @Input() moreAnchor: 'start' | 'end' = 'start';
+}
diff --git a/src/app/modules/data/types/event/event-route-path.html b/src/app/modules/data/types/event/event-route-path.html
new file mode 100644
index 00000000..9949161c
--- /dev/null
+++ b/src/app/modules/data/types/event/event-route-path.html
@@ -0,0 +1,65 @@
+
+
+
+
+ {{ 'name' | thingTranslate: $any(item) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ 'name' | thingTranslate: $any(item) }}
+
+
diff --git a/src/app/modules/data/types/event/event-route-path.scss b/src/app/modules/data/types/event/event-route-path.scss
new file mode 100644
index 00000000..2b2fd5c6
--- /dev/null
+++ b/src/app/modules/data/types/event/event-route-path.scss
@@ -0,0 +1,23 @@
+/*!
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
+
+ion-breadcrumb:last-child {
+ overflow: hidden;
+ flex: 1;
+}
+
+.crumb-label {
+ cursor: pointer;
+}
diff --git a/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts b/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts
index a634be0f..0eadd2bb 100644
--- a/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts
+++ b/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/hebis/daia-availability/daia-availability.component.ts b/src/app/modules/hebis/daia-availability/daia-availability.component.ts
index 3d53f5d6..551333e1 100644
--- a/src/app/modules/hebis/daia-availability/daia-availability.component.ts
+++ b/src/app/modules/hebis/daia-availability/daia-availability.component.ts
@@ -1,16 +1,16 @@
/*
- * Copyright (C) 2018, 2019 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {Component, OnInit} from '@angular/core';
import {ActivatedRoute} from '@angular/router';
diff --git a/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts b/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts
index 7d18b3e9..fa62bba4 100644
--- a/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts
+++ b/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/hebis/hebis-detail/hebis-detail.component.ts b/src/app/modules/hebis/hebis-detail/hebis-detail.component.ts
index 3e9995f5..c0c89756 100644
--- a/src/app/modules/hebis/hebis-detail/hebis-detail.component.ts
+++ b/src/app/modules/hebis/hebis-detail/hebis-detail.component.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/map/page/map-page.component.ts b/src/app/modules/map/page/map-page.component.ts
index 3534deae..5b8ff6d6 100644
--- a/src/app/modules/map/page/map-page.component.ts
+++ b/src/app/modules/map/page/map-page.component.ts
@@ -1,16 +1,16 @@
/*
- * Copyright (C) 2019-2021 StApps
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation, version 3.
+ * Copyright (C) 2022 StApps
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 3.
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
*/
import {Location} from '@angular/common';
import {
diff --git a/src/app/modules/map/page/map-page.html b/src/app/modules/map/page/map-page.html
index a757534a..c6291c24 100644
--- a/src/app/modules/map/page/map-page.html
+++ b/src/app/modules/map/page/map-page.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/map/page/modals/map-list.html b/src/app/modules/map/page/modals/map-list.html
index b506bfb3..2715b706 100644
--- a/src/app/modules/map/page/modals/map-list.html
+++ b/src/app/modules/map/page/modals/map-list.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/map/page/modals/map-list.scss b/src/app/modules/map/page/modals/map-list.scss
index d913c456..04a923c5 100644
--- a/src/app/modules/map/page/modals/map-list.scss
+++ b/src/app/modules/map/page/modals/map-list.scss
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/profile/profile.module.ts b/src/app/modules/profile/profile.module.ts
index 6a502943..657ed48f 100644
--- a/src/app/modules/profile/profile.module.ts
+++ b/src/app/modules/profile/profile.module.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/schedule/page/schedule-page.scss b/src/app/modules/schedule/page/schedule-page.scss
index baa43f35..6aa3458a 100644
--- a/src/app/modules/schedule/page/schedule-page.scss
+++ b/src/app/modules/schedule/page/schedule-page.scss
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/schedule/page/schedule-view.html b/src/app/modules/schedule/page/schedule-view.html
index 91f2821b..f95ffc3b 100644
--- a/src/app/modules/schedule/page/schedule-view.html
+++ b/src/app/modules/schedule/page/schedule-view.html
@@ -6,7 +6,7 @@
~
~ This program is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
~ more details.
~
~ You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/schedule/page/schedule-view.scss b/src/app/modules/schedule/page/schedule-view.scss
index 733124d1..6398e1a9 100644
--- a/src/app/modules/schedule/page/schedule-view.scss
+++ b/src/app/modules/schedule/page/schedule-view.scss
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/settings/page/calendar-sync-settings-keys.ts b/src/app/modules/settings/page/calendar-sync-settings-keys.ts
index 6affba83..5151fbb0 100644
--- a/src/app/modules/settings/page/calendar-sync-settings-keys.ts
+++ b/src/app/modules/settings/page/calendar-sync-settings-keys.ts
@@ -6,7 +6,7 @@
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licens for
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
diff --git a/src/app/modules/settings/page/calendar-sync-settings.html b/src/app/modules/settings/page/calendar-sync-settings.html
index 5bcd6d58..0748719d 100644
--- a/src/app/modules/settings/page/calendar-sync-settings.html
+++ b/src/app/modules/settings/page/calendar-sync-settings.html
@@ -1,12 +1,12 @@