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