|
|
@@ -12,7 +12,8 @@ nav(class="relative")
|
|
|
:class="getMenuItemClasses(item)"
|
|
|
:aria-expanded="openSubmenu === item.id"
|
|
|
)
|
|
|
- span {{ item.title }}
|
|
|
+ router-link(:to="item.path")
|
|
|
+ span {{ item.title }}
|
|
|
svg(
|
|
|
v-if="item.children"
|
|
|
class="w-4 h-4 ml-1 transition-transform duration-200"
|
|
|
@@ -41,7 +42,8 @@ nav(class="relative")
|
|
|
:class="{'rounded-lg': !child.children}"
|
|
|
@click="handleMenuClick(child)"
|
|
|
)
|
|
|
- span {{ child.title }}
|
|
|
+ router-link(:to="child.path")
|
|
|
+ span {{ child.title }}
|
|
|
svg(
|
|
|
v-if="child.children"
|
|
|
class="w-4 h-4 transition-transform duration-200"
|
|
|
@@ -62,7 +64,8 @@ nav(class="relative")
|
|
|
:key="subchild.id"
|
|
|
class="px-4 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer transition-colors duration-200"
|
|
|
@click="handleMenuClick(subchild)"
|
|
|
- ) {{ subchild.title }}
|
|
|
+ )
|
|
|
+ router-link(:to="subchild.path") {{ subchild.title }}
|
|
|
|
|
|
button(
|
|
|
class="md:hidden p-2 rounded-md text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"
|
|
|
@@ -74,14 +77,14 @@ nav(class="relative")
|
|
|
|
|
|
div(
|
|
|
v-if="isMobileMenuOpen"
|
|
|
- class="fixed inset-0 z-50 md:hidden"
|
|
|
+ class="fixed inset-0 z-50 md:hidden min-h-max"
|
|
|
)
|
|
|
div(
|
|
|
class="fixed inset-0 bg-black bg-opacity-50"
|
|
|
@click="closeMobileMenu"
|
|
|
)
|
|
|
div(
|
|
|
- class="fixed inset-y-0 left-0 w-64 bg-white dark:bg-gray-800 shadow-xl transform transition-transform duration-300 ease-in-out"
|
|
|
+ class="fixed inset-y-0 left-0 w-64 bg-white dark:bg-gray-800 shadow-xl transform transition-transform duration-300 ease-in-out" min-h-max
|
|
|
:class="{'translate-x-0': isMobileMenuOpen, '-translate-x-full': !isMobileMenuOpen}"
|
|
|
)
|
|
|
div(class="flex flex-col h-full")
|
|
|
@@ -95,8 +98,8 @@ nav(class="relative")
|
|
|
svg(class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24")
|
|
|
path(stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12")
|
|
|
|
|
|
- div(class="flex-1 overflow-y-auto")
|
|
|
- div(class="py-2")
|
|
|
+ div(class="flex-1 overflow-y-auto min-h-max")
|
|
|
+ div(class="py-2 min-h-max")
|
|
|
div(
|
|
|
v-for="item in menuItems"
|
|
|
:key="item.id"
|
|
|
@@ -106,7 +109,8 @@ nav(class="relative")
|
|
|
class="flex items-center justify-between px-4 py-3 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer transition-colors"
|
|
|
@click="toggleMobileSubmenu(item)"
|
|
|
)
|
|
|
- span(class="font-medium") {{ item.title }}
|
|
|
+ router-link(:to="item.path")
|
|
|
+ span(class="font-medium") {{ item.title }}
|
|
|
svg(
|
|
|
v-if="item.children"
|
|
|
class="w-4 h-4 transition-transform duration-200"
|
|
|
@@ -130,7 +134,8 @@ nav(class="relative")
|
|
|
class="flex items-center justify-between px-6 py-3 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer transition-colors"
|
|
|
@click="toggleMobileSubsubmenu(child)"
|
|
|
)
|
|
|
- span {{ child.title }}
|
|
|
+ router-link(:to="child.path")
|
|
|
+ span {{ child.title }}
|
|
|
svg(
|
|
|
v-if="child.children"
|
|
|
class="w-4 h-4 transition-transform duration-200"
|
|
|
@@ -150,4 +155,5 @@ nav(class="relative")
|
|
|
:key="subchild.id"
|
|
|
class="px-8 py-2 text-gray-500 dark:text-gray-500 hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer transition-colors"
|
|
|
@click="handleMobileMenuClick(subchild)"
|
|
|
- ) {{ subchild.title }}
|
|
|
+ )
|
|
|
+ router-link(:to="subchild.path") {{ subchild.title }}
|