From 270d9ccc3f93f29559dbf9c746070812a63e99e1 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 20 Sep 2018 03:23:11 +0200 Subject: fileviewer compoonent --- app/client/common/fileViewer.component.js | 57 +++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 app/client/common/fileViewer.component.js (limited to 'app/client/common/fileViewer.component.js') diff --git a/app/client/common/fileViewer.component.js b/app/client/common/fileViewer.component.js new file mode 100644 index 0000000..bc71f20 --- /dev/null +++ b/app/client/common/fileViewer.component.js @@ -0,0 +1,57 @@ +import { h, Component } from 'preact' + +const image_types = { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'gif': 'image/gif', +} + +const audio_types = { + 'wav': 'audio/wav', + 'mp3': 'audio/mp3', + 'flac': 'audio/flac', + 'aiff': 'audio/aiff', +} + +const video_types = { + 'mp4': 'video/mp4', +} + +export default function FileViewer({ file }) { + const { + error, + name, path, + date, size, + buf, + } = file + if (error) { + return
{error}
+ } + if (!buf) { + return
File empty
+ } + const ext = name.split('.').slice(-1)[0].toLowerCase() + let tag; + if (ext in image_types) { + tag = + } else if (ext in audio_types) { + tag =