- shared pages refactored

This commit is contained in:
Peter Papp
2021-03-17 10:39:45 +01:00
parent 87e05d9521
commit 1d52186f17
10 changed files with 607 additions and 410 deletions

View File

@@ -0,0 +1,83 @@
<template>
<div id="single-file">
<div class="single-file-wrapper">
<FileItemGrid v-if="sharedFile" :item="sharedFile" :context-menu="false"/>
<ButtonBase @click.native="download" class="download-button" button-style="theme">
{{ $t('page_shared.download_file') }}
</ButtonBase>
</div>
</div>
</template>
<script>
import FileItemGrid from '@/components/FilesView/FileItemGrid'
import ButtonBase from '@/components/FilesView/ButtonBase'
import {mapGetters} from "vuex";
export default {
name: 'SharedSingleItem',
components: {
FileItemGrid,
ButtonBase,
},
computed: {
...mapGetters([
'sharedDetail',
'sharedFile',
]),
},
methods: {
download() {
this.$downloadFile(this.sharedFile.file_url, this.sharedFile.name + '.' + this.sharedFile.mimetype)
},
},
mounted() {
if (!this.sharedDetail) {
this.$store.dispatch('getShareDetail', this.$route.params.token).then(() => {
this.$store.dispatch('getSingleFile')
})
} else {
this.$store.dispatch('getSingleFile')
}
}
}
</script>
<style lang="scss">
#single-file {
position: absolute;
bottom: 0;
right: 0;
left: 0;
top: 0;
display: grid;
height: 100%;
.single-file-wrapper {
margin: auto;
text-align: center;
.download-button {
margin-top: 15px;
margin-left: auto;
margin-right: auto;
}
}
/deep/ .file-wrapper {
.file-item {
width: 290px;
&:hover, &.is-clicked {
background: transparent;
}
.item-shared {
display: none;
}
}
}
}
</style>