diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-08-11 19:38:53 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-08-11 19:38:53 +0200 |
| commit | 6a4d95f988e7782080de3056fe60522404ea4a12 (patch) | |
| tree | 214a6c478ccf7e6f4f4419b2963c8e32c2d2c2a6 /animism-align/frontend/app/views/viewer/transcript/components | |
| parent | 5f7315b1512ecb36be73ab91b52a178257337dd7 (diff) | |
adding vitrine
Diffstat (limited to 'animism-align/frontend/app/views/viewer/transcript/components')
| -rw-r--r-- | animism-align/frontend/app/views/viewer/transcript/components/elementTypes.gallery.js | 22 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/viewer/transcript/components/index.js | 7 |
2 files changed, 29 insertions, 0 deletions
diff --git a/animism-align/frontend/app/views/viewer/transcript/components/elementTypes.gallery.js b/animism-align/frontend/app/views/viewer/transcript/components/elementTypes.gallery.js new file mode 100644 index 0000000..0eb8b19 --- /dev/null +++ b/animism-align/frontend/app/views/viewer/transcript/components/elementTypes.gallery.js @@ -0,0 +1,22 @@ +import React, { Component } from 'react' + +import { MediaCitation } from './elementTypes.image' + +export const MediaGallery = ({ paragraph, media, currentParagraph, currentAnnotation, onAnnotationClick, onDoubleClick }) => { + if (!media.lookup) return <div /> + const className = currentParagraph ? 'media current' : 'media' + const annotation = paragraph.annotations[0] + const item = media.lookup[annotation.settings.media_id] + if (!item) return <div>Media not found: {annotation.settings.media_id}</div> + return ( + <div + className={className} + onClick={e => onAnnotationClick(e, paragraph, annotation)} + onDoubleClick={e => onDoubleClick(e, paragraph)} + > + {"["} + <MediaCitation media={item} /> + {"]"} + </div> + ) +} diff --git a/animism-align/frontend/app/views/viewer/transcript/components/index.js b/animism-align/frontend/app/views/viewer/transcript/components/index.js index a2433ae..5cf7196 100644 --- a/animism-align/frontend/app/views/viewer/transcript/components/index.js +++ b/animism-align/frontend/app/views/viewer/transcript/components/index.js @@ -12,6 +12,10 @@ import { MediaImage } from './elementTypes.image' +import { + MediaGallery +} from './elementTypes.gallery' + export const transcriptElementLookup = { paragraph: React.memo(Paragraph), intro_paragraph: React.memo(Paragraph), @@ -22,4 +26,7 @@ export const transcriptElementLookup = { header: React.memo(ParagraphHeading), video: React.memo(MediaVideo), image: React.memo(MediaImage), + gallery: React.memo(MediaGallery), + grid: React.memo(MediaGallery), + vitrine: React.memo(MediaGallery), } |
