Skip to content
Snippets Groups Projects
Commit 8404be14 authored by Julian's avatar Julian
Browse files

Include teachers in coursebook

parent 17e8450c
No related branches found
No related tags found
2 merge requests!352Draft: Resolve "Add dialog with each lesson's students",!350Resolve "Add simple course book list"
Pipeline #177234 failed
...@@ -38,6 +38,11 @@ query documentationsForCoursebook( ...@@ -38,6 +38,11 @@ query documentationsForCoursebook(
lessonEvent { lessonEvent {
id id
} }
teachers {
id
shortName
fullName
}
subject { subject {
id id
name name
......
<script setup>
import PersonChip from "aleksis.core/components/person/PersonChip.vue";
</script>
<template> <template>
<div :class="{ 'full-width grid mr-0': true, 'mr-md-4': compact }"> <div :class="{ 'full-width grid mr-0 mb-2': true, 'mr-md-4 mb-0': compact, 'large-grid': largeGrid }">
<div> <div>
<div :class="{ 'text-right d-flex flex-column fit-content': compact }"> <div :class="{ 'text-right d-flex flex-column fit-content': largeGrid }">
<time :datetime="documentation.datetimeStart" class="text-no-wrap"> <time :datetime="documentation.datetimeStart" class="text-no-wrap">
{{ $d(toDateTime(documentation.datetimeStart), "shortTime") }} {{ $d(toDateTime(documentation.datetimeStart), "shortTime") }}
</time> </time>
<span v-if="!compact"></span> <span v-if="!largeGrid"></span>
<time :datetime="documentation.datetimeEnd" class="text-no-wrap"> <time :datetime="documentation.datetimeEnd" class="text-no-wrap">
{{ $d(toDateTime(documentation.datetimeEnd), "shortTime") }} {{ $d(toDateTime(documentation.datetimeEnd), "shortTime") }}
</time> </time>
</div> </div>
</div> </div>
<span class="text-center"> <span :class="{ 'text-right': !largeGrid }">
{{ documentation.course?.name }} {{ documentation.course?.name }}
</span> </span>
<div :class="{ 'd-flex align-center flex-wrap gap': true, 'justify-center': largeGrid }">
<person-chip v-for="teacher in documentation.teachers" :person="teacher" />
</div>
<subject-chip <subject-chip
v-if="documentation.subject" v-if="documentation.subject"
:subject="documentation.subject" :subject="documentation.subject"
...@@ -39,15 +46,33 @@ export default { ...@@ -39,15 +46,33 @@ export default {
return DateTime.fromISO(dateString); return DateTime.fromISO(dateString);
}, },
}, },
computed: {
largeGrid() {
return this.compact && !this.$vuetify.breakpoint.mobile;
}
},
}; };
</script> </script>
<style scoped> <style scoped>
.grid { .grid {
display: grid; display: grid;
grid-template-columns: 1fr max-content 1fr; grid-template-columns: auto auto;
align-items: center; align-items: center;
gap: 1em; gap: 1em;
align-content: start;
}
.large-grid {
grid-template-columns: min-content 1fr 1fr 1fr;
align-content: unset;
}
.grid:not(.large-grid):nth-child(odd) {
justify-self: start;
}
.grid:not(.large-grid):nth-child(even) {
justify-self: end;
} }
.subject { .subject {
...@@ -57,4 +82,8 @@ export default { ...@@ -57,4 +82,8 @@ export default {
.fit-content { .fit-content {
width: fit-content; width: fit-content;
} }
.gap {
gap: 0.25em;
}
</style> </style>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment