summaryrefslogtreecommitdiff
path: root/packages/client/src/components
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-01-28 00:46:49 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-01-28 00:46:49 +0900
commit2a4f2fba09be1c0e38c3848718080595d89ada47 (patch)
treec944fb5fa66042a0c3b5f8ec925f1799fbf9e952 /packages/client/src/components
parent12.102.1 (diff)
downloadmisskey-2a4f2fba09be1c0e38c3848718080595d89ada47.tar.gz
misskey-2a4f2fba09be1c0e38c3848718080595d89ada47.tar.bz2
misskey-2a4f2fba09be1c0e38c3848718080595d89ada47.zip
refactor(client): use composition api
Diffstat (limited to 'packages/client/src/components')
-rw-r--r--packages/client/src/components/media-image.vue62
1 files changed, 21 insertions, 41 deletions
diff --git a/packages/client/src/components/media-image.vue b/packages/client/src/components/media-image.vue
index 3e2cabae0a..43639f6771 100644
--- a/packages/client/src/components/media-image.vue
+++ b/packages/client/src/components/media-image.vue
@@ -20,52 +20,32 @@
</div>
</template>
-<script lang="ts">
-import { defineComponent } from 'vue';
+<script lang="ts" setup>
+import { watch } from 'vue';
+import * as misskey from 'misskey-js';
import { getStaticImageUrl } from '@/scripts/get-static-image-url';
import ImgWithBlurhash from '@/components/img-with-blurhash.vue';
-import * as os from '@/os';
+import { defaultStore } from '@/store';
-export default defineComponent({
- components: {
- ImgWithBlurhash
- },
- props: {
- image: {
- type: Object,
- required: true
- },
- raw: {
- default: false
- }
- },
- data() {
- return {
- hide: true,
- };
- },
- computed: {
- url(): any {
- let url = this.$store.state.disableShowingAnimatedImages
- ? getStaticImageUrl(this.image.thumbnailUrl)
- : this.image.thumbnailUrl;
+const props = defineProps<{
+ image: misskey.entities.DriveFile;
+ raw?: boolean;
+}>();
- if (this.raw || this.$store.state.loadRawImages) {
- url = this.image.url;
- }
+let hide = $ref(true);
- return url;
- }
- },
- created() {
- // Plugin:register_note_view_interruptor を使って書き換えられる可能性があるためwatchする
- this.$watch('image', () => {
- this.hide = (this.$store.state.nsfw === 'force') ? true : this.image.isSensitive && (this.$store.state.nsfw !== 'ignore');
- }, {
- deep: true,
- immediate: true,
- });
- },
+const url = (props.raw || defaultStore.state.loadRawImages)
+ ? props.image.url
+ : defaultStore.state.disableShowingAnimatedImages
+ ? getStaticImageUrl(props.image.thumbnailUrl)
+ : props.image.thumbnailUrl;
+
+// Plugin:register_note_view_interruptor を使って書き換えられる可能性があるためwatchする
+watch(() => props.image, () => {
+ hide = (defaultStore.state.nsfw === 'force') ? true : props.image.isSensitive && (defaultStore.state.nsfw !== 'ignore');
+}, {
+ deep: true,
+ immediate: true,
});
</script>