<template>
  <div id="app">
    <Volet_Base @rechercherNouvellesPublications="rechercherNouvellesPublications" @choix_variante="choixVariante"
                @newContenu="newContenu" v-bind:nvoContenu="nvoContenu" v-bind:auteur="auteur"
                v-bind:contenuAjoute="contenuAjoute" v-bind:majContenus="majContenus"  v-bind:darktheme="darktheme"
                v-bind:deconnexion="deconnexion" v-bind:etat="etat" @ChangerTitre="ChangerTitre" @volet_desactive="voletDesactive"
                @chargerTagsLibres="chargerTagsLibres"/>
  </div>
</template>

<script>

import Volet_Base from "./components/Volet_Base";
export default {
  name: 'Contenu',
  components: {
    Volet_Base
  },
  methods: {
    /**
     * @vuese
     * Transmission du choix concernant la variante (à destination du composant Menu)
     */
    choixVariante: function (event) {
        // Transmission du booléen concernant la variante
        // @arg True si variante active, False sinon
        this.$emit("choix_variante", {variante: event.variante})
  },
    /**
     * @vuese
     * Permet de transmettre l'information sur le fait que le volet soit actif ou non
     */
    voletDesactive: function (event) {
      this.$emit("volet_desactive", {actif: event.actif})
    },
    /**
     * @vuese
     * Transmission de l'information concernant la création d'un nouveau contenu
     */
    newContenu: function (event) {
      // Evenement à destination de Volet_Base
      this.$emit("newContenu", {source: event.source})

    },
    /**
     * @vuese
     * Signal pour déclencher la recherche de nouvelles publications
     */
    rechercherNouvellesPublications: function () {
      this.$emit("rechercherNouvellesPublications")
    },
    /**
     * @vuese
     * Signal de changement d'un titre (consultation d'un contenu panier, banque ou maj)
     */
    ChangerTitre: function (event) {
      this.$emit("ChangerTitre", {titre: event.titre})
    },
    /**
     * @vuese
     * Permet de passer le signal pour charger le composant "GererTagsLibres"
     */
    chargerTagsLibres: function () {
      this.$emit("chargerTagsLibres")
    }
  },
  props: {
    // L'auteur connecté
    auteur: {},
    // Variable contenant un contenu ajouté, à destination de Volet_Base
    contenuAjoute: {},
    // Variable contenant un "nouveau contenu", créé à partir d'une demande de publication, à destination de Volet_Base
    nvoContenu: {},
    // Signal d'alerte pour mettre à jour les contenus
    majContenus: {},
    // Signal d'activation ou non du theme sombre
    darktheme: {},
    // Signal de déconnexion
    deconnexion: {},
    // etat. Sera utile pour certaines réinitialisations de l'affichage
    etat: {}
}
}
</script>

<style>
button {
  height: 20px;
  width: 20px;
}
</style>
