151 lines
2.4 KiB
Vue
151 lines
2.4 KiB
Vue
<template>
|
|
<div class="gallery-page">
|
|
<div class="gallery-container">
|
|
<ul class="featured-images">
|
|
<li v-for="(gallery, index) in galleries"
|
|
class="featured-image image-container"
|
|
:key="index">
|
|
<span>{{ gallery.title }}</span>
|
|
</li>
|
|
</ul>
|
|
<ul class="gallery-thumbs">
|
|
<li v-for="(gallery, index) in galleries"
|
|
:key="index">
|
|
<ul class="gallery-thumbs__row">
|
|
<li class="featured-image featured-image--mobile-only"></li>
|
|
<li v-for="image in gallery.images"
|
|
class="image-container"
|
|
:key="image.url">
|
|
<span>{{ image.thumbUrl }}</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<div class="image-viewer"></div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
props: {
|
|
galleries: {
|
|
type: Array,
|
|
required: true
|
|
}
|
|
},
|
|
|
|
data () {
|
|
return {
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.gallery-page {
|
|
position: relative;
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
|
|
.gallery-thumbs__row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
|
|
|
|
@media (max-width: $bp__layout) {
|
|
.gallery-page {
|
|
padding-top: $site-menu__header-height;
|
|
}
|
|
|
|
.gallery-container {
|
|
position: relative;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.featured-images {
|
|
width: 100vw;
|
|
}
|
|
|
|
.gallery-thumbs {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
.gallery-thumbs__row {
|
|
}
|
|
|
|
.featured-image {
|
|
height: 50vh;
|
|
width: 100vw;
|
|
flex: 0 0 100vw;
|
|
}
|
|
|
|
.image-container {
|
|
height: 50vh;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@media (min-width: $bp__layout) {
|
|
$thumbs-height: 8rem;
|
|
|
|
.gallery-page {
|
|
padding-left: $site-menu__header-width;
|
|
}
|
|
|
|
.gallery-container {
|
|
// display: flex;
|
|
position: relative;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.featured-images {
|
|
position: absolute;
|
|
width: 33%;
|
|
max-width: 20rem;
|
|
height: 100%;
|
|
top: 0;
|
|
right: 0;
|
|
}
|
|
|
|
.gallery-thumbs {
|
|
position: absolute;
|
|
width: 100%;
|
|
height: $thumbs-height;
|
|
bottom: 0;
|
|
left: 0;
|
|
|
|
overflow: hidden;
|
|
overflow: auto; // TEMP
|
|
}
|
|
|
|
.gallery-thumbs__row {
|
|
height: $thumbs-height;
|
|
}
|
|
|
|
.featured-image {
|
|
&--mobile-only {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
</style>
|