<template>
  <el-menu
    :default-active="appStore.getActiveMenu"
    background-color="var(--sider-menu-bg-color)"
    active-text-color="var(--sider-ment-active-text-color)"
    text-color="var(--sider-menu-text-color)"
    :collapse="!appStore.isExpand"
    :collapse-transition="false"
    :router="true"
    @select="selectMenu"
    :unique-opened="true"
  >
    <slot />
  </el-menu>
</template>
<script lang="ts" setup name="menus">
import { useAppStore } from '/admin/stores/modules/app'

const appStore = useAppStore()

const selectMenu = (index: string) => {
  if (index.startsWith('http') || index.startsWith('https')) {
    window.open(index)
  }
}
</script>

<style scoped lang="scss">
.el-menu {
  border-right: none;
}

:deep(.is-active) {
  background-color: var(--side-active-menu-bg-color) !important;
}

:deep(.el-sub-menu__title) {
  padding-left: calc(calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding)));

  color: var(--sider-menu-text-color);
}

:deep(.el-sub-menu) {
  color: var(--sider-sub-menu-bg-color);
}

:deep(.el-sub-menu__title:hover) {
  background-color: var(--sider-menu-bg-color);
}

:deep(.el-menu--popup .el-menu-item:hover) {
  background-color: var(--sider-menu-bg-color) !important;
}

:deep(.el-menu-item:hover) {
  background-color: var(--sider-sub-menu-hover-bg-color) !important;
  border-right: 3px solid;
  border-right-color: var(--el-color-primary);
}

:deep(.el-menu-item.is-active) {
  border-right: 3px solid;
  border-right-color: var(--el-color-primary);
}

:deep(.el-menu-item) {
  height: 50px !important;
}
</style>