From 696ee6c24abf5fa90bfbf661a41d63dfe6cc4e61 Mon Sep 17 00:00:00 2001
From: Thomas Hackl <hackl@data-quest.de>
Date: Tue, 2 May 2023 14:42:13 +0000
Subject: [PATCH] =?UTF-8?q?Resolve=20"Fehlermeldung=20TypeError:=20this.in?=
 =?UTF-8?q?itialNavigation=20is=20null=20auf=20Seiten,=20die=20sich=20nich?=
 =?UTF-8?q?t=20in=20die=20Navigation=20einh=C3=A4ngen"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #2435

Merge request studip/studip!1627
---
 resources/vue/components/responsive/NavigationItem.vue    | 6 +++---
 .../vue/components/responsive/ResponsiveContentBar.vue    | 4 ++--
 .../vue/components/responsive/ResponsiveNavigation.vue    | 8 +++++---
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/resources/vue/components/responsive/NavigationItem.vue b/resources/vue/components/responsive/NavigationItem.vue
index 32878dc3036..f98df571899 100644
--- a/resources/vue/components/responsive/NavigationItem.vue
+++ b/resources/vue/components/responsive/NavigationItem.vue
@@ -9,7 +9,7 @@
                     tabindex="0"
                 >
                     <span class="navigation-icon">
-                        <studip-icon v-if="isCourse" shape="seminar" role="info_alt" size="24" alt=""></studip-icon>
+                        <studip-icon v-if="isCourse" shape="seminar" role="info_alt" :size="24" alt=""></studip-icon>
                         <img v-if="item.icon" :src="iconUrl" width="24" alt="" />
                     </span>
                     <span class="navigation-text">
@@ -25,7 +25,7 @@
                 @keydown.prevent.enter="moveTo(item.path)"
                 @keydown.prevent.space="moveTo(item.path)"
             >
-                <studip-icon shape="arr_1right" role="info_alt" size="20" alt=""></studip-icon>
+                <studip-icon shape="arr_1right" role="info_alt" :size="20" alt=""></studip-icon>
             </button>
         </template>
         <div v-else class="navigation-title">
@@ -35,7 +35,7 @@
                 :title="navigateToText(item.title)"
                 :aria-label="navigateToText(item.title)"
             >
-                <studip-icon v-if="isCourse" shape="seminar" role="info_alt" size="24" alt=""></studip-icon>
+                <studip-icon v-if="isCourse" shape="seminar" role="info_alt" :size="24" alt=""></studip-icon>
                 <img v-if="item.icon" :src="iconUrl" width="24" alt="" />
                 {{ item.title }}
             </a>
diff --git a/resources/vue/components/responsive/ResponsiveContentBar.vue b/resources/vue/components/responsive/ResponsiveContentBar.vue
index 0622bf64e9b..b40bdd8bb40 100644
--- a/resources/vue/components/responsive/ResponsiveContentBar.vue
+++ b/resources/vue/components/responsive/ResponsiveContentBar.vue
@@ -8,12 +8,12 @@
                 <div v-if="hasSidebar" class="contentbar-nav" ref="leftNav">
                     <button :class="sidebarIconClasses" @click.prevent="toggleSidebar" id="toggle-sidebar"
                             :title="$gettext('Sidebar öffnen')">
-                        <studip-icon shape="sidebar3" size="24" ref="sidebarIcon"
+                        <studip-icon shape="sidebar3" :size="24" ref="sidebarIcon"
                                      alt=""></studip-icon>
                     </button>
                 </div>
                 <div class="contentbar-wrapper-left">
-                    <studip-icon :shape="icon" size="24" role="info" class="text-bottom contentbar-icon"></studip-icon>
+                    <studip-icon :shape="icon" :size="24" role="info" class="text-bottom contentbar-icon"></studip-icon>
                     <nav class="contentbar-breadcrumb" ref="breadcrumbs">
                         <span>{{ title }}</span>
                     </nav>
diff --git a/resources/vue/components/responsive/ResponsiveNavigation.vue b/resources/vue/components/responsive/ResponsiveNavigation.vue
index 81b6a4da352..4151884b290 100644
--- a/resources/vue/components/responsive/ResponsiveNavigation.vue
+++ b/resources/vue/components/responsive/ResponsiveNavigation.vue
@@ -150,7 +150,8 @@ export default {
             iconSize: 28,
             showMenu: false,
             activeItem: this.navigation.activated.at(-1) ?? 'start',
-            currentNavigation: this.findItem(this.navigation.activated.at(0) ?? 'start', studipNavigation),
+            currentNavigation: this.findItem(this.navigation.activated.at(0) ?? 'start', studipNavigation)
+                ?? this.studipNavigation,
             initialNavigation: {},
             initialTitle: '',
             isAdmin: ['root','admin'].includes(this.me.perm),
@@ -259,7 +260,7 @@ export default {
                             return found;
 
                         }
-                        // No children left to search through, we are doomed.
+                    // No children left to search through, we are doomed.
                     } else {
                         return null;
                     }
@@ -345,7 +346,8 @@ export default {
          */
         moveTo(path) {
             this.avatarMenuOpen = false;
-            this.currentNavigation = this.findItem(path ? path : '/', this.studipNavigation);
+            this.currentNavigation =
+                this.findItem(path ? path : '/', this.studipNavigation) ?? this.studipNavigation;
             this.$nextTick(() => {
                 const current = document.querySelector('.navigation-current')
                     ? document.querySelector('.navigation-current .navigation-title button')
-- 
GitLab