<template>
  <body>
    <header class="header-menu">
      <div class="ui container">
        <div class="ui inverted icon menu">
          <router-link to="/" class="header item">
            <!-- // todo : find out how to get image from .env -->
            <!-- :src="require(LOGO_PATH)" -->
            <img
              class="ui mini right spaced image"
              src="@/assets/img/logo-neogeo-circle.png"
            />
            {{ APPLICATION_NAME }}
          </router-link>

          <sui-dropdown
            v-if="project"
            :text="`Projet : ${project.title}`"
            class="item"
          >
            <sui-dropdown-menu>
              <router-link
                :to="{
                  name: 'project_detail',
                  params: { slug: project.slug },
                }"
                class="item"
              >
                <i class="home icon"></i>Accueil
              </router-link>
              <!-- // todo : créer la page liste de signalements /signalement/lister/ + endpoint -->
              <router-link
                :to="{
                  name: 'feature_list',
                  params: { slug: project.slug },
                }"
                class="item"
              >
                <i class="list icon"></i>Liste & Carte
              </router-link>

              <!-- {% if project and permissions|lookup:'is_project_administrator'
                %} -->
              <!-- // todo : créer la page /administration-carte/ + endpoint-->
              <router-link
                :to="{
                  name: 'project_mapping',
                  params: { slug: project.slug },
                }"
                class="item"
              >
                <i class="map icon"></i>Fonds cartographiques
              </router-link>
              <!-- // todo : créer la page /membres/ -->
              <router-link
                :to="{
                  name: 'project_members',
                  params: { slug: project.slug },
                }"
                class="item"
              >
                <i class="users icon"></i>Membres
              </router-link>
              <!-- {% endif %} -->
            </sui-dropdown-menu>
          </sui-dropdown>

          <div class="right menu">
            <!--  // todo : create my_account page + endpoint + router -->
            <router-link v-if="user" to="/my_account/" class="item">
              {{ user.full_name || user.username }}
              <!-- // ? full_name n'existe pas côté django... -->
            </router-link>
            <div v-if="user.is_administrator" class="item ui label">
              <span v-if="project"> {{ USER_LEVEL_PROJECTS }}</span
              ><br />
              <span v-if="user.is_administrator"> Gestionnaire métier </span>
            </div>
            <!-- // todo : find out SSO_SETTED in django -->
            <!-- // ? condition bizarre (if !sso_setted pui elif !sso_setted)  ? -->
            <!-- <a  class="item" href="{% url 'geocontrib:logout' %}"><i class="ui logout icon"></i></a> -->
            <a v-if="user && !SSO_SETTED" @click="logout" class="item"
              ><i class="ui logout icon"></i>
            </a>
            <router-link v-else-if="!user" to="/connexion/" class="item"
              >Se Connecter</router-link
            >
          </div>
        </div>
      </div>
    </header>
    <main>
      <div class="ui stackable grid centered container">
        <!-- // todo : add messages -->
        <!--  {% if messages %} -->
        <!-- <div v-if="false" class="row">
        <div class="fourteen wide column">
          {% for message in messages %}
            {% if message.tags == 'success'%}
              <div class="ui positive message">
            {% else %}
              <div class="ui info message">
            {% endif %}
          {% endfor %}
            <div class="header">
              <i class="info circle icon"></i> Informations
            </div>
            <ul class="list">
              {% for message in messages %}
              {{ message }}
              {% endfor %}
            </ul>
          </div>
        </div>
      </div> -->
        <!-- {% endif %} -->
        <router-view />
        <!-- //* Les views sont injectées ici -->
      </div>
    </main>

    <footer>
      <div class="ui compact text menu">
        <router-link to="/mentions/" class="item">Mentions légales</router-link>
        <router-link to="/aide/" class="item">Aide</router-link>
        <p class="item">Version {{ PACKAGE_VERSION }}</p>
      </div>
    </footer>
  </body>
</template>

<script>
import { mapState } from "vuex";

export default {
  name: "App",
  computed: {
    ...mapState([
      "projects",
      "user",
      "project",
      "SSO_SETTED",
      "USER_LEVEL_PROJECTS",
    ]),
    LOGO_PATH: () => process.env.VUE_APP_LOGO_PATH,
    APPLICATION_NAME: () => process.env.VUE_APP_APPLICATION_NAME,
    PACKAGE_VERSION: () => process.env.PACKAGE_VERSION || "0",
    /* USER_LEVEL_PROJECT: function() {
      return this.USER_LEVEL_PROJECTS.filter(item => item)
    } */
  },
  created() {
    this.$store.dispatch("GET_COOKIE", "csrftoken"); // * ne récupère plus le cookie arès avoir vidé le cache ?!
  },
  methods: {
    logout() {
      this.$store.dispatch("LOGOUT");
    },
  },
};
</script>

<style>
@import "./assets/styles/base.css";
@import "./assets/resources/semantic-ui-2.4.2/semantic.min.css";

.header-menu {
  min-width: 560px;
}
</style>