@import (reference) '../../design/index.less';

.ant-menu-submenu .ant-menu-sub {
  transition: background 0.1s cubic-bezier(0.645, 0.045, 0.355, 1) 0s,
    padding 0.1s cubic-bezier(0.645, 0.045, 0.355, 1) 0s !important;
}

.default-layout {
  &__content {
    position: relative;

    &.fixed {
      overflow: hidden;
    }
  }

  &__loading {
    position: absolute;
    z-index: @page-loading-z-index;
  }

  &__main {
    position: relative;
    height: 100%;
    // overflow: hidden;
    // overflow: auto;

    &.fixed {
      overflow: auto;
    }

    &.fixed.lock {
      overflow: hidden;
    }
  }

  .layout-content {
    position: relative;
    // height: 100%;

    &.fixed {
      width: 1200px;
      margin: 0 auto;
    }
  }

  .layout-menu {
    &__logo {
      height: @header-height;
      padding: 10px;

      img {
        width: @logo-width;
        height: @logo-width;
      }

      &.light {
        .logo-title {
          color: @text-color-base;
        }
      }

      &.dark {
        .logo-title {
          color: @white;
        }
      }
    }
  }

  .layout-sidebar {
    background-size: 100% 100%;

    .ant-layout-sider-zero-width-trigger {
      top: 40%;
      z-index: 10;
    }

    &__dargbar {
      position: absolute;
      top: 0;
      right: -2px;
      z-index: @sider-drag-z-index;
      width: 2px;
      height: 100%;
      cursor: col-resize;
      border-top: none;
      border-bottom: none;

      &.hide {
        display: none;
      }

      &:hover {
        background: @primary-color;
        box-shadow: 0 0 4px 0 rgba(28, 36, 56, 0.15);
      }
    }
  }

  .setting-button {
    top: 45%;
    right: 0;
    border-radius: 10px 0 0 10px;

    .svg {
      width: 2em;
    }
  }

  &__tabs {
    z-index: 10;
    height: @multiple-height;
    padding: 0;
    line-height: @multiple-height;
    background: @border-color-shallow-light;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.08);
  }
}

.setting-drawer {
  .ant-drawer-body {
    padding-top: 0;
    background: @white;
  }

  &__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  &__cell-item {
    display: flex;
    justify-content: space-between;
    margin: 16px 0;
  }

  &__theme-item {
    display: flex;
    flex-wrap: wrap;
    margin: 16px 0;

    span {
      display: inline-block;
      width: 20px;
      height: 20px;
      margin-top: 10px;
      margin-right: 10px;
      cursor: pointer;
      border-radius: 4px;

      svg {
        display: none;
      }

      &.active {
        svg {
          display: inline-block;
          margin-left: 4px;
          font-size: 0.8em;
          fill: @white;
        }
      }
    }
  }

  &__siderbar {
    display: flex;

    > div {
      position: relative;

      .check-icon {
        position: absolute;
        top: 40%;
        left: 40%;
        display: none;
        color: @primary-color;

        &.active {
          display: inline-block;
        }
      }
    }

    img {
      margin-right: 10px;
      cursor: pointer;
    }
  }
}

.layout-header {
  display: flex;
  height: @header-height;
  padding: 0 20px 0 0;
  color: @white;
  background: @white;
  align-items: center;
  justify-content: space-between;

  &__content {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  &__header--light {
    background: @white;
    border-bottom: 1px solid @header-light-bottom-border-color;

    .layout-header__menu {
      height: calc(@header-height - 1px);

      .ant-menu-submenu {
        height: @header-height;
        line-height: @header-height;
      }
    }

    .layout-header__logo {
      height: @header-height;
      color: @text-color-base;

      img {
        width: @logo-width;
        height: @logo-width;
        margin-right: 6px;
      }

      &:hover {
        background: @header-light-bg-hover-color;
      }
    }

    .layout-header__action {
      &-item {
        &:hover {
          background: @header-light-bg-hover-color;
        }
      }

      &-icon {
        color: @text-color-base;
      }
    }

    .layout-header__user-dropdown {
      &:hover {
        background: @header-light-bg-hover-color;
      }
    }

    .user-dropdown {
      &__name {
        color: @text-color-base;
      }

      &__desc {
        color: @header-light-desc-color;
      }
    }
  }

  &__header--dark {
    background: @header-dark-bg-color;

    .layout-header__action {
      &-item {
        &:hover {
          background: @header-dark-bg-hover-color;
        }
      }
    }

    .layout-header__logo {
      height: @header-height;

      img {
        width: @logo-width;
        height: @logo-width;
        margin-right: 10px;
      }

      &:hover {
        background: @header-dark-bg-hover-color;
      }
    }

    .layout-header__user-dropdown {
      &:hover {
        background: @header-dark-bg-hover-color;
      }
    }

    .breadcrumb {
      &__item:last-child .breadcrumb__inner,
      &__item:last-child &__inner a,
      &__item:last-child &__inner a:hover,
      &__item:last-child &__inner:hover {
        font-weight: 400;
        color: rgba(255, 255, 255, 0.6);
        cursor: text;
      }

      &__inner,
      &__separator {
        color: @white;
      }
    }
  }

  &-lm {
    display: flex;
  }

  &__logo {
    padding: 0 10px;
  }

  &__bread {
    flex: 1;
    display: none;
  }

  &__action {
    display: flex;
    align-items: center;

    &-item {
      display: flex;
      align-items: center;
      height: @header-height;
      font-size: 1.3em;
      cursor: pointer;
    }

    &-icon {
      padding: 0 12px;
    }
  }

  &__menu {
    display: flex;
    margin-left: 20px;
    overflow: hidden;
    align-items: center;
    flex-grow: 1;
  }

  &__user-dropdown {
    height: 52px;
    padding: 0 0 0 10px;
  }
}

.user-dropdown {
  display: flex;
  height: 100%;
  cursor: pointer;
  align-items: center;

  img {
    width: @logo-width;
    height: @logo-width;
    margin-right: 24px;
  }

  &__header {
    border-radius: 50%;
  }

  &__divider {
    width: 1px;
    height: 30px;
    margin-right: 20px;
    background: #c6d9ee;
  }

  &__exit {
    margin-top: -40px;
    font-size: 12px;
    color: #c6d9ee;
    text-align: center;

    > section {
      height: 20px;
    }
  }

  &__info {
    display: flex;
    margin-right: 12px;
    flex-direction: column;

    > section {
      line-height: 1.8;
    }
  }

  &__name {
    font-size: 14px;
  }

  &__desc {
    font-size: 12px;
    .text-truncate();
  }
}

.layout-breadcrumb {
  padding: 0 16px;
  flex-grow: 1;
}
