49 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<div class="status-media {{sensitive ? 'status-media-is-sensitive' : ''}}"
 | 
						|
     style="grid-template-columns: repeat(auto-fit, minmax({{maxMediaWidth}}px, 1fr));" >
 | 
						|
  {{#each mediaAttachments as media}}
 | 
						|
    <Media :media />
 | 
						|
  {{/each}}
 | 
						|
</div>
 | 
						|
<style>
 | 
						|
  .status-media {
 | 
						|
    grid-area: media;
 | 
						|
    display: grid;
 | 
						|
    align-items: center;
 | 
						|
    justify-content: center;
 | 
						|
    justify-items: center;
 | 
						|
    grid-column-gap: 10px;
 | 
						|
    grid-row-gap: 10px;
 | 
						|
    margin: 10px 0;
 | 
						|
  }
 | 
						|
  .status-media.status-media-is-sensitive {
 | 
						|
    margin: 0;
 | 
						|
  }
 | 
						|
  .status-media {
 | 
						|
    overflow: hidden;
 | 
						|
  }
 | 
						|
  .status-media {
 | 
						|
    max-width: calc(100vw - 40px);
 | 
						|
  }
 | 
						|
  @media (max-width: 767px) {
 | 
						|
    .status-media {
 | 
						|
      max-width: calc(100vw - 20px);
 | 
						|
    }
 | 
						|
  }
 | 
						|
</style>
 | 
						|
<script>
 | 
						|
  import Media from './Media.html'
 | 
						|
  import { DEFAULT_MEDIA_WIDTH } from '../../_static/media'
 | 
						|
 | 
						|
  export default {
 | 
						|
    computed: {
 | 
						|
      maxMediaWidth: (mediaAttachments) => {
 | 
						|
        return Math.max.apply(Math, mediaAttachments.map(media => {
 | 
						|
          return media.meta && media.meta.small && typeof media.meta.small.width === 'number' ?  media.meta.small.width : DEFAULT_MEDIA_WIDTH
 | 
						|
        }))
 | 
						|
      }
 | 
						|
    },
 | 
						|
    components: {
 | 
						|
      Media
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script> |