<template>
  <div>
    <nav class="mb-4 bg-grey-light rounded font-sans w-full">
      <ol class="list-reset flex text-grey-dark">
        <li>
          <a>org</a>
        </li>
        <li>
          <span class="mx-2">/</span>
        </li>
        <li>
          <router-link :to="ownerLink('org', orgname)">{{orgname}}</router-link>
        </li>
      </ol>
    </nav>

    <div class="mb-8 flex justify-between">
      <span class="text-3xl">{{orgname}}</span>
      <createprojectbutton v-on:click="goToCreate($event)"/>
    </div>

    <div class="flex justify-between">
      <ul class="flex-grow tab">
        <li
          class="tab-element"
          :class="[{ 'tab-element-selected': $route.name === 'org projects' || $route.name === 'org' }]"
        >
          <router-link :to="ownerProjectsLink('org', orgname)">
            <i class="mr-1 mdi mdi-home"/>
            <span>Projects</span>
          </router-link>
        </li>
        <li
          class="tab-element"
          :class="[{ 'tab-element-selected': $route.name === 'org members' }]"
        >
          <router-link :to="orgMembersLink(orgname)">
            <i class="mr-1 mdi mdi-account-group"/>
            <span>Members</span>
          </router-link>
        </li>
        <li
          v-if="$route.name.endsWith('org project group settings')"
          class="tab-element"
          :class="[{ 'tab-element-selected': $route.name.endsWith('org project group settings') }]"
        >
          <router-link :to="projectGroupSettingsLink('org', orgname, [])">
            <i class="mr-1 mdi mdi-settings"/>
            <span>Root Project Group Settings</span>
          </router-link>
        </li>
        <li
          v-if="$route.name.endsWith('org settings')"
          class="tab-element"
          :class="[{ 'tab-element-selected': $route.name.endsWith('org settings') }]"
        >
          <router-link :to="ownerSettingsLink('org', orgname)">
            <i class="mr-1 mdi mdi-settings"/>
            <span>Organization Settings</span>
          </router-link>
        </li>
      </ul>
      <ul class="flex tab">
        <li>
          <div class="relative">
            <div
              class="flex -mt-3"
              v-click-outside="() => dropdownActive = false"
              @click="dropdownActive = !dropdownActive"
            >
              <button
                class="relative flex items-center focus:outline-none bg-transparent hover:bg-gray-300 text-dark font-semibold hover:text-dark py-1 px-4 border border-gray-500 rounded"
              >
                <i class="mr-4 mdi mdi-settings"/>
                <i class="mdi mdi-chevron-down"></i>
              </button>
            </div>
            <div
              v-if="dropdownActive"
              class="z-10 origin-top-right absolute right-0 mt-2 w-64 bg-white rounded-lg border shadow-md py-2"
            >
              <ul>
                <li>
                  <router-link
                    class="block px-4 py-2 hover:bg-blue-500 hover:text-white"
                    :to="projectGroupSettingsLink('org', orgname, [])"
                  >
                    <i class="mr-1 mdi mdi-settings"/>
                    <span>Root Project Group Settings</span>
                  </router-link>
                </li>
                <li>
                  <router-link
                    class="block px-4 py-2 hover:bg-blue-500 hover:text-white"
                    :to="ownerSettingsLink('org', orgname)"
                  >
                    <i class="mr-1 mdi mdi-settings"/>
                    <span>Organization Settings</span>
                  </router-link>
                </li>
              </ul>
            </div>
          </div>
        </li>
      </ul>
    </div>
    <router-view class="mt-8"></router-view>
  </div>
</template>


<script>
import vClickOutside from "v-click-outside";

import {
  ownerLink,
  ownerProjectsLink,
  ownerSettingsLink,
  orgMembersLink,
  projectGroupCreateProjectGroupLink,
  projectGroupCreateProjectLink,
  projectGroupSettingsLink
} from "@/util/link.js";

import createprojectbutton from "@/components/createprojectbutton.vue";

export default {
  name: "Org",
  components: { createprojectbutton },
  directives: {
    clickOutside: vClickOutside.directive
  },
  props: {
    orgname: String
  },
  data() {
    return {
      dropdownActive: false
    };
  },
  methods: {
    ownerLink: ownerLink,
    ownerProjectsLink: ownerProjectsLink,
    ownerSettingsLink: ownerSettingsLink,
    orgMembersLink: orgMembersLink,
    projectGroupCreateProjectGroupLink: projectGroupCreateProjectGroupLink,
    projectGroupCreateProjectLink: projectGroupCreateProjectLink,
    projectGroupSettingsLink: projectGroupSettingsLink,
    goToCreate(type) {
      if (type == "project") {
        this.$router.push(
          projectGroupCreateProjectLink("org", this.orgname, [])
        );
        return;
      }
      this.$router.push(
        projectGroupCreateProjectGroupLink("org", this.orgname, [])
      );
    }
  }
};
</script>

<style scoped lang="scss">
</style>