refactor pages/user/index.photos.vue to compositon API

This commit is contained in:
Johann150 2022-07-31 00:19:00 +02:00
parent 0cf6df8980
commit 09b844035c
Signed by untrusted user: Johann150
GPG key ID: 9EE6577A2A06F8F1

View file

@ -17,65 +17,53 @@
</MkContainer>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
<script lang="ts" setup>
import { onMounted } from 'vue';
import { getStaticImageUrl } from '@/scripts/get-static-image-url';
import { notePage } from '@/filters/note';
import * as os from '@/os';
import MkContainer from '@/components/ui/container.vue';
import ImgWithBlurhash from '@/components/img-with-blurhash.vue';
import { defaultStore } from '@/store';
export default defineComponent({
components: {
MkContainer,
ImgWithBlurhash,
},
props: {
user: {
type: Object,
required: true
},
},
data() {
return {
fetching: true,
images: [],
};
},
mounted() {
const image = [
'image/jpeg',
'image/png',
'image/gif',
'image/apng',
'image/vnd.mozilla.apng',
];
os.api('users/notes', {
userId: this.user.id,
fileType: image,
excludeNsfw: this.$store.state.nsfw !== 'ignore',
limit: 10,
}).then(notes => {
for (const note of notes) {
for (const file of note.files) {
this.images.push({
note,
file
});
}
const props = defineProps<{
user: Record<string, any>;
}>();
let fetching = $ref(true);
let images = $ref([]);
onMounted(() => {
const image = [
'image/jpeg',
'image/png',
'image/gif',
'image/apng',
'image/vnd.mozilla.apng',
];
os.api('users/notes', {
userId: props.user.id,
fileType: image,
excludeNsfw: defaultStore.state.nsfw !== 'ignore',
limit: 10,
}).then(notes => {
for (const note of notes) {
for (const file of note.files) {
images.push({
note,
file
});
}
this.fetching = false;
});
},
methods: {
thumbnail(image: any): string {
return this.$store.state.disableShowingAnimatedImages
? getStaticImageUrl(image.thumbnailUrl)
: image.thumbnailUrl;
},
notePage
},
}
fetching = false;
});
});
function thumbnail(image: any): string {
return defaultStore.state.disableShowingAnimatedImages
? getStaticImageUrl(image.thumbnailUrl)
: image.thumbnailUrl;
}
</script>
<style lang="scss" scoped>