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> |