44 lines
		
	
	
		
			No EOL
		
	
	
		
			887 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			No EOL
		
	
	
		
			887 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <ModalDialog :label :shown background="var(--muted-modal-bg)" muted="true">
 | |
|   {{#if type === 'gifv'}}
 | |
|     <video
 | |
|       aria-label="Animated GIF: {{description || ''}}"
 | |
|       poster="{{poster}}"
 | |
|       src="{{src}}"
 | |
|       width="{{width}}"
 | |
|       height="{{height}}"
 | |
|       autoplay
 | |
|       muted
 | |
|       loop
 | |
|       playsinline
 | |
|     />
 | |
|   {{else}}
 | |
|     <img
 | |
|       src="{{src}}"
 | |
|       width="{{width}}"
 | |
|       height="{{height}}"
 | |
|       alt="{{description || ''}}"
 | |
|     />
 | |
|   {{/if}}
 | |
| </ModalDialog>
 | |
| <style>
 | |
|   :global(#modal-dialog img, #modal-dialog video) {
 | |
|     object-fit: contain;
 | |
|     max-width: calc(100vw - 20px);
 | |
|     max-height: calc(100% - 20px);
 | |
|     overflow: hidden;
 | |
|   }
 | |
| </style>
 | |
| <script>
 | |
|   import ModalDialog from './ModalDialog.html'
 | |
| 
 | |
|   export default {
 | |
|     components: {
 | |
|       ModalDialog
 | |
|     },
 | |
|     methods: {
 | |
|       async show() {
 | |
|         this.set({shown: true})
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| </script> |