<template>
  <div class="container">
    <p v-if="$fetchState.pending">En cours de chargement ...</p>
    <ul v-else>
      <li v-for="link in links" :key="link.id">
        <nuxt-link :to="`/links/${link.id}`">{{ link.url }}</nuxt-link>
      </li>
    </ul>

    <p>Valeur: {{ $store.state.counter.value }}</p>
    <button @click.prevent="$store.commit('counter/increment')">
      Incrémenter
    </button>
  </div>
</template>

<script>
export default {
  async fetch() {
    this.links = await fetch(process.env.API_URL + "/api/links").then(r =>
      r.json()
    );
  },
  head() {
    return {
      title: `Derniers liens publiés (${this.links && this.links.length})`
    };
  },
  data() {
    return { links: null };
  }
};
</script>

<style>
.container {
  margin: 0 auto;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.title {
  font-family: "Quicksand", "Source Sans Pro", -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  display: block;
  font-weight: 300;
  font-size: 100px;
  color: #35495e;
  letter-spacing: 1px;
}

.subtitle {
  font-weight: 300;
  font-size: 42px;
  color: #526488;
  word-spacing: 5px;
  padding-bottom: 15px;
}

.links {
  padding-top: 15px;
}
</style>
