1
1
mirror of https://github.com/kokonect-link/cherrypick synced 2024-11-01 15:45:58 +09:00

refactor(client): use composition api

This commit is contained in:
syuilo 2022-01-28 00:46:49 +09:00
parent 990fef5993
commit 2a4f2fba09

View File

@ -20,52 +20,32 @@
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts" setup>
import { defineComponent } from 'vue'; import { watch } from 'vue';
import * as misskey from 'misskey-js';
import { getStaticImageUrl } from '@/scripts/get-static-image-url'; import { getStaticImageUrl } from '@/scripts/get-static-image-url';
import ImgWithBlurhash from '@/components/img-with-blurhash.vue'; import ImgWithBlurhash from '@/components/img-with-blurhash.vue';
import * as os from '@/os'; import { defaultStore } from '@/store';
export default defineComponent({ const props = defineProps<{
components: { image: misskey.entities.DriveFile;
ImgWithBlurhash raw?: boolean;
}, }>();
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;
if (this.raw || this.$store.state.loadRawImages) { let hide = $ref(true);
url = this.image.url;
}
return url; const url = (props.raw || defaultStore.state.loadRawImages)
} ? props.image.url
}, : defaultStore.state.disableShowingAnimatedImages
created() { ? getStaticImageUrl(props.image.thumbnailUrl)
// Plugin:register_note_view_interruptor 使watch : props.image.thumbnailUrl;
this.$watch('image', () => {
this.hide = (this.$store.state.nsfw === 'force') ? true : this.image.isSensitive && (this.$store.state.nsfw !== 'ignore'); // Plugin:register_note_view_interruptor 使watch
}, { watch(() => props.image, () => {
deep: true, hide = (defaultStore.state.nsfw === 'force') ? true : props.image.isSensitive && (defaultStore.state.nsfw !== 'ignore');
immediate: true, }, {
}); deep: true,
}, immediate: true,
}); });
</script> </script>