feat: make public albums ssr friendly
This commit is contained in:
parent
a3bf693d30
commit
56f38f4494
|
@ -102,8 +102,22 @@ export default {
|
|||
watch: {
|
||||
current: 'fetchPaginate'
|
||||
},
|
||||
created() {
|
||||
this.fetch();
|
||||
async asyncData({ app, params, error }) {
|
||||
try {
|
||||
const { data } = await axios.get(`${app.store.state.config.baseURL}/album/${params.identifier}`, { params: { limit: 50, page: 1 } });
|
||||
const downloadLink = data.downloadEnabled ? `${app.store.state.config.baseURL}/album/${params.identifier}/zip` : null;
|
||||
return {
|
||||
name: data.name,
|
||||
downloadEnabled: data.downloadEnabled,
|
||||
files: data.files,
|
||||
downloadLink,
|
||||
isNsfw: data.isNsfw,
|
||||
totalFiles: data.count
|
||||
};
|
||||
} catch (err) {
|
||||
console.log('Error when retrieving album', err);
|
||||
error({ statusCode: 404, message: 'Album not found' });
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async fetch(page = 1) {
|
||||
|
@ -130,21 +144,16 @@ export default {
|
|||
this.isLoading = false;
|
||||
}
|
||||
},
|
||||
metaInfo() {
|
||||
head() {
|
||||
if (this.files) {
|
||||
return {
|
||||
title: `${this.name ? this.name : ''}`,
|
||||
meta: [
|
||||
{ vmid: 'theme-color', name: 'theme-color', content: '#30a9ed' },
|
||||
{ vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },
|
||||
{ vmid: 'twitter:title', name: 'twitter:title', content: `Album: ${this.name} | Files: ${this.files.length}` },
|
||||
{ vmid: 'twitter:description', name: 'twitter:description', content: 'A modern and self-hosted file upload service that can handle anything you throw at it. Fast uploads, file manager and sharing capabilities all crafted with a beautiful user experience in mind.' },
|
||||
{ vmid: 'twitter:image', name: 'twitter:image', content: `${this.files.length > 0 ? this.files[0].thumbSquare : '/public/images/share.jpg'}` },
|
||||
{ vmid: 'twitter:image:src', name: 'twitter:image:src', value: `${this.files.length > 0 ? this.files[0].thumbSquare : '/public/images/share.jpg'}` },
|
||||
|
||||
{ vmid: 'og:url', property: 'og:url', content: `${this.config.URL}/a/${this.$route.params.identifier}` },
|
||||
{ vmid: 'og:title', property: 'og:title', content: `Album: ${this.name} | Files: ${this.files.length}` },
|
||||
{ vmid: 'og:description', property: 'og:description', content: 'A modern and self-hosted file upload service that can handle anything you throw at it. Fast uploads, file manager and sharing capabilities all crafted with a beautiful user experience in mind.' },
|
||||
{ vmid: 'og:image', property: 'og:image', content: `${this.files.length > 0 ? this.files[0].thumbSquare : '/public/images/share.jpg'}` },
|
||||
{ vmid: 'og:image:secure_url', property: 'og:image:secure_url', content: `${this.files.length > 0 ? this.files[0].thumbSquare : '/public/images/share.jpg'}` }
|
||||
]
|
||||
|
@ -153,13 +162,7 @@ export default {
|
|||
return {
|
||||
title: `${this.name ? this.name : ''}`,
|
||||
meta: [
|
||||
{ vmid: 'theme-color', name: 'theme-color', content: '#30a9ed' },
|
||||
{ vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },
|
||||
{ vmid: 'twitter:title', name: 'twitter:title', content: 'chibisafe' },
|
||||
{ vmid: 'twitter:description', name: 'twitter:description', content: 'A modern and self-hosted file upload service that can handle anything you throw at it. Fast uploads, file manager and sharing capabilities all crafted with a beautiful user experience in mind.' },
|
||||
{ vmid: 'og:url', property: 'og:url', content: `${this.config.URL}/a/${this.$route.params.identifier}` },
|
||||
{ vmid: 'og:title', property: 'og:title', content: 'chibisafe' },
|
||||
{ vmid: 'og:description', property: 'og:description', content: 'A modern and self-hosted file upload service that can handle anything you throw at it. Fast uploads, file manager and sharing capabilities all crafted with a beautiful user experience in mind.' }
|
||||
{ vmid: 'og:url', property: 'og:url', content: `${this.config.URL}/a/${this.$route.params.identifier}` }
|
||||
]
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue