Commit 9e5cc4e5 authored by Curtis Adam's avatar Curtis Adam

Move some navigation elements into dropdown menus

parent d8ece720
This diff is collapsed.
......@@ -148,39 +148,73 @@
"navbar_background": $thm_gray,
"navbar_text": white,
"navbar_text_hover": $button_text_hover,
"navbar_alldecks_background": $thm_gray,
"navbar_alldecks_background_hover": $button_background_hover,
"navbar_alldecks_background_active": $thm_orange,
"navbar_alldecks_text": white,
"navbar_alldecks_text_hover": $button_text_hover,
"navbar_alldecks_text_active": white,
"navbar_alldecks_border": $thm_orange,
"navbar_alldecks_border_hover": $button_background_hover,
"navbar_alldecks_border_active": $thm_orange,
"navbar_create_background": $thm_gray,
"navbar_create_background_hover": $button_background_hover,
"navbar_create_background_active": $thm_green,
"navbar_create_text": white,
"navbar_create_text_hover": $button_text_hover,
"navbar_create_text_active": white,
"navbar_repetitorium_background": $thm_gray,
"navbar_repetitorium_background_hover": $button_background_hover,
"navbar_repetitorium_background_active": $thm_green,
"navbar_repetitorium_text": white,
"navbar_repetitorium_text_hover": $button_text_hover,
"navbar_repetitorium_text_active": white,
//navbar all
"navbar_all_background": $thm_gray,
"navbar_all_background_hover": $button_background_hover,
"navbar_all_background_active": $thm_orange,
"navbar_all_text": white,
"navbar_all_text_hover": $button_text_hover,
"navbar_all_text_active": white,
"navbar_all_border": $thm_orange,
"navbar_all_border_hover": $button_background_hover,
"navbar_all_border_active": $thm_orange,
"navbar_all_cardsets_background": $thm_gray,
"navbar_all_cardsets_background_hover": $button_background_hover,
"navbar_all_cardsets_background_active": $thm_orange,
"navbar_all_cardsets_text": white,
"navbar_all_cardsets_text_hover": $button_text_hover,
"navbar_all_cardsets_text_active": white,
"navbar_all_repetitorien_background": $thm_gray,
"navbar_all_repetitorien_background_hover": $button_background_hover,
"navbar_all_repetitorien_background_active": $thm_orange,
"navbar_all_repetitorien_text": white,
"navbar_all_repetitorien_text_hover": $button_text_hover,
"navbar_all_repetitorien_text_active": white,
//navbar personal
"navbar_personal_background": $thm_gray,
"navbar_personal_background_hover": $button_background_hover,
"navbar_personal_background_active": $thm_green,
"navbar_personal_text": white,
"navbar_personal_text_hover": $button_text_hover,
"navbar_personal_text_active": white,
"navbar_personal_cardsets_background": $thm_gray,
"navbar_personal_cardsets_background_hover": $button_background_hover,
"navbar_personal_cardsets_background_active": $thm_green,
"navbar_personal_cardsets_text": white,
"navbar_personal_cardsets_text_hover": $button_text_hover,
"navbar_personal_cardsets_text_active": white,
"navbar_personal_repetitorien_background": $thm_gray,
"navbar_personal_repetitorien_background_hover": $button_background_hover,
"navbar_personal_repetitorien_background_active": $thm_green,
"navbar_personal_repetitorien_text": white,
"navbar_personal_repetitorien_text_hover": $button_text_hover,
"navbar_personal_repetitorien_text_active": white,
//navbar public
"navbar_public_background": $thm_gray,
"navbar_public_background_hover": $button_background_hover,
"navbar_public_background_active": $thm_green,
"navbar_public_text": white,
"navbar_public_text_hover": $button_text_hover,
"navbar_public_text_active": white,
"navbar_public_cardsets_background": $thm_gray,
"navbar_public_cardsets_background_hover": $button_background_hover,
"navbar_public_cardsets_background_active": $thm_green,
"navbar_public_cardsets_text": white,
"navbar_public_cardsets_text_hover": $button_text_hover,
"navbar_public_cardsets_text_active": white,
"navbar_public_repetitorien_background": $thm_gray,
"navbar_public_repetitorien_background_hover": $button_background_hover,
"navbar_public_repetitorien_background_active": $thm_green,
"navbar_public_repetitorien_text": white,
"navbar_public_repetitorien_text_hover": $button_text_hover,
"navbar_public_repetitorien_text_active": white,
"navbar_learn_background": $thm_gray,
"navbar_learn_background_hover": $button_background_hover,
"navbar_learn_background_active": $thm_green,
"navbar_learn_text": white,
"navbar_learn_text_hover": $button_text_hover,
"navbar_learn_text_active": white,
"navbar_pool_background": $thm_gray,
"navbar_pool_background_hover": $button_background_hover,
"navbar_pool_background_active": $thm_green,
"navbar_pool_text": white,
"navbar_pool_text_hover": $button_text_hover,
"navbar_pool_text_active": white,
"navbar_search_placeholder": $thm_gray,
"navbar_search_button_background": white,
"navbar_search_button_icon": $button_background_hover,
......
......@@ -277,21 +277,51 @@
}
},
"navbar-collapse": {
"noCarddecks": "Kartei anlegen",
"oneCarddeck": "Meine Kartei",
"carddecks": "Meine Karteien",
"all": {
"all": "Alle…",
"cardsets": "Alle Karteien",
"repetitorien": "Alle Repetitorien"
},
"public": {
"public": "Öffentlich",
"cardsets": "Öffentliche Karteien",
"repetitorien": "Öffentliche Repetitorien"
},
"personal": {
"personal": {
"zero": "Anlegen",
"one": "Mein…",
"multiple": "Meine…"
},
"cardsets": {
"zero": "Kartei anlegen",
"one": "Meine Kartei",
"multiple": "Meine Karteien"
},
"repetitorien": {
"zero": "Repetitorium anlegen",
"one": "Mein Repetitorium",
"multiple": "Meine Repetitorien"
}
},
"learndecks": "Lernpensum",
"alldecks": "Alle Karteien",
"pool": "Karteien",
"course": "Repetitorien",
"myprofile": "Konto",
"billing": "Abrechnung",
"membership": "Mitgliedschaft",
"search": {
"all": "Suche nach Karteien oder Repetitorien…",
"cardset": "Suche nach Karteien…",
"repetitorium": "Suche nach Repetitorien…",
"myCardsets": "Suche nach eigenen Karteien…"
"workload": "Suche nach Karteien oder Repetitorien…",
"all": {
"cardsets": "Suche nach allen Karteien…",
"repetitorien": "Suche nach allen Repetitorien…"
},
"public": {
"cardsets": "Suche nach öffentlichen Karteien…",
"repetitorien": "Suche nach öffentlichen Repetitorien…"
},
"personal": {
"cardsets": "Suche nach eigenen Karteien…",
"repetitorien": "Suche nach egeinen Repetitorien…"
}
},
"frontend": "Frontend",
"backend": "Backend",
......@@ -555,16 +585,22 @@
},
"noName": "",
"description": {
"create": "Ich will eine Kartei anlegen – eine Kartenbox.",
"myCardIndex": "Ich will Karten schreiben.",
"personal": {
"create": "Ich will eine Kartei anlegen – eine Kartenbox.",
"cardsets": "Ich will Karten schreiben.",
"repetitorien": "Ich will Reps verwalten."
},
"pool": "Ich suche Karteien zu einem Thema.",
"repetitorium": "Ich suche ein Rep zur Klausurvorbereitung.",
"workload": "Ich will Karten lernen."
},
"button": {
"cancel": "Danke, ich kenne mich aus.",
"create": "Ruf das Kartei-Formular auf!",
"myCardIndex": "Bring mich zu meinen Karteien!",
"personal": {
"create": "Ruf das Kartei-Formular auf!",
"cardsets": "Bring mich zu meinen Karteien!",
"repetitorien": "Bring mich zu meinen Repetitorien!"
},
"pool": "Bring mich zur Karteien-Suche!",
"repetitorium": "Bring mich zur Repetitorien-Suche!",
"workload": "Zeig mir, was heute zu lernen ist!"
......
......@@ -278,21 +278,51 @@
}
},
"navbar-collapse": {
"noCarddecks": "Kartei anlegen",
"oneCarddeck": "Meine Kartei",
"carddecks": "Meine Karteien",
"all": {
"all": "Alle…",
"cardsets": "Alle Karteien",
"repetitorien": "Alle Repetitorien"
},
"public": {
"public": "Öffentlich",
"cardsets": "Öffentliche Karteien",
"repetitorien": "Öffentliche Repetitorien"
},
"personal": {
"personal": {
"zero": "Anlegen",
"one": "Mein…",
"multiple": "Meine…"
},
"cardsets": {
"zero": "Kartei anlegen",
"one": "Meine Kartei",
"multiple": "Meine Karteien"
},
"repetitorien": {
"zero": "Repetitorium anlegen",
"one": "Mein Repetitorium",
"multiple": "Meine Repetitorien"
}
},
"learndecks": "Lernpensum",
"alldecks": "Alle Karteien",
"pool": "Karteien",
"course": "Repetitorien",
"myprofile": "Konto",
"billing": "Abrechnung",
"membership": "Mitgliedschaft",
"search": {
"all": "Suche nach Karteien oder Repetitorien…",
"cardset": "Suche nach Karteien…",
"repetitorium": "Suche nach Repetitorien…",
"myCardsets": "Suche nach eigenen Karteien…"
"workload": "Suche nach Karteien oder Repetitorien…",
"all": {
"cardsets": "Suche nach allen Karteien…",
"repetitorien": "Suche nach allen Repetitorien…"
},
"public": {
"cardsets": "Suche nach öffentlichen Karteien…",
"repetitorien": "Suche nach öffentlichen Repetitorien…"
},
"personal": {
"cardsets": "Suche nach eigenen Karteien…",
"repetitorien": "Suche nach egeinen Repetitorien…"
}
},
"frontend": "Frontend",
"backend": "Backend",
......@@ -556,16 +586,22 @@
},
"noName": "User",
"description": {
"create": "I want to create a card index with cards of the type:",
"myCardIndex": "I want to see all my card indexes.",
"personal": {
"create": "I want to create a card index with cards of the type:",
"cardsets": "I want to see all my card indexes.",
"repetitorien": "Ich will Reps verwalten."
},
"pool": "I want to find a card index on a specific topic.",
"repetitorium": "I want to find a Repetitorium (= collection of card indexes) on a specific topic.",
"workload": "I want to see my learning workload."
},
"button": {
"cancel": "Thanks, I know my way around",
"create": "Go",
"myCardIndex": "Go",
"personal": {
"create": "Go",
"cardsets": "Go",
"repetitorien": "Go"
},
"pool": "Go",
"repetitorium": "Go",
"workload": "Go"
......
......@@ -15,7 +15,7 @@ export let BertAlertVisuals = class BertAlertVisuals {
}
static setBertAlertMargin () {
let mainContent = $('.row');
let mainContent = $('#main');
let bertAlert = $('.bert-alert');
let offsetTop = mainContent.offset().top + 10;
let offsetLeft = 0;
......
......@@ -42,6 +42,11 @@ if (Meteor.isServer) {
return Cardsets.find({shuffled: false});
}
});
Meteor.publish("allRepetitorien", function () {
if (this.userId && UserPermissions.isAdmin()) {
return Cardsets.find({shuffled: true});
}
});
Meteor.publish("workloadCardsets", function () {
if (this.userId && UserPermissions.isNotBlockedOrFirstLogin()) {
let workload = Workload.find({user_id: this.userId}, {fields: {cardset_id: 1}}).fetch();
......@@ -78,6 +83,11 @@ if (Meteor.isServer) {
return Cardsets.find({owner: this.userId, shuffled: false});
}
});
Meteor.publish("personalRepetitorien", function () {
if (this.userId && UserPermissions.isNotBlockedOrFirstLogin()) {
return Cardsets.find({owner: this.userId, shuffled: true});
}
});
Meteor.publish("poolCardsets", function () {
if (this.userId && UserPermissions.isNotBlockedOrFirstLogin()) {
return Cardsets.find({kind: {$in: ['free', 'edu', 'pro']}, shuffled: false});
......@@ -271,31 +281,40 @@ Meteor.methods({
throw new Meteor.Error("not-authorized");
} else if (searchValue !== undefined && searchValue !== null && searchValue.length > 2) {
let query = {};
if (UserPermissions.isAdmin()) {
query.name = {$regex: searchValue, $options: "i"};
query.kind = {$nin: ['demo', 'server']};
} else {
query = {
name: {$regex: searchValue, $options: "i"},
$or: [
{owner: Meteor.userId()},
{kind: {$nin: ['demo', 'server', 'personal']}}
]
};
}
if (filterType > 0) {
if (filterType === 1) {
query.name = {$regex: searchValue, $options: "i"};
switch (filterType) {
case 0:
if (UserPermissions.isAdmin()) {
query.kind = {$nin: ['demo', 'server']};
} else {
query.kind = {$nin: ['demo', 'server', 'personal']};
}
query.shuffled = false;
query.$or = undefined;
break;
case 1:
query.kind = {$nin: ['demo', 'server', 'personal']};
query.shuffled = false;
break;
case 2:
query.kind = {$nin: ['demo', 'server', 'personal']};
} else if (filterType === 2) {
query.shuffled = true;
} else {
query.$or = undefined;
break;
case 3:
query.owner = Meteor.userId();
query.kind = {$nin: ['demo', 'server']};
}
query.shuffled = false;
break;
case 4:
if (UserPermissions.isAdmin()) {
query.kind = {$nin: ['demo', 'server']};
} else {
query.kind = {$nin: ['demo', 'server', 'personal']};
}
query.shuffled = true;
break;
case 5:
query.owner = Meteor.userId();
query.shuffled = true;
break;
}
let results = Cardsets.find(query, {fields: {_id: 1}}).fetch();
let filter = [];
......
......@@ -13,6 +13,8 @@ Session.setDefault('courseIterationFilter', undefined);
Session.setDefault('repetitoriumFilter', undefined);
Session.setDefault('workloadFilter', undefined);
Session.setDefault('allCardsetsFilter', undefined);
Session.setDefault('allRepetitorienFilter', undefined);
Session.setDefault('personalRepetitorienFilter', undefined);
Session.setDefault('shuffleFilter', undefined);
let personalKindTag = "personal";
let eduKindTag = "edu";
......@@ -58,6 +60,16 @@ export let Filter = class Filter {
this.setDefaultFilter(FilterNavigation.getRouteId());
}
return Session.get('shuffleFilter');
case 6:
if (Session.get('allRepetitorienFilter') === undefined) {
this.setDefaultFilter(FilterNavigation.getRouteId());
}
return Session.get('allRepetitorienFilter');
case 7:
if (Session.get('personalRepetitorienFilter') === undefined) {
this.setDefaultFilter(FilterNavigation.getRouteId());
}
return Session.get('personalRepetitorienFilter');
}
}
......@@ -123,6 +135,12 @@ export let Filter = class Filter {
case 5:
Session.set('shuffleFilter', filter);
break;
case 6:
Session.set('allRepetitorienFilter', filter);
break;
case 7:
Session.set('personalRepetitorienFilter', filter);
break;
}
this.resetInfiniteBar();
if (FilterNavigation.isDisplayWordcloudActive(FilterNavigation.getRouteId())) {
......@@ -197,7 +215,7 @@ export let Filter = class Filter {
filter.date = -1;
}
if (!Route.isWorkload()) {
filter.shuffled = Route.isRepetitorium();
filter.shuffled = Route.isRepetitorienFilterIndex();
}
if (returnDefault) {
return filter;
......@@ -348,5 +366,7 @@ export let Filter = class Filter {
Session.set('workloadFilter', undefined);
Session.set('allCardsetsFilter', undefined);
Session.set('shuffleFilter', undefined);
Session.set('allRepetitorienFilter', undefined);
Session.set('personalRepetitorienFilter', undefined);
}
};
......@@ -115,6 +115,12 @@ export let FilterNavigation = class FilterNavigation {
if (Route.isShuffle() || Route.isEditShuffle()) {
return 5;
}
if (Route.isAllRepetitorien()) {
return 6;
}
if (Route.isPersonalRepetitorien()) {
return 7;
}
}
static getFilterButton () {
......
......@@ -23,6 +23,8 @@ export let Icons = class Icons {
return config.useCasesIcons.create;
case "myCardsets":
return config.useCasesIcons.myCardsets;
case "myRepositories":
return config.useCasesIcons.myRepositories;
}
}
......
......@@ -148,8 +148,32 @@ export let Route = class Route {
return Router.current().route.getName() === "pool";
}
static isPublic () {
return this.isRepetitorium() || this.isPool();
}
static isPersonal () {
return this.isMyCardsets() || this.isPersonalRepetitorien();
}
static isPersonalRepetitorien () {
return Router.current().route.getName() === "personalRepetitorien";
}
static isAll () {
return this.isAllCardsets() || this.isAllRepetitorien();
}
static isAllRepetitorien () {
return Router.current().route.getName() === "allRepetitorien";
}
static isRepetitorienFilterIndex () {
return (this.isAllRepetitorien() || this.isPersonalRepetitorien() || this.isRepetitorium());
}
static isFilterIndex () {
return (this.isHome() || this.isPool() || this.isMyCardsets() || this.isRepetitorium() || this.isAllCardsets() || this.isWorkload());
return (this.isHome() || this.isPool() || this.isMyCardsets() || this.isRepetitorium() || this.isAllCardsets() || this.isWorkload() || this.isAllRepetitorien() || this.isPersonalRepetitorien());
}
static isFirstTimeVisit () {
......@@ -174,6 +198,42 @@ export let Route = class Route {
return conf.impressumRoutes.includes(Router.current().route.getName());
}
//0 Personal
//1 cardsets
//2 repetitorien
static getPersonalRouteName (type = 0) {
if (Meteor.user() && Meteor.user().count !== undefined) {
if (type === 0) {
switch (Meteor.user().count.cardsets + Meteor.user().count.shuffled) {
case 0:
return TAPi18n.__('navbar-collapse.personal.personal.zero');
case 1:
return TAPi18n.__('navbar-collapse.personal.personal.one');
default:
return TAPi18n.__('navbar-collapse.personal.personal.multiple');
}
} else if (type === 1) {
switch (Meteor.user().count.cardsets) {
case 0:
return TAPi18n.__('navbar-collapse.personal.cardsets.zero');
case 1:
return TAPi18n.__('navbar-collapse.personal.cardsets.one');
default:
return TAPi18n.__('navbar-collapse.personal.cardsets.multiple');
}
} else {
switch (Meteor.user().count.shuffled) {
case 0:
return TAPi18n.__('navbar-collapse.personal.repetitorien.zero');
case 1:
return TAPi18n.__('navbar-collapse.personal.repetitorien.one');
default:
return TAPi18n.__('navbar-collapse.personal.repetitorien.multiple');
}
}
}
}
static getNavigationName (name) {
switch (name) {
case "about":
......@@ -197,28 +257,32 @@ export let Route = class Route {
return icons.topNavigation.workload + TAPi18n.__('navbar-collapse.learndecks');
case "learning":
return icons.footerNavigation.learning + TAPi18n.__('contact.learning');
case "create":
case "myCardsets":
if (Meteor.user() && Meteor.user().count !== undefined) {
switch (Meteor.user().count.cardsets) {
case 0:
return icons.topNavigation.myCardsets + TAPi18n.__('navbar-collapse.noCarddecks');
case 1:
return icons.topNavigation.myCardsets + TAPi18n.__('navbar-collapse.oneCarddeck');
default:
return icons.topNavigation.myCardsets + TAPi18n.__('navbar-collapse.carddecks');
}
}
break;
case "all":
return icons.topNavigation.all.all + TAPi18n.__('navbar-collapse.all.all') + "<span class='caret'></span>";
case "allCardsets":
case "alldecks":
return icons.topNavigation.alldecks + "<span class='hidden-on-iPad'>" + TAPi18n.__('navbar-collapse.alldecks') + "</span>";
return icons.topNavigation.all.cardsets + TAPi18n.__('navbar-collapse.all.cardsets');
case "allRepetitorien":
return icons.topNavigation.all.repetitorien + TAPi18n.__('navbar-collapse.all.repetitorien');
case "public":
return icons.topNavigation.public.public + TAPi18n.__('navbar-collapse.public.public') + "<span class='caret'></span>";
case "publicCardsets":
case "home":
case "pool":
return icons.topNavigation.public.cardsets + TAPi18n.__('navbar-collapse.public.cardsets');
case "publicRepetitorien":
case "repetitorium":
return icons.topNavigation.repetitorium + TAPi18n.__('navbar-collapse.course');
return icons.topNavigation.public.repetitorien + TAPi18n.__('navbar-collapse.public.repetitorien');
case "personal":
return icons.topNavigation.personal.personal + this.getPersonalRouteName(0) + "<span class='caret'></span>";
case "personalCardsets":
case "myCardsets":
case "create":
return icons.topNavigation.personal.cardsets + this.getPersonalRouteName(1);
case "personalRepetitorien":
return icons.topNavigation.personal.repetitorien + this.getPersonalRouteName(2);
case "workload":
return icons.topNavigation.workload + TAPi18n.__('navbar-collapse.learndecks');
case "pool":
case "home":
return icons.topNavigation.pool + TAPi18n.__('navbar-collapse.pool');
case "backend":
return icons.topNavigation.backend + "<span class='hidden-on-iPad'>" + TAPi18n.__('navbar-collapse.backend') + "</span>";
case "profile":
......
......@@ -92,7 +92,7 @@ if (Meteor.isServer) {
'profile.title': 1,
'profile.locale': 1,
'count.cardsets': 1,
'count.shuffle': 1,
'count.shuffled': 1,
'count.workload': 1,
'email': 1,
'services': 1,
......@@ -126,7 +126,7 @@ if (Meteor.isServer) {
'profile.title': 1,
'profile.locale': 1,
'count.cardsets': 1,
'count.shuffle': 1,
'count.shuffled': 1,
'count.workload': 1,
'email': 1,
'services': 1,
......
......@@ -10,10 +10,12 @@ let itemIncrementValue = 20;
//3: Lernpensum / Learning
//4: Alle Karteien / All Cardsets
//5: Kartei mischen / Shuffle
let filtersWithResetButton = [0, 1, 2, 3, 4, 5];
let filtersWithDisplayModeButton = [0, 2, 4];
let filtersWithSortButton = [0, 1, 2, 3, 4, 5];
let filtersWithDefaultSortName = [0, 2, 3, 5];
//6: Alle repetitorien / All repetitorien
//7: Meine repetitorien / Personal repetitorien
let filtersWithResetButton = [0, 1, 2, 3, 4, 5, 6, 7];
let filtersWithDisplayModeButton = [0, 2, 4, 6, 7];
let filtersWithSortButton = [0, 1, 2, 3, 4, 5, 6, 7];
let filtersWithDefaultSortName = [0, 2, 3, 5, 6, 7];
let filtersWithDefaultSortDateUpdated = [4];
let filtersWithDefaultSortDateCreated = [1];
let filtersWithAuthor = [0, 2, 3, 4, 5];
......@@ -24,13 +26,13 @@ let filtersWithSemester = [];
let filtersWithCollege = [];
let filtersWithCourse = [];
let filtersWithModule = [];
let filtersWithBonus = [0, 2, 3, 4, 5];
let filtersWithWordcloud = [0, 1, 2, 4, 5];
let filtersWithKind = [0, 1, 2, 3, 4, 5];
let filtersWithPersonalKind = [1, 2, 3, 4, 5];
let filtersWithFreeKind = [0, 1, 2, 3, 4, 5];
let filtersWithEduKind = [0, 1, 2, 3, 4, 5];
let filtersWithProKind = [0, 1, 2, 3, 4, 5];
let filtersWithBonus = [0, 2, 3, 4, 5, 6, 7];
let filtersWithWordcloud = [0, 1, 2, 4, 5, 6, 7];
let filtersWithKind = [0, 1, 2, 3, 4, 5, 6, 7];
let filtersWithPersonalKind = [1, 3, 4, 5, 6, 7];
let filtersWithFreeKind = [0, 1, 2, 3, 4, 5, 6, 7];
let filtersWithEduKind = [0, 1, 2, 3, 4, 5, 6, 7];
let filtersWithProKind = [0, 1, 2, 3, 4, 5, 6, 7];
module.exports = {
itemStartingValue,
......
let footerNavigation = {
agb: "<i class='fa fa-legal'></i>&nbsp;",
backToHome: "<i class='fa fa-home'></i>&nbsp;",
datenschutz: "<i class='fa fa-lock'></i>&nbsp;",
demo: "<i class='fa fa-tv'></i>&nbsp;",
faq: "<i class='fa fa-question-circle'></i>&nbsp;",
help: "<i class='fa fa-medkit'></i>&nbsp;",
impressum: "<i class='fa fa-legal'></i>&nbsp;",
learning: "<i class='fa fa-graduation-cap'></i>&nbsp;",
statistics: "<i class='fa fa-folder-open'></i>&nbsp;"
"agb": "<i class='fa fa-legal'></i>&nbsp;",
"backToHome": "<i class='fa fa-home'></i>&nbsp;",
"datenschutz": "<i class='fa fa-lock'></i>&nbsp;",
"demo": "<i class='fa fa-tv'></i>&nbsp;",
"faq": "<i class='fa fa-question-circle'></i>&nbsp;",
"help": "<i class='fa fa-medkit'></i>&nbsp;",
"impressum": "<i class='fa fa-legal'></i>&nbsp;",
"learning": "<i class='fa fa-graduation-cap'></i>&nbsp;",
"statistics": "<i class='fa fa-folder-open'></i>&nbsp;"
};
let landingPageNavigation = {
mobileInfo: "<i class='glyphicon glyphicon-info-sign'></i>",
wordcloud: "<i class='fa fa-archive'></i>"
"mobileInfo": "<i class='glyphicon glyphicon-info-sign'></i>",
"wordcloud": "<i class='fa fa-archive'></i>"
};
//Only used for the active route display on mobile. Will be carried over to desktop after the main template got refactored.
let topNavigation = {
alldecks: "<i class='fa fa-archive'></i>&nbsp;<span class='hidden-sm'><i class='fa fa-ellipsis-h'></i>&nbsp;</span>",
repetitorium: "<i class='fa fa-archive'></i>&nbsp;<i class='fa fa-ellipsis-h'></i>&nbsp;",
workload: "<i class='fa fa-graduation-cap'></i>&nbsp;",
myCardsets: "<i class='fa fa-archive'></i>&nbsp;",
pool: "<i class='fa fa-archive'></i>&nbsp;",
profile: "<i class='fa fa-user'></i>&nbsp;",
profileOverview: "<i class='fa fa-trophy'></i>&nbsp;",
profileBilling: "<i class='fa fa-credit-card'></i>&nbsp;",
profileMembership: "<i class='fa fa-users'></i>&nbsp;",
profileNotifications: "<i class='fa fa-bell'></i>&nbsp;",
profileSettings: "<i class='fa fa-user'></i>&nbsp;",
profileRequests: "<i class='fa fa-check'></i>&nbsp;",
backend: "<i class='fa fa-server'></i>&nbsp;",
useCases: "<i class='fa fa-map-signs'></i>"
"workload": "<i class='fa fa-graduation-cap'></i>&nbsp;",