diff options
| author | こぴなたみぽ <syuilotan@yahoo.co.jp> | 2018-02-15 15:20:29 +0900 |
|---|---|---|
| committer | こぴなたみぽ <syuilotan@yahoo.co.jp> | 2018-02-15 15:20:29 +0900 |
| commit | cfd0fb81dcad5feec43a6553faf65e757c4f0092 (patch) | |
| tree | 8fc27123f8c7b38fc20ecdc69a87278457ea02fe /src/web/app/common | |
| parent | wip (diff) | |
| parent | wip (diff) | |
| download | misskey-cfd0fb81dcad5feec43a6553faf65e757c4f0092.tar.gz misskey-cfd0fb81dcad5feec43a6553faf65e757c4f0092.tar.bz2 misskey-cfd0fb81dcad5feec43a6553faf65e757c4f0092.zip | |
Merge branch 'vue-#972' of https://github.com/syuilo/misskey into vue-#972
Diffstat (limited to 'src/web/app/common')
| -rw-r--r-- | src/web/app/common/views/components/images.vue | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/web/app/common/views/components/images.vue b/src/web/app/common/views/components/images.vue new file mode 100644 index 0000000000..dc802a0180 --- /dev/null +++ b/src/web/app/common/views/components/images.vue @@ -0,0 +1,63 @@ +<template> +<div class="mk-images"> + <mk-images-image v-for="image in images" ref="image" :image="image" :key="image.id"/> +</div> +</template> + +<script lang="ts"> +import Vue from 'vue'; + +export default Vue.extend({ + props: ['images'], + mounted() { + const tags = this.$refs.image as Vue[]; + + if (this.images.length == 1) { + (this.$el.style as any).gridTemplateRows = '1fr'; + + (tags[0].$el.style as any).gridColumn = '1 / 2'; + (tags[0].$el.style as any).gridRow = '1 / 2'; + } else if (this.images.length == 2) { + (this.$el.style as any).gridTemplateColumns = '1fr 1fr'; + (this.$el.style as any).gridTemplateRows = '1fr'; + + (tags[0].$el.style as any).gridColumn = '1 / 2'; + (tags[0].$el.style as any).gridRow = '1 / 2'; + (tags[1].$el.style as any).gridColumn = '2 / 3'; + (tags[1].$el.style as any).gridRow = '1 / 2'; + } else if (this.images.length == 3) { + (this.$el.style as any).gridTemplateColumns = '1fr 0.5fr'; + (this.$el.style as any).gridTemplateRows = '1fr 1fr'; + + (tags[0].$el.style as any).gridColumn = '1 / 2'; + (tags[0].$el.style as any).gridRow = '1 / 3'; + (tags[1].$el.style as any).gridColumn = '2 / 3'; + (tags[1].$el.style as any).gridRow = '1 / 2'; + (tags[2].$el.style as any).gridColumn = '2 / 3'; + (tags[2].$el.style as any).gridRow = '2 / 3'; + } else if (this.images.length == 4) { + (this.$el.style as any).gridTemplateColumns = '1fr 1fr'; + (this.$el.style as any).gridTemplateRows = '1fr 1fr'; + + (tags[0].$el.style as any).gridColumn = '1 / 2'; + (tags[0].$el.style as any).gridRow = '1 / 2'; + (tags[1].$el.style as any).gridColumn = '2 / 3'; + (tags[1].$el.style as any).gridRow = '1 / 2'; + (tags[2].$el.style as any).gridColumn = '1 / 2'; + (tags[2].$el.style as any).gridRow = '2 / 3'; + (tags[3].$el.style as any).gridColumn = '2 / 3'; + (tags[3].$el.style as any).gridRow = '2 / 3'; + } + } +}); +</script> + +<style lang="stylus" scoped> +.mk-images + display grid + grid-gap 4px + height 256px + + @media (max-width 500px) + height 192px +</style> |