mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-21 17:12:43 +00:00
refactor: use material symbols for menu
This commit is contained in:
committed by
Thea Schöbl
parent
557d050b36
commit
9e1017edfb
@@ -3,19 +3,20 @@
|
|||||||
import {SCAboutPageContentType, SCConfigFile, SCLanguageCode} from '@openstapps/core';
|
import {SCAboutPageContentType, SCConfigFile, SCLanguageCode} from '@openstapps/core';
|
||||||
import {RecursivePartial} from '@openstapps/logger/lib/common';
|
import {RecursivePartial} from '@openstapps/logger/lib/common';
|
||||||
|
|
||||||
const markdownSources: {[key in SCLanguageCode]?: {
|
const markdownSources: {
|
||||||
/**
|
[key in SCLanguageCode]?: {
|
||||||
* Privacy policy markdown
|
/**
|
||||||
*/
|
* Privacy policy markdown
|
||||||
privacyPolicy?: string;
|
*/
|
||||||
/**
|
privacyPolicy?: string;
|
||||||
* Terms and conditions markdown
|
/**
|
||||||
*/
|
* Terms and conditions markdown
|
||||||
termsAndConditions?: string;
|
*/
|
||||||
}} = {en: {}, de: {}};
|
termsAndConditions?: string;
|
||||||
|
};
|
||||||
|
} = {en: {}, de: {}};
|
||||||
|
|
||||||
markdownSources.de!.privacyPolicy =
|
markdownSources.de!.privacyPolicy = `
|
||||||
`
|
|
||||||
Diese Datenschutzerklärung dient zur Erfüllung der nach Artikel 13 EU DSGVO geforderten Informationspflicht bei Erhebung von Daten zum Zeitpunkt der Erhebung bei betroffenen Personen.
|
Diese Datenschutzerklärung dient zur Erfüllung der nach Artikel 13 EU DSGVO geforderten Informationspflicht bei Erhebung von Daten zum Zeitpunkt der Erhebung bei betroffenen Personen.
|
||||||
|
|
||||||
# **Name und Anschrift des Verantwortlichen**
|
# **Name und Anschrift des Verantwortlichen**
|
||||||
@@ -176,8 +177,7 @@ Pseudonymisierung gehören kann.</li>
|
|||||||
</ol>
|
</ol>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
markdownSources.de!.termsAndConditions =
|
markdownSources.de!.termsAndConditions = `
|
||||||
`
|
|
||||||
<p>Stand: 04. November 2015</p>
|
<p>Stand: 04. November 2015</p>
|
||||||
<p>Es gilt der jeweilige Datenschutz der Hochschule im jeweiligen Bundesland. Darüber hinaus gelten die folgenden Vereinbarungen. Mit der Installation erklären Sie sich bereit die folgenden Bedingungen zu akzeptieren. <br>
|
<p>Es gilt der jeweilige Datenschutz der Hochschule im jeweiligen Bundesland. Darüber hinaus gelten die folgenden Vereinbarungen. Mit der Installation erklären Sie sich bereit die folgenden Bedingungen zu akzeptieren. <br>
|
||||||
</p>
|
</p>
|
||||||
@@ -282,8 +282,7 @@ markdownSources.de!.termsAndConditions =
|
|||||||
<p>Fragen oder Anmerkungen zu dieser AGB richten Sie bitte an: <a href="mailto:app@rz.uni-frankfurt.de">app@rz.uni-frankfurt.de</a></p>
|
<p>Fragen oder Anmerkungen zu dieser AGB richten Sie bitte an: <a href="mailto:app@rz.uni-frankfurt.de">app@rz.uni-frankfurt.de</a></p>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
markdownSources.en!.privacyPolicy =
|
markdownSources.en!.privacyPolicy = `
|
||||||
`
|
|
||||||
This data protection declaration serves to fulfill the information obligation required under Article 13 EU DSGVO when data is collected at the time of collection from data subjects.
|
This data protection declaration serves to fulfill the information obligation required under Article 13 EU DSGVO when data is collected at the time of collection from data subjects.
|
||||||
|
|
||||||
# **Name and address of the responsible person**
|
# **Name and address of the responsible person**
|
||||||
@@ -445,8 +444,7 @@ Pseudonymization may include.</li>
|
|||||||
</ol>
|
</ol>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
markdownSources.en!.termsAndConditions =
|
markdownSources.en!.termsAndConditions = `
|
||||||
`
|
|
||||||
<p>As of November 04, 2015</p>
|
<p>As of November 04, 2015</p>
|
||||||
<p>The respective data protection of the university in the respective federal state applies. In addition, the following agreements apply. By installing you agree to accept the following terms and conditions. <br>
|
<p>The respective data protection of the university in the respective federal state applies. In addition, the following agreements apply. By installing you agree to accept the following terms and conditions. <br>
|
||||||
</p>
|
</p>
|
||||||
@@ -551,7 +549,6 @@ markdownSources.en!.termsAndConditions =
|
|||||||
<p>If you have any questions or comments about these terms and conditions, please contact: <a href="mailto:app@rz.uni-frankfurt.de">app@rz.uni-frankfurt.de</a></p>
|
<p>If you have any questions or comments about these terms and conditions, please contact: <a href="mailto:app@rz.uni-frankfurt.de">app@rz.uni-frankfurt.de</a></p>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the default configuration for the Goethe university of Frankfurt
|
* This is the default configuration for the Goethe university of Frankfurt
|
||||||
*/
|
*/
|
||||||
@@ -598,8 +595,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
title: 'Über das StApps Projekt',
|
title: 'Über das StApps Projekt',
|
||||||
content: [
|
content: [
|
||||||
{
|
{
|
||||||
title:
|
title: 'Verbundprojekt mehrerer Hochschulen für eine generische Studierenden-App',
|
||||||
'Verbundprojekt mehrerer Hochschulen für eine generische Studierenden-App',
|
|
||||||
content: {
|
content: {
|
||||||
type: SCAboutPageContentType.MARKDOWN,
|
type: SCAboutPageContentType.MARKDOWN,
|
||||||
value: `
|
value: `
|
||||||
@@ -622,8 +618,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
translations: {
|
translations: {
|
||||||
en: {
|
en: {
|
||||||
title:
|
title: 'Collaborative project of multiple universities for a single generic study app',
|
||||||
'Collaborative project of multiple universities for a single generic study app',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
type: SCAboutPageContentType.SECTION,
|
type: SCAboutPageContentType.SECTION,
|
||||||
@@ -649,8 +644,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
Norbert-Wollheim-Platz 1<br>
|
Norbert-Wollheim-Platz 1<br>
|
||||||
60629 Frankfurt
|
60629 Frankfurt
|
||||||
`,
|
`,
|
||||||
translations: {
|
translations: {},
|
||||||
},
|
|
||||||
type: SCAboutPageContentType.MARKDOWN,
|
type: SCAboutPageContentType.MARKDOWN,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -669,8 +663,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
'[app@rz.uni-frankfurt.de](mailto:app@rz.uni-frankfurt.de)<br>' +
|
'[app@rz.uni-frankfurt.de](mailto:app@rz.uni-frankfurt.de)<br>' +
|
||||||
'[+49 69 798 32936](tel:+496979832936)<br>' +
|
'[+49 69 798 32936](tel:+496979832936)<br>' +
|
||||||
'[https://app.rz.uni-frankfurt.de](https://app.rz.uni-frankfurt.de)',
|
'[https://app.rz.uni-frankfurt.de](https://app.rz.uni-frankfurt.de)',
|
||||||
translations: {
|
translations: {},
|
||||||
},
|
|
||||||
type: SCAboutPageContentType.MARKDOWN,
|
type: SCAboutPageContentType.MARKDOWN,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -696,7 +689,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'document',
|
icon: 'description',
|
||||||
title: 'Impressum',
|
title: 'Impressum',
|
||||||
link: 'imprint',
|
link: 'imprint',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -707,7 +700,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'shield-half',
|
icon: 'policy',
|
||||||
title: 'Datenschutz',
|
title: 'Datenschutz',
|
||||||
link: 'privacy',
|
link: 'privacy',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -718,7 +711,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'reader',
|
icon: 'text_snippet',
|
||||||
title: 'Allgemeine Geschäftsbedingungen',
|
title: 'Allgemeine Geschäftsbedingungen',
|
||||||
link: 'terms',
|
link: 'terms',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -729,7 +722,7 @@ const config: RecursivePartial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'library',
|
icon: 'copyright',
|
||||||
title: 'Bibliotheken und Lizenzen',
|
title: 'Bibliotheken und Lizenzen',
|
||||||
link: 'licenses',
|
link: 'licenses',
|
||||||
translations: {
|
translations: {
|
||||||
|
|||||||
@@ -18,31 +18,29 @@ import {resolve} from 'path';
|
|||||||
* @param num The number that should be checked
|
* @param num The number that should be checked
|
||||||
* @param range Array of two numbers representing a range (inclusive interval)
|
* @param range Array of two numbers representing a range (inclusive interval)
|
||||||
*/
|
*/
|
||||||
export function inRangeInclusive(num: number, range: number[]): boolean {
|
export function inRangeInclusive(number_: number, range: number[]): boolean {
|
||||||
return num >= range[0] && num <= range[1];
|
return number_ >= range[0] && number_ <= range[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
const sommerRange = [4, 9];
|
const sommerRange = [4, 9];
|
||||||
const winterRange = [10, 3];
|
const winterRange = [10, 3];
|
||||||
const month = new Date().getMonth();
|
const month = new Date().getMonth();
|
||||||
const year = new Date().getFullYear();
|
const year = new Date().getFullYear();
|
||||||
const winterYearOffset = (month < winterRange[0] ? -1 : 0);
|
const winterYearOffset = month < winterRange[0] ? -1 : 0;
|
||||||
const sommerYear = year + (month <= winterRange[1] ? -1 : 0);
|
const sommerYear = year + (month <= winterRange[1] ? -1 : 0);
|
||||||
const winterYear = `${year + winterYearOffset}/${(year + 1 + winterYearOffset)
|
const winterYear = `${year + winterYearOffset}/${(year + 1 + winterYearOffset).toString().slice(-2)}`;
|
||||||
.toString()
|
|
||||||
.slice(-2)}`;
|
|
||||||
|
|
||||||
const wsAcronymShort = `WS ${winterYear}`;
|
const wsAcronymShort = `WS ${winterYear}`;
|
||||||
const ssAcronymShort = `SS ${sommerYear}`;
|
const ssAcronymShort = `SS ${sommerYear}`;
|
||||||
const wsAcronymLong = `WiSe ${winterYear}`;
|
const wsAcronymLong = `WiSe ${winterYear}`;
|
||||||
const ssAcronymLong = `SoSe ${sommerYear}`;
|
const ssAcronymLong = `SoSe ${sommerYear}`;
|
||||||
|
|
||||||
|
|
||||||
const userGroupSetting: SCUserGroupSetting = {
|
const userGroupSetting: SCUserGroupSetting = {
|
||||||
categories: ['profile'],
|
categories: ['profile'],
|
||||||
defaultValue: 'students',
|
defaultValue: 'students',
|
||||||
description: 'The user group the app is going to be used.'
|
description:
|
||||||
+ 'This settings for example is getting used for the predefined price category of mensa meals.',
|
'The user group the app is going to be used.' +
|
||||||
|
'This settings for example is getting used for the predefined price category of mensa meals.',
|
||||||
inputType: SCSettingInputType.SingleChoice,
|
inputType: SCSettingInputType.SingleChoice,
|
||||||
name: 'group',
|
name: 'group',
|
||||||
order: 1,
|
order: 1,
|
||||||
@@ -53,24 +51,17 @@ const userGroupSetting: SCUserGroupSetting = {
|
|||||||
},
|
},
|
||||||
translations: {
|
translations: {
|
||||||
de: {
|
de: {
|
||||||
description: 'Mit welcher Benutzergruppe soll die App verwendet werden?'
|
description:
|
||||||
+ ' Die Einstellung wird beispielsweise für die Vorauswahl der Preiskategorie der Mensa verwendet.',
|
'Mit welcher Benutzergruppe soll die App verwendet werden?' +
|
||||||
|
' Die Einstellung wird beispielsweise für die Vorauswahl der Preiskategorie der Mensa verwendet.',
|
||||||
name: 'Gruppe',
|
name: 'Gruppe',
|
||||||
values: [
|
values: ['Student', 'Angestellter', 'Gast'],
|
||||||
'Student',
|
|
||||||
'Angestellter',
|
|
||||||
'Gast',
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
description: `The user group the app is going to be used.'
|
description: `The user group the app is going to be used.'
|
||||||
+ ' This settings for example is getting used for the predefined price category of mensa meals.`,
|
+ ' This settings for example is getting used for the predefined price category of mensa meals.`,
|
||||||
name: 'Group',
|
name: 'Group',
|
||||||
values: [
|
values: ['student', 'employee', 'guest'],
|
||||||
'student',
|
|
||||||
'employee',
|
|
||||||
'guest',
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
type: SCThingType.Setting,
|
type: SCThingType.Setting,
|
||||||
@@ -94,18 +85,12 @@ const languageSetting: SCLanguageSetting = {
|
|||||||
de: {
|
de: {
|
||||||
description: 'Die Sprache in der die App angezeigt wird.',
|
description: 'Die Sprache in der die App angezeigt wird.',
|
||||||
name: 'Sprache',
|
name: 'Sprache',
|
||||||
values: [
|
values: ['Deutsch', 'English'],
|
||||||
'Deutsch',
|
|
||||||
'English',
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
description: 'The language this app is going to use.',
|
description: 'The language this app is going to use.',
|
||||||
name: 'Language',
|
name: 'Language',
|
||||||
values: [
|
values: ['Deutsch', 'English'],
|
||||||
'Deutsch',
|
|
||||||
'English',
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
type: SCThingType.Setting,
|
type: SCThingType.Setting,
|
||||||
@@ -132,8 +117,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
title: 'Über das StApps Projekt',
|
title: 'Über das StApps Projekt',
|
||||||
content: [
|
content: [
|
||||||
{
|
{
|
||||||
title:
|
title: 'Verbundprojekt mehrerer Hochschulen für eine generische Studierenden-App',
|
||||||
'Verbundprojekt mehrerer Hochschulen für eine generische Studierenden-App',
|
|
||||||
content: {
|
content: {
|
||||||
type: SCAboutPageContentType.MARKDOWN,
|
type: SCAboutPageContentType.MARKDOWN,
|
||||||
value: `
|
value: `
|
||||||
@@ -154,8 +138,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
translations: {
|
translations: {
|
||||||
en: {
|
en: {
|
||||||
title:
|
title: 'Collaborative project of multiple universities for a single generic study app',
|
||||||
'Collaborative project of multiple universities for a single generic study app',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
type: SCAboutPageContentType.SECTION,
|
type: SCAboutPageContentType.SECTION,
|
||||||
@@ -200,10 +183,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.MARKDOWN,
|
type: SCAboutPageContentType.MARKDOWN,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value:
|
value: '[mail]()<br>' + '[+49 12 345 67890]()<br>' + '[https://localhost/]()',
|
||||||
'[mail]()<br>' +
|
|
||||||
'[+49 12 345 67890]()<br>' +
|
|
||||||
'[https://localhost/]()',
|
|
||||||
translations: {
|
translations: {
|
||||||
en: {
|
en: {
|
||||||
value: 'This would be the english contact information',
|
value: 'This would be the english contact information',
|
||||||
@@ -223,7 +203,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.SECTION,
|
type: SCAboutPageContentType.SECTION,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'newspaper',
|
icon: 'campaign',
|
||||||
title: 'Neue Funktionen / Gelöste Probleme',
|
title: 'Neue Funktionen / Gelöste Probleme',
|
||||||
link: 'changelog',
|
link: 'changelog',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -234,7 +214,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'document',
|
icon: 'description',
|
||||||
title: 'Impressum',
|
title: 'Impressum',
|
||||||
link: 'imprint',
|
link: 'imprint',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -245,7 +225,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'shield-half',
|
icon: 'policy',
|
||||||
title: 'Datenschutz',
|
title: 'Datenschutz',
|
||||||
link: 'privacy',
|
link: 'privacy',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -256,7 +236,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'reader',
|
icon: 'text_snippet',
|
||||||
title: 'Allgemeine Geschäftsbedingungen',
|
title: 'Allgemeine Geschäftsbedingungen',
|
||||||
link: 'terms',
|
link: 'terms',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -267,7 +247,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
type: SCAboutPageContentType.ROUTER_LINK,
|
type: SCAboutPageContentType.ROUTER_LINK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'library',
|
icon: 'copyright',
|
||||||
title: 'Bibliotheken und Lizenzen',
|
title: 'Bibliotheken und Lizenzen',
|
||||||
link: 'licenses',
|
link: 'licenses',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -363,26 +343,11 @@ const config: Partial<SCConfigFile> = {
|
|||||||
campusPolygon: {
|
campusPolygon: {
|
||||||
coordinates: [
|
coordinates: [
|
||||||
[
|
[
|
||||||
[
|
[8.660_432_999_690_723, 50.123_027_017_044_436],
|
||||||
8.660432999690723,
|
[8.675_496_285_518_358, 50.123_027_017_044_436],
|
||||||
50.123027017044436,
|
[8.675_496_285_518_358, 50.130_661_764_486_42],
|
||||||
],
|
[8.660_432_999_690_723, 50.130_661_764_486_42],
|
||||||
[
|
[8.660_432_999_690_723, 50.123_027_017_044_436],
|
||||||
8.675496285518358,
|
|
||||||
50.123027017044436,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.675496285518358,
|
|
||||||
50.13066176448642,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.660432999690723,
|
|
||||||
50.13066176448642,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.660432999690723,
|
|
||||||
50.123027017044436,
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
type: 'Polygon',
|
type: 'Polygon',
|
||||||
@@ -397,6 +362,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
menus: [
|
menus: [
|
||||||
{
|
{
|
||||||
|
// unused
|
||||||
icon: 'menu',
|
icon: 'menu',
|
||||||
id: 'main',
|
id: 'main',
|
||||||
items: [
|
items: [
|
||||||
@@ -427,7 +393,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'calendar',
|
icon: 'calendar_month',
|
||||||
route: '/schedule',
|
route: '/schedule',
|
||||||
title: 'schedule',
|
title: 'schedule',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -440,7 +406,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'cafe',
|
icon: 'local_cafe',
|
||||||
route: '/canteen',
|
route: '/canteen',
|
||||||
title: 'canteen',
|
title: 'canteen',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -453,7 +419,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'search',
|
icon: 'local_library',
|
||||||
route: '/hebis-search',
|
route: '/hebis-search',
|
||||||
title: 'library catalog',
|
title: 'library catalog',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -466,7 +432,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'folder',
|
icon: 'inventory_2',
|
||||||
route: '/catalog',
|
route: '/catalog',
|
||||||
title: 'course catalog',
|
title: 'course catalog',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -503,11 +469,12 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'person',
|
// unused
|
||||||
|
icon: 'account_circle',
|
||||||
id: 'personal',
|
id: 'personal',
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
icon: 'library',
|
icon: 'account_circle',
|
||||||
route: '/library-account',
|
route: '/library-account',
|
||||||
title: 'library account',
|
title: 'library account',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -520,7 +487,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'star',
|
icon: 'grade',
|
||||||
route: '/favorites',
|
route: '/favorites',
|
||||||
title: 'favorites',
|
title: 'favorites',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -533,7 +500,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'person',
|
icon: 'account_circle',
|
||||||
route: '/profile',
|
route: '/profile',
|
||||||
title: 'profile',
|
title: 'profile',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -559,7 +526,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'information',
|
icon: 'info',
|
||||||
route: '/about',
|
route: '/about',
|
||||||
title: 'about',
|
title: 'about',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -572,7 +539,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'chatbubbles',
|
icon: 'rate_review',
|
||||||
route: '/feedback',
|
route: '/feedback',
|
||||||
title: 'feedback',
|
title: 'feedback',
|
||||||
translations: {
|
translations: {
|
||||||
@@ -598,10 +565,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
],
|
],
|
||||||
name: 'Goethe-Uni',
|
name: 'Goethe-Uni',
|
||||||
privacyPolicyUrl: 'https://mobile.server.uni-frankfurt.de/_static/privacy.md',
|
privacyPolicyUrl: 'https://mobile.server.uni-frankfurt.de/_static/privacy.md',
|
||||||
settings: [
|
settings: [userGroupSetting, languageSetting],
|
||||||
userGroupSetting,
|
|
||||||
languageSetting,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
auth: {
|
auth: {
|
||||||
paia: {
|
paia: {
|
||||||
@@ -611,7 +575,8 @@ const config: Partial<SCConfigFile> = {
|
|||||||
url: 'https://hds.hebis.de/Shibboleth.sso/UBFFM?target=https://hds.hebis.de/ubffm/paia_login_stub.php',
|
url: 'https://hds.hebis.de/Shibboleth.sso/UBFFM?target=https://hds.hebis.de/ubffm/paia_login_stub.php',
|
||||||
},
|
},
|
||||||
endpoints: {
|
endpoints: {
|
||||||
authorization: 'https://hds.hebis.de/Shibboleth.sso/UBFFM?target=https://hds.hebis.de/ubffm/paia_login_stub.php',
|
authorization:
|
||||||
|
'https://hds.hebis.de/Shibboleth.sso/UBFFM?target=https://hds.hebis.de/ubffm/paia_login_stub.php',
|
||||||
mapping: {
|
mapping: {
|
||||||
id: '$.email',
|
id: '$.email',
|
||||||
name: '$.name',
|
name: '$.name',
|
||||||
@@ -623,14 +588,11 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
backend: {
|
backend: {
|
||||||
SCVersion: JSON.parse((readFileSync(resolve('.', '.', 'package.json'), 'utf-8')).toString())
|
SCVersion: JSON.parse(readFileSync(resolve('.', '.', 'package.json'), 'utf-8').toString()).dependencies[
|
||||||
.dependencies['@openstapps/core'],
|
'@openstapps/core'
|
||||||
externalRequestTimeout: 5000,
|
|
||||||
hiddenTypes: [
|
|
||||||
SCThingType.DateSeries,
|
|
||||||
SCThingType.Diff,
|
|
||||||
SCThingType.Floor,
|
|
||||||
],
|
],
|
||||||
|
externalRequestTimeout: 5000,
|
||||||
|
hiddenTypes: [SCThingType.DateSeries, SCThingType.Diff, SCThingType.Floor],
|
||||||
mappingIgnoredTags: ['minlength', 'pattern', 'see', 'tjs-format'],
|
mappingIgnoredTags: ['minlength', 'pattern', 'see', 'tjs-format'],
|
||||||
maxMultiSearchRouteQueries: 5,
|
maxMultiSearchRouteQueries: 5,
|
||||||
maxRequestBodySize: 512 * 1024,
|
maxRequestBodySize: 512 * 1024,
|
||||||
@@ -659,20 +621,12 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'geo',
|
fieldName: 'geo',
|
||||||
onlyOnTypes: [
|
onlyOnTypes: [SCThingType.Building, SCThingType.PointOfInterest, SCThingType.Room],
|
||||||
SCThingType.Building,
|
|
||||||
SCThingType.PointOfInterest,
|
|
||||||
SCThingType.Room,
|
|
||||||
],
|
|
||||||
sortTypes: ['distance'],
|
sortTypes: ['distance'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'geo',
|
fieldName: 'geo',
|
||||||
onlyOnTypes: [
|
onlyOnTypes: [SCThingType.Building, SCThingType.PointOfInterest, SCThingType.Room],
|
||||||
SCThingType.Building,
|
|
||||||
SCThingType.PointOfInterest,
|
|
||||||
SCThingType.Room,
|
|
||||||
],
|
|
||||||
sortTypes: ['distance'],
|
sortTypes: ['distance'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -690,9 +644,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'offers',
|
fieldName: 'offers',
|
||||||
onlyOnTypes: [
|
onlyOnTypes: [SCThingType.Dish],
|
||||||
SCThingType.Dish,
|
|
||||||
],
|
|
||||||
sortTypes: ['price'],
|
sortTypes: ['price'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -725,31 +677,19 @@ const config: Partial<SCConfigFile> = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'academicTerms.acronym',
|
fieldName: 'academicTerms.acronym',
|
||||||
onlyOnTypes: [
|
onlyOnTypes: [SCThingType.AcademicEvent, SCThingType.SportCourse],
|
||||||
SCThingType.AcademicEvent,
|
|
||||||
SCThingType.SportCourse,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'academicTerm.acronym',
|
fieldName: 'academicTerm.acronym',
|
||||||
onlyOnTypes: [
|
onlyOnTypes: [SCThingType.Catalog],
|
||||||
SCThingType.Catalog,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'majors',
|
fieldName: 'majors',
|
||||||
onlyOnTypes: [
|
onlyOnTypes: [SCThingType.AcademicEvent],
|
||||||
SCThingType.AcademicEvent,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'keywords',
|
fieldName: 'keywords',
|
||||||
onlyOnTypes: [
|
onlyOnTypes: [SCThingType.Article, SCThingType.Book, SCThingType.Message, SCThingType.Video],
|
||||||
SCThingType.Article,
|
|
||||||
SCThingType.Book,
|
|
||||||
SCThingType.Message,
|
|
||||||
SCThingType.Video,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'type',
|
fieldName: 'type',
|
||||||
@@ -772,7 +712,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
{
|
{
|
||||||
factor: 1,
|
factor: 1,
|
||||||
fields: {
|
fields: {
|
||||||
'categories': {
|
categories: {
|
||||||
'course': 1.08,
|
'course': 1.08,
|
||||||
'integrated course': 1.08,
|
'integrated course': 1.08,
|
||||||
'introductory class': 1.05,
|
'introductory class': 1.05,
|
||||||
@@ -790,11 +730,11 @@ const config: Partial<SCConfigFile> = {
|
|||||||
{
|
{
|
||||||
factor: 1,
|
factor: 1,
|
||||||
fields: {
|
fields: {
|
||||||
'categories': {
|
categories: {
|
||||||
'cafe': 1.1,
|
cafe: 1.1,
|
||||||
'learn': 1.1,
|
learn: 1.1,
|
||||||
'library': 1.2,
|
library: 1.2,
|
||||||
'restaurant': 1.1,
|
restaurant: 1.1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
type: SCThingType.PointOfInterest,
|
type: SCThingType.PointOfInterest,
|
||||||
@@ -802,7 +742,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
{
|
{
|
||||||
factor: 1,
|
factor: 1,
|
||||||
fields: {
|
fields: {
|
||||||
'categories': {
|
categories: {
|
||||||
'main dish': 2,
|
'main dish': 2,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -813,7 +753,7 @@ const config: Partial<SCConfigFile> = {
|
|||||||
{
|
{
|
||||||
factor: 1,
|
factor: 1,
|
||||||
fields: {
|
fields: {
|
||||||
'categories': {
|
categories: {
|
||||||
'cafe': 2,
|
'cafe': 2,
|
||||||
'canteen': 2,
|
'canteen': 2,
|
||||||
'restaurant': 2,
|
'restaurant': 2,
|
||||||
|
|||||||
Reference in New Issue
Block a user