pinafore/routes/_components/dialog/ImageDialog.html

44 lines
887 B
HTML
Raw Normal View History

<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}}"
2018-02-05 17:44:46 +01:00
alt="{{description || ''}}"
/>
{{/if}}
</ModalDialog>
<style>
:global(#modal-dialog img, #modal-dialog video) {
object-fit: contain;
max-width: calc(100vw - 20px);
2018-02-23 05:04:19 +01:00
max-height: calc(100% - 20px);
overflow: hidden;
}
</style>
<script>
2018-02-05 18:43:45 +01:00
import ModalDialog from './ModalDialog.html'
export default {
components: {
ModalDialog
},
methods: {
async show() {
this.set({shown: true})
}
}
}
</script>