add cohort page
This commit is contained in:
parent
0b6b99c965
commit
609223168c
1 changed files with 44 additions and 0 deletions
44
pages/g/_cohort.vue
Normal file
44
pages/g/_cohort.vue
Normal 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>
|
Loading…
Reference in a new issue