add cohort page

This commit is contained in:
lesion 2022-05-20 13:03:13 +02:00
parent 0b6b99c965
commit 609223168c
No known key found for this signature in database
GPG key ID: 352918250B012177

44
pages/g/_cohort.vue Normal file
View file

@ -0,0 +1,44 @@
<template>
<v-container id='home' class='pa-0 pa-sm-2' fluid>
<div class="mt-3 mb-1">
<v-btn text color='primary' to='/'><v-icon v-text='mdiChevronLeft'/> Home</v-btn>
<v-btn v-for='cohort in cohorts' text color='primary' :key='cohort.id' :to='`/g/${cohort.name}`' v-text='cohort.name' />
</div>
<h1 class='d-block text-h3 font-weight-black text-center align-center text-uppercase mt-10 mb-12 mx-auto w-100 text-underline'><u>{{cohort}}</u></h1>
<!-- Events -->
<!-- .mb-2.mt-1.pl-1.pl-sm-2 -->
<div id="events">
<Event :event='event' v-for='(event, idx) in events' :lazy='idx>2' :key='event.id'></Event>
</div>
</v-container>
</template>
<script>
import { mdiChevronLeft } from '@mdi/js'
import Event from '@/components/Event'
export default {
name: 'Tag',
components: { Event },
data ({ $route }) {
return { mdiChevronLeft, cohort: $route.params.cohort, cohorts: [] }
},
async fetch () {
this.cohorts = await this.$axios.$get('/cohorts')
},
async asyncData ({ $axios, params, error }) {
try {
const cohort = params.cohort
const events = await $axios.$get(`/cohorts/${cohort}`)
return { events }
} catch (e) {
console.error(e)
error({ statusCode: 400, message: 'Error!' })
}
}
}
</script>