Album preview update
This commit is contained in:
1 parent
c3676a02be
commit
853f155b66
2 files changed
+19
-3
No files matched your search
+14
-2
@@ -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,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>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in new issue
Block a user