<template>
  <section class="celestials bg-image">
    <header>
      <h1 class="heading-1">
        Le système solaire
      </h1>
    </header>
    <div class="section-content">
      <div v-if="error">
        Une erreur est survenue : {{ error }}
      </div>
      <div v-if="celestials.length > 1">
        <celestials-list :celestials="celestials" />
      </div>
      <div v-else>
        <nest-loader />
      </div>
    </div>
  </section>
</template>

<script>
// API
import { fetchCelestials } from '@/api/le-systeme-solaire'

// Global methods

import CelestialsList from '@/components/celestials/CelestialsList.vue'
import NestLoader from '@/components/NestLoader.vue'

export default {
  name: 'Celestials',
  components: {
    CelestialsList,
    NestLoader
  },
  data () {
    return {
      celestials: [],
      error: ''
    }
  },

  mounted () {
    fetchCelestials()
      .then((res) => {
        this.celestials = res
      })
      .catch(() => {
        this.error = 'Impossible de récupérer les astres.'
      })
  }
}
</script>

<style lang="scss" scoped>
.celestials {
  position: relative;
  min-height: 100%;
  padding: 25px 5%;

  &:after {
    background-image: url("/celestials_bg-min.jpg");
  }
}
</style>
