|
|
|
@ -329,7 +329,8 @@ export default class MediaGallery extends React.PureComponent { |
|
|
|
|
render () { |
|
|
|
|
const { media, intl, sensitive, letterbox, fullwidth, defaultWidth } = this.props; |
|
|
|
|
const { visible } = this.state; |
|
|
|
|
const size = media.take(4).size; |
|
|
|
|
const size = media.take(4).size; |
|
|
|
|
const uncached = media.every(attachment => attachment.get('type') === 'unknown'); |
|
|
|
|
|
|
|
|
|
const width = this.state.width || defaultWidth; |
|
|
|
|
|
|
|
|
@ -350,10 +351,16 @@ export default class MediaGallery extends React.PureComponent { |
|
|
|
|
if (this.isStandaloneEligible()) { |
|
|
|
|
children = <Item standalone onClick={this.handleClick} attachment={media.get(0)} displayWidth={width} visible={visible} />; |
|
|
|
|
} else { |
|
|
|
|
children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} onClick={this.handleClick} attachment={attachment} index={i} size={size} letterbox={letterbox} displayWidth={width} visible={visible} />); |
|
|
|
|
children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} onClick={this.handleClick} attachment={attachment} index={i} size={size} letterbox={letterbox} displayWidth={width} visible={visible || uncached} />); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (visible) { |
|
|
|
|
if (uncached) { |
|
|
|
|
spoilerButton = ( |
|
|
|
|
<button type='button' disabled className='spoiler-button__overlay'> |
|
|
|
|
<span className='spoiler-button__overlay__label'><FormattedMessage id='status.uncached_media_warning' defaultMessage='Not available' /></span> |
|
|
|
|
</button> |
|
|
|
|
); |
|
|
|
|
} else if (visible) { |
|
|
|
|
spoilerButton = <IconButton title={intl.formatMessage(messages.toggle_visible)} icon='eye-slash' overlay onClick={this.handleOpen} />; |
|
|
|
|
} else { |
|
|
|
|
spoilerButton = ( |
|
|
|
@ -365,7 +372,7 @@ export default class MediaGallery extends React.PureComponent { |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
<div className={computedClass} style={style} ref={this.handleRef}> |
|
|
|
|
<div className={classNames('spoiler-button', { 'spoiler-button--minified': visible })}> |
|
|
|
|
<div className={classNames('spoiler-button', { 'spoiler-button--minified': visible && !uncached })}> |
|
|
|
|
{spoilerButton} |
|
|
|
|
{visible && sensitive && ( |
|
|
|
|
<span className='sensitive-marker'> |
|
|
|
|