Add page to display the class code
This commit is contained in:
parent
1382bbd674
commit
4bd2c9c065
|
|
@ -5,6 +5,7 @@ query MySchoolClassQuery {
|
||||||
selectedClass {
|
selectedClass {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
|
code
|
||||||
members {
|
members {
|
||||||
id
|
id
|
||||||
firstName
|
firstName
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
import MY_SCHOOL_CLASS_QUERY from '@/graphql/gql/mySchoolClass';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
apollo: {
|
||||||
|
me: {
|
||||||
|
query: MY_SCHOOL_CLASS_QUERY,
|
||||||
|
update(data) {
|
||||||
|
return this.$getRidOfEdges(data).me
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
me: {
|
||||||
|
isTeacher: false,
|
||||||
|
selectedClass: {
|
||||||
|
name: '',
|
||||||
|
members: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="my-class">
|
<div class="my-class">
|
||||||
<h1 class="my-class__header" data-cy="class-list-title">Klassenliste</h1>
|
<h1 class="my-class__header" data-cy="class-list-title">Klassenliste</h1>
|
||||||
|
<router-link class="my-class__code-link button button--primary"
|
||||||
|
v-if="me.isTeacher"
|
||||||
|
:to="{name: 'show-code'}">Zugangscode anzeigen
|
||||||
|
</router-link>
|
||||||
<class-list
|
<class-list
|
||||||
class="my-class__class"
|
class="my-class__class"
|
||||||
:name="me.selectedClass.name"
|
:name="me.selectedClass.name"
|
||||||
|
|
@ -18,8 +22,11 @@
|
||||||
|
|
||||||
import MY_SCHOOL_CLASS_QUERY from '@/graphql/gql/mySchoolClass.gql';
|
import MY_SCHOOL_CLASS_QUERY from '@/graphql/gql/mySchoolClass.gql';
|
||||||
import ADD_REMOVE_MEMBER_MUTATION from '@/graphql/gql/mutations/addRemoveMember.gql';
|
import ADD_REMOVE_MEMBER_MUTATION from '@/graphql/gql/mutations/addRemoveMember.gql';
|
||||||
|
import selectedClassMixin from '@/mixins/selected-class';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
mixins: [selectedClassMixin],
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
ClassList
|
ClassList
|
||||||
},
|
},
|
||||||
|
|
@ -57,27 +64,6 @@
|
||||||
this.changeMember(member, false);
|
this.changeMember(member, false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
apollo: {
|
|
||||||
me: {
|
|
||||||
query: MY_SCHOOL_CLASS_QUERY,
|
|
||||||
update(data) {
|
|
||||||
return this.$getRidOfEdges(data).me
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
me: {
|
|
||||||
isTeacher: false,
|
|
||||||
selectedClass: {
|
|
||||||
name: '',
|
|
||||||
members: []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -85,7 +71,24 @@
|
||||||
@import "@/styles/_variables.scss";
|
@import "@/styles/_variables.scss";
|
||||||
|
|
||||||
.my-class {
|
.my-class {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: auto auto;
|
||||||
|
grid-template-rows: auto auto;
|
||||||
|
grid-template-areas: "h b" "c c";
|
||||||
|
|
||||||
|
&__header {
|
||||||
|
grid-area: h;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__code-link {
|
||||||
|
grid-area: b;
|
||||||
|
justify-self: end;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
&__class {
|
&__class {
|
||||||
|
grid-area: c;
|
||||||
|
width: 100%;
|
||||||
margin-bottom: $large-spacing;
|
margin-bottom: $large-spacing;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<template>
|
||||||
|
<div class="show-code">
|
||||||
|
<h2 class="show-code__title">Zugangscode Klasse {{me.selectedClass.name}}</h2>
|
||||||
|
<h1 class="show-code__code">{{me.selectedClass.code}}</h1>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import selectedClassMixin from '@/mixins/selected-class';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [selectedClassMixin],
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import "@/styles/_variables.scss";
|
||||||
|
@import "@/styles/_mixins.scss";
|
||||||
|
|
||||||
|
.show-code {
|
||||||
|
&__title {
|
||||||
|
@include regular-text;
|
||||||
|
margin-bottom: 2*$large-spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__code {
|
||||||
|
font-size: toRem(120px);
|
||||||
|
letter-spacing: toRem(20px);
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -33,6 +33,7 @@ import waitForClass from '@/pages/waitForClass'
|
||||||
import joinClass from '@/pages/joinClass'
|
import joinClass from '@/pages/joinClass'
|
||||||
import oldClasses from '@/pages/oldClasses';
|
import oldClasses from '@/pages/oldClasses';
|
||||||
import createClass from '@/pages/createClass';
|
import createClass from '@/pages/createClass';
|
||||||
|
import showCode from '@/pages/showCode';
|
||||||
|
|
||||||
import store from '@/store/index';
|
import store from '@/store/index';
|
||||||
|
|
||||||
|
|
@ -120,6 +121,7 @@ const routes = [
|
||||||
meta: {isProfile: true}
|
meta: {isProfile: true}
|
||||||
},
|
},
|
||||||
{path: 'create-class', name: 'create-class', component: createClass, meta: {layout: 'simple'}},
|
{path: 'create-class', name: 'create-class', component: createClass, meta: {layout: 'simple'}},
|
||||||
|
{path: 'show-code', name: 'show-code', component: showCode, meta: {layout: 'simple'}},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{path: 'join-class', name: 'join-class', component: joinClass, meta: {layout: 'simple'}},
|
{path: 'join-class', name: 'join-class', component: joinClass, meta: {layout: 'simple'}},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue