This repository has been archived on 2025-02-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
iu-quiz-app/pages/courses/_course/index.vue
2022-11-04 17:44:32 +01:00

84 lines
2.2 KiB
Vue

<template>
<v-container fluid class="pa-0">
<v-row>
<v-col cols="12" sm="6">
<v-card height="100%" class="d-flex align-center pa-2">
<v-row no-gutters>
<v-col cols="12">
<span class="text-h5 text--secondary">{{ courseID.toUpperCase() }}</span>
</v-col>
<v-col cols="12">
<span class="text-h5">{{ $store.getters.getCourseByID(courseID).name }}</span>
</v-col>
</v-row>
</v-card>
</v-col>
<v-col cols="12" sm="6">
<v-card>
<v-card-title>Tutor</v-card-title>
<v-card-text>
<v-row align="center">
<v-col cols="auto">
<v-avatar size="64">
<img src="https://www.w3schools.com/howto/img_avatar.png" />
</v-avatar>
</v-col>
<v-col>
<div>{{ tutorName }}</div>
<div>{{ tutorEmail }}</div>
</v-col>
</v-row>
</v-card-text>
</v-card>
</v-col>
<v-col cols="12">
<v-row>
<v-col v-if="isAuthorized" cols="12">
<TutorPanel :course-id="courseID" />
</v-col>
<v-col cols="12">
<Challenge :course-id="courseID" />
</v-col>
<v-col cols="12">
<Coop :course-id="courseID" />
</v-col>
</v-row>
</v-col>
</v-row>
</v-container>
</template>
<script>
import _capitalize from 'lodash-es/capitalize'
export default {
name: 'CourseIndexPage',
data() {
return {
courseID: undefined
}
},
computed: {
isAuthorized () {
const isTutor = this.$auth.currentUser.email.endsWith('@iu.org')
const isAdmin = this.$store.getters.isAdmin
return isTutor || isAdmin
},
tutorEmail () {
return this.$store.getters.getCourseByID(this.courseID).tutor
},
tutorName () {
const nameParsed = this.tutorEmail.split('@')[0]
const nameParts = []
for (const namePart of nameParsed.split('.')) {
nameParts.push(_capitalize(namePart))
}
return nameParts.join(' ')
}
},
created () {
this.courseID = this.$route.params.course
}
}
</script>