Album preview update

This commit is contained in:
tmshv committed 2017-05-25 22:37:14 +03:00
1 parent c3676a02be
commit 853f155b66
2 files changed
+19 -3

No files matched your search

+14 -2
View File
@@ -1,7 +1,13 @@
const Data = require('./Data') const Data = require('./Data')
const Image = require('./Image') const Image = require('./Image')
const ImageArtifactType = require('./ImageArtifactType')
const {find, findOne} = require('../lib/store') const {find, findOne} = require('../lib/store')
const previewTypes = [
ImageArtifactType.MEDIUM,
ImageArtifactType.BIG,
ImageArtifactType.ORIGIN,
]
const store = () => Data.getStore(Album) const store = () => Data.getStore(Album)
class Album { class Album {
@@ -20,14 +26,20 @@ class Album {
} }
} }
const previewFromImage = (imgs = []) => imgs.length ? imgs[0] : null const previewFromImage = (imgs = []) => imgs.length
? imgs[0]
: null
const processAlbum = async album => { const processAlbum = async album => {
const previewImageId = album.preview ? album.preview : previewFromImage(album.images) const previewImageId = album.preview ? album.preview : previewFromImage(album.images)
let preview let preview
if (previewImageId) { if (previewImageId) {
const image = await Image.findById(previewImageId) const image = await Image.findById(previewImageId)
preview = image.data.medium preview = image.findArtifact(previewTypes)
} else {
preview = {
url: null,
}
} }
return { return {
+5 -1
View File
@@ -5,6 +5,10 @@ const {render} = require('../lib/render')
const getPathWithNoTrailingSlash = require('../lib/url').getPathWithNoTrailingSlash const getPathWithNoTrailingSlash = require('../lib/url').getPathWithNoTrailingSlash
const {get} = require('koa-route') const {get} = require('koa-route')
const previewUrl = preview => preview
? preview.url
: null
function getMeta() { function getMeta() {
return { return {
title: 'Галерея', title: 'Галерея',
@@ -16,7 +20,7 @@ const GItem = ({album}) => (
<div className="gallery-item"> <div className="gallery-item">
<a href={album.url}> <a href={album.url}>
<h2>{album.title}</h2> <h2>{album.title}</h2>
<img src={album.preview.url} alt={album.title}/> <img src={previewUrl(album.preview)} alt={album.title}/>
</a> </a>
</div> </div>
) )