diff options
| author | Zephyrrus <[email protected]> | 2020-07-04 23:18:51 +0300 |
|---|---|---|
| committer | Zephyrrus <[email protected]> | 2020-07-04 23:18:51 +0300 |
| commit | 1e1f3fbb27976a34f53a4e8d250da34dad4e6c20 (patch) | |
| tree | 4c2df144de7db279b752417e60dddecbb4bfc328 /src/api/utils | |
| parent | fix: fix axios plugin throwing if no message from backend (diff) | |
| download | host.fuwn.me-1e1f3fbb27976a34f53a4e8d250da34dad4e6c20.tar.xz host.fuwn.me-1e1f3fbb27976a34f53a4e8d250da34dad4e6c20.zip | |
feat: experimental videos in grid
Diffstat (limited to 'src/api/utils')
| -rw-r--r-- | src/api/utils/ThumbUtil.js | 8 | ||||
| -rw-r--r-- | src/api/utils/Util.js | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/api/utils/ThumbUtil.js b/src/api/utils/ThumbUtil.js index 2931d3b..b449a6c 100644 --- a/src/api/utils/ThumbUtil.js +++ b/src/api/utils/ThumbUtil.js @@ -72,10 +72,16 @@ class ThumbUtil { } static getFileThumbnail(filename) { + // TODO: refactor so we don't do the same compare multiple times (poor cpu cycles) if (!filename) return null; const ext = path.extname(filename).toLowerCase(); if (!ThumbUtil.imageExtensions.includes(ext) && !ThumbUtil.videoExtensions.includes(ext)) return null; - return `${filename.slice(0, -ext.length)}.png`; + if (ThumbUtil.imageExtensions.includes(ext)) return { thumb: `${filename.slice(0, -ext.length)}.png` }; + if (ThumbUtil.videoExtensions.includes(ext)) + return { + thumb: `${filename.slice(0, -ext.length)}.png`, + preview: `${filename.slice(0, -ext.length)}.webm` + }; } static async removeThumbs(thumbName) { diff --git a/src/api/utils/Util.js b/src/api/utils/Util.js index c997581..496ea18 100644 --- a/src/api/utils/Util.js +++ b/src/api/utils/Util.js @@ -40,10 +40,11 @@ class Util { the site and the API under the same domain. Pls fix. */ file.url = `${process.env.DOMAIN}/${file.name}`; - const thumb = ThumbUtil.getFileThumbnail(file.name); + const { thumb, preview } = ThumbUtil.getFileThumbnail(file.name) || {}; if (thumb) { file.thumb = `${process.env.DOMAIN}/thumbs/${thumb}`; file.thumbSquare = `${process.env.DOMAIN}/thumbs/square/${thumb}`; + file.preview = preview && `${process.env.DOMAIN}/thumbs/preview/${preview}`; } return file; } |