forked from FoundKeyGang/FoundKey
refactor pages/user/index.photos.vue to compositon API
This commit is contained in:
parent
0cf6df8980
commit
09b844035c
1 changed files with 39 additions and 51 deletions
|
@ -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>
|
||||||
|
|
Loading…
Reference in a new issue