|
|
|
@ -7,6 +7,7 @@ import MediaGallery from 'flavours/glitch/components/media_gallery'; |
|
|
|
|
import Video from 'flavours/glitch/features/video'; |
|
|
|
|
import Card from 'flavours/glitch/features/status/components/card'; |
|
|
|
|
import Poll from 'flavours/glitch/components/poll'; |
|
|
|
|
import Hashtag from 'flavours/glitch/components/hashtag'; |
|
|
|
|
import Audio from 'flavours/glitch/features/audio'; |
|
|
|
|
import ModalRoot from 'flavours/glitch/components/modal_root'; |
|
|
|
|
import MediaModal from 'flavours/glitch/features/ui/components/media_modal'; |
|
|
|
@ -15,7 +16,7 @@ import { List as ImmutableList, fromJS } from 'immutable'; |
|
|
|
|
const { localeData, messages } = getLocale(); |
|
|
|
|
addLocaleData(localeData); |
|
|
|
|
|
|
|
|
|
const MEDIA_COMPONENTS = { MediaGallery, Video, Card, Poll, Audio }; |
|
|
|
|
const MEDIA_COMPONENTS = { MediaGallery, Video, Card, Poll, Hashtag, Audio }; |
|
|
|
|
|
|
|
|
|
export default class MediaContainer extends PureComponent { |
|
|
|
|
|
|
|
|
@ -56,12 +57,13 @@ export default class MediaContainer extends PureComponent { |
|
|
|
|
{[].map.call(components, (component, i) => { |
|
|
|
|
const componentName = component.getAttribute('data-component'); |
|
|
|
|
const Component = MEDIA_COMPONENTS[componentName]; |
|
|
|
|
const { media, card, poll, ...props } = JSON.parse(component.getAttribute('data-props')); |
|
|
|
|
const { media, card, poll, hashtag, ...props } = JSON.parse(component.getAttribute('data-props')); |
|
|
|
|
|
|
|
|
|
Object.assign(props, { |
|
|
|
|
...(media ? { media: fromJS(media) } : {}), |
|
|
|
|
...(card ? { card: fromJS(card) } : {}), |
|
|
|
|
...(poll ? { poll: fromJS(poll) } : {}), |
|
|
|
|
...(media ? { media: fromJS(media) } : {}), |
|
|
|
|
...(card ? { card: fromJS(card) } : {}), |
|
|
|
|
...(poll ? { poll: fromJS(poll) } : {}), |
|
|
|
|
...(hashtag ? { hashtag: fromJS(hashtag) } : {}), |
|
|
|
|
|
|
|
|
|
...(componentName === 'Video' ? { |
|
|
|
|
onOpenVideo: this.handleOpenVideo, |
|
|
|
@ -75,6 +77,7 @@ export default class MediaContainer extends PureComponent { |
|
|
|
|
component, |
|
|
|
|
); |
|
|
|
|
})} |
|
|
|
|
|
|
|
|
|
<ModalRoot onClose={this.handleCloseMedia}> |
|
|
|
|
{this.state.media && ( |
|
|
|
|
<MediaModal |
|
|
|
|