<template>
  <ul class="nav nav-tabs">
    <li
      role="presentation"
      :class="{ active: $route.name === 'home' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link
        to="/"
        exact
      >
        <span class="text-2xl">Home</span>
      </router-link>
    </li>
    <li
      role="presentation"
      :class="{ active: $route.name === 'about' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link to="/about">
        <span class="text-2xl">About</span>
      </router-link>
    </li>
    <!--<li role="presentation" v-bind:class="{ active: $route.name === 'condensates' }">-->
    <!--<router-link to="/condensates">-->
    <!--Condensates-->
    <!--</router-link>-->
    <!--</li>-->
    <!--<li role="presentation" v-bind:class="{ active: $route.name === 'browse' }">-->
    <!--<router-link to="/browse">-->
    <!--Browse-->
    <!--</router-link>-->
    <!--</li>-->
    <li
      role="proteins"
      :class="{ active: $route.name === 'proteins' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link to="/proteins">
        <span class="text-2xl">Proteins</span>
      </router-link>
    </li>

    <li
      role="presentation"
      :class="{
        active:
          $route.name === 'condensates' ||
          $route.name === 'biomolecular' ||
          $route.name === 'synthetic'  ||
          $route.name === 'addCondensate',
      }"
      class="nav-item dropdown relative"
      @mouseover="openCondensateMenu"
    >
      <router-link to="/condensates">
        <span class="text-2xl">Condensates</span>
      </router-link>
      <div
        v-if="openCondensateSubMenu"
        class="
          absolute
          z-50
          bg-white
          border
          rounded-b-lg
          border-gray-300
          divide-y
        "
        @mouseleave="openCondensateSubMenu = false"
      >
        <ul>
          <li role="presentation">
            <router-link
              to="/biomolecular"
              class="hover:no-underline dropdown-item h-16 pt-4"
            >
              <span class="text-2xl"> Biomolecular Condensates</span>
            </router-link>
          </li>
          <li role="presentation">
            <router-link
              to="/synthetic"
              class="dropdown-item hover:no-underline h-16 pt-4"
            >
              <span class="text-2xl">Synthetic Condensates</span>
            </router-link>
          </li>
          <li role="presentation" v-if="
                    userRole !== null &&
                      (userRole === 'Maintainer' ||
                      userRole === 'Contributor')
                  ">
            <router-link
              to="/addCondensate"
              class="dropdown-item hover:no-underline h-16 pt-4"
            >
              <span class="text-2xl">Add New Condensate</span>
            </router-link>
          </li>
        </ul>
      </div>
    </li>
    <li
      role="presentation"
      :class="{ active: $route.name === 'statistics' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link to="/statistics">
        <span class="text-2xl">Statistics</span>
      </router-link>
    </li>
    <li
      role="presentation"
      @mouseover="openCondensateSubMenu = false"
    >
      <a href="https://wiki.cd-code.org">
        <span class="text-2xl">Encyclopedia</span>
      </a>
    </li>
    <li
      v-show="
        userData !== null &&
          (userRole === 'Contributor' || userRole === 'Maintainer')
      "
      role="presentation"
      :class="{ active: $route.name === 'updateItems' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link to="/updateItems">
        {{
          userRole === "Maintainer"
            ? "All Submitted Changes"
            : "My Submitted Changes"
        }}
      </router-link>
    </li>
    <li
      role="presentation"
      :class="{ active: $route.name === 'help' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link to="/help">
        <span class="text-2xl">Help</span>
      </router-link>
    </li>
    <!--    <li-->
    <!--      role="presentation"-->
    <!--      :class="{ active: $route.name === 'test' }"-->
    <!--      @mouseover="openCondensateSubMenu = false"-->
    <!--    >-->
    <!--      <router-link to="/test/P62750">-->
    <!--        <span class="text-2xl">Test</span>-->
    <!--      </router-link>-->
    <!--    </li>-->
    <li
      v-show="userData !== null"
      role="presentation"
      :class="{ active: $route.name === 'profile' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link to="/profile">
        <span class="text-2xl">Profile</span>
      </router-link>
    </li>
    <li
      v-if="userData !== null"
      role="presentation"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link
        to="/login"
        @click.native="signOut"
      >
        <span class="fa fa-sign-out" />
      </router-link>
    </li>
    <li
      v-if="userData === null"
      role="presentation"
      :class="{ active: $route.name === 'login' }"
      @mouseover="openCondensateSubMenu = false"
    >
      <router-link to="/login">
        <span class="text-2xl">Login</span>
      </router-link>
    </li>
  </ul>
</template>

<script>
export default {
  name: 'Links',
  data() {
    return {
      // userData: this.$store.getters['User/userData']
      openCondensateSubMenu: false,
    };
  },
  computed: {
    userData: function () {
      return this.$store.getters['User/userData'];
    },
    userRole: function () {
      return this.$store.getters['User/userRole'];
    },
  },
  mounted: function () {
    const vm = this;

    // console.log(vm.userData)
    // console.log(this.$route.name)
    // if(vm.userData !== null) {
    //   vm.$router.push('/profile')
    // }
  },
  methods: {
    openCondensateMenu() {
      this.openCondensateSubMenu = true;
    },
    signOut() {
      const vm = this;
      window.localStorage.removeItem('jwt');
      window.localStorage.removeItem('userData');
      window.localStorage.removeItem('roleName');
      vm.$store.dispatch('User/logOut');
      vm.$router.push('/login');
    },
  },
};
</script>
<style scoped>
a {
  color: black;
}

a:hover {
  color: #ef0087 !important;
}

.active {
  color: #ef0087 !important;
}
</style>