Merge branch 'main' into feat/secure-fetch
ci/woodpecker/pr/lint-backend Pipeline was successful Details
ci/woodpecker/pr/build Pipeline was successful Details
ci/woodpecker/pr/lint-client Pipeline failed Details
ci/woodpecker/pr/test Pipeline failed Details

This commit is contained in:
Norm 2022-07-30 23:00:05 +00:00
commit 530c7bb5e1
4 changed files with 56 additions and 83 deletions

View File

@ -31,7 +31,7 @@
</template>
<script lang="ts" setup>
import { defineComponent, defineAsyncComponent, reactive, ref, computed } from 'vue';
import { defineAsyncComponent, reactive, ref, computed } from 'vue';
import { v4 as uuid } from 'uuid';
import MkSelect from '@/components/form/select.vue';
import MkButton from '@/components/ui/button.vue';

View File

@ -21,15 +21,15 @@ import { i18n } from '@/i18n';
import { definePageMetadata } from '@/scripts/page-metadata';
async function readAllUnreadNotes() {
await os.api('i/read-all-unread-notes');
await os.apiWithDialog('i/read-all-unread-notes');
}
async function readAllMessagingMessages() {
await os.api('i/read-all-messaging-messages');
await os.apiWithDialog('i/read-all-messaging-messages');
}
async function readAllNotifications() {
await os.api('notifications/mark-all-as-read');
await os.apiWithDialog('notifications/mark-all-as-read');
}
function configure() {

View File

@ -9,40 +9,25 @@
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
<script lang="ts" setup>
import { watch } from 'vue';
import MkPagination from '@/components/ui/pagination.vue';
export default defineComponent({
components: {
MkPagination,
},
const props = defineProps<{
user: Record<string, any>;
}>();
props: {
user: {
type: Object,
required: true
},
const pagination = {
endpoint: 'users/clips',
limit: 20,
params: {
userId: props.user.id,
},
};
data() {
return {
pagination: {
endpoint: 'users/clips' as const,
limit: 20,
params: {
userId: this.user.id,
}
},
};
},
let list = $ref();
watch: {
user() {
this.$refs.list.reload();
}
},
});
watch(props.user, () => list.reload());
</script>
<style lang="scss" scoped>

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>