/ Basic nuxt setup (some areas still broken)
This commit is contained in:
81
full-skies-nuxt/pages/astres/_id.vue
Normal file
81
full-skies-nuxt/pages/astres/_id.vue
Normal file
@@ -0,0 +1,81 @@
|
||||
<template>
|
||||
<section class="celestial bg-image">
|
||||
<div v-if="celestialLoaded">
|
||||
<header>
|
||||
<h1 class="heading-1">
|
||||
{{ celestial.name }}
|
||||
</h1>
|
||||
</header>
|
||||
<div class="section-content">
|
||||
<div v-if="error">
|
||||
Une erreur est survenue : {{ error }}
|
||||
</div>
|
||||
<div>{{ celestial }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<nest-loader />
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// API
|
||||
import { fetchCelestial } from '@/api/le-systeme-solaire'
|
||||
// import { fetchWikipediaExcerpt } from "@/api/wikipedia";
|
||||
|
||||
// Global methods
|
||||
import { addCelestialType } from '@/plugins/methods'
|
||||
import NestLoader from '@/components/NestLoader.vue'
|
||||
|
||||
export default {
|
||||
name: 'Celestial',
|
||||
components: {
|
||||
NestLoader
|
||||
},
|
||||
|
||||
props: {
|
||||
slug: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
|
||||
data () {
|
||||
return {
|
||||
celestial: {},
|
||||
celestialLoaded: false,
|
||||
excerpt: '',
|
||||
error: ''
|
||||
}
|
||||
},
|
||||
|
||||
mounted () {
|
||||
// Fetches from API...
|
||||
fetchCelestial(this.slug)
|
||||
.then((res) => {
|
||||
this.celestial = addCelestialType(res)
|
||||
this.celestialLoaded = true
|
||||
return this.celestial
|
||||
})
|
||||
.catch(() => {
|
||||
this.error = "Impossible de récupérer l'astre demandé."
|
||||
})
|
||||
.then(() => {
|
||||
// fetchWikipediaExcerpt(celestial);
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.celestial {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
padding: 25px 5%;
|
||||
|
||||
&:after {
|
||||
background-image: url("/celestials_bg-min.jpg");
|
||||
}
|
||||
}
|
||||
</style>
|
||||
71
full-skies-nuxt/pages/astres/index.vue
Normal file
71
full-skies-nuxt/pages/astres/index.vue
Normal file
@@ -0,0 +1,71 @@
|
||||
<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>
|
||||
import { onMounted, ref } from '@vue/composition-api'
|
||||
|
||||
// API
|
||||
import { fetchCelestials } from '@/api/le-systeme-solaire'
|
||||
|
||||
// Global methods
|
||||
import { addCelestialsType } from '@/plugins/methods'
|
||||
|
||||
import CelestialsList from '@/components/celestials/CelestialsList.vue'
|
||||
import NestLoader from '@/components/NestLoader.vue'
|
||||
|
||||
export default {
|
||||
name: 'Celestials',
|
||||
components: {
|
||||
CelestialsList,
|
||||
NestLoader
|
||||
},
|
||||
|
||||
setup () {
|
||||
const celestials = ref([])
|
||||
|
||||
const getCelestials = async () => {
|
||||
celestials.value = await fetchCelestials()
|
||||
celestials.value = addCelestialsType(celestials.value)
|
||||
}
|
||||
|
||||
onMounted(getCelestials)
|
||||
|
||||
return { celestials }
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
error: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.celestials {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
padding: 25px 5%;
|
||||
|
||||
&:after {
|
||||
background-image: url("/celestials_bg-min.jpg");
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user