Add snapshot list menu

This commit is contained in:
Ramon Wenger 2021-05-06 23:18:41 +02:00
parent e990596af5
commit 66949f2574
2 changed files with 67 additions and 6 deletions

View File

@ -0,0 +1,50 @@
<template>
<ul class="snapshot-team-menu">
<li class="snapshot-team-menu__item">
<a
:class="{'snapshot-team-menu__link--active': selected === 'mine'}"
class="snapshot-team-menu__link"
@click="$emit('select', 'mine')">Meine Snapshots</a></li>
<li
class="snapshot-team-menu__item"
>
<a
:class="{'snapshot-team-menu__link--active': selected === 'team'}"
class="snapshot-team-menu__link"
@click="$emit('select', 'team')">Team Snapshots</a></li>
</ul>
</template>
<script>
export default {
props: {
selected: {
type: String,
default: 'mine',
},
},
};
</script>
<style scoped lang="scss">
@import '~styles/helpers';
.snapshot-team-menu {
display: flex;
&__item {
margin-right: $large-spacing;
padding: $medium-spacing 0;
}
&__link {
@include default-link;
color: $color-silver-dark;
cursor: pointer;
&--active {
color: $color-brand;
}
}
}
</style>

View File

@ -2,12 +2,19 @@
<div class="snapshots">
<h1>Snapshots</h1>
<p class="snapshots__details">Thema: {{ module.topic.title }} - {{ module.metaTitle }}: {{ module.title }}</p>
<div class="snapshots__list">
<snapshot-team-menu
:selected="selectedLink"
@select="selectedLink=$event"
/>
<div
class="snapshots__list"
v-if="selectedLink === 'mine'">
<snapshot-list-item
:key="snapshot.id"
:snapshot="snapshot"
class="snapshots__snapshot"
v-for="snapshot in module.snapshots"/>
v-for="snapshot in module.snapshots"
/>
</div>
</div>
</template>
@ -16,16 +23,19 @@
import SnapshotListItem from '@/components/modules/SnapshotListItem';
import MODULE_SNAPSHOTS_QUERY from '@/graphql/gql/queries/moduleSnapshots.gql';
import SnapshotTeamMenu from '@/components/modules/SnapshotTeamMenu';
const defaultModule = {topic: {}, snapshots: []};
export default {
components: {
SnapshotListItem
SnapshotTeamMenu,
SnapshotListItem,
},
data() {
return {
module: defaultModule
module: defaultModule,
selectedLink: 'mine',
};
},
@ -34,7 +44,7 @@
query: MODULE_SNAPSHOTS_QUERY,
variables() {
return {
slug: this.$route.params.slug
slug: this.$route.params.slug,
};
},
error(error, vm, key, type, options) {
@ -42,7 +52,7 @@
},
update(data) {
return data.module || defaultModule;
}
},
},
},
};
@ -60,6 +70,7 @@
&__details {
@include regular-text;
margin-bottom: $large-spacing;
}
&__list {