diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-12-12 13:04:51 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-12-12 13:04:51 +0000 |
| commit | 6d4ae935921ef1dcc5c908f216f6e8affc6e60c3 (patch) | |
| tree | 6c1f7724b63efa8f48f1c9e21f2789f9d9c000b2 /packages/frontend/src/components/MkSchedulePostListDialog.vue | |
| parent | fix(backend): アドレス入力で直接ユーザのプロフィールペー... (diff) | |
| parent | merge: Schedule Notes (!804) (diff) | |
| download | sharkey-6d4ae935921ef1dcc5c908f216f6e8affc6e60c3.tar.gz sharkey-6d4ae935921ef1dcc5c908f216f6e8affc6e60c3.tar.bz2 sharkey-6d4ae935921ef1dcc5c908f216f6e8affc6e60c3.zip | |
Merge branch 'develop' into feature/2024.10
Diffstat (limited to 'packages/frontend/src/components/MkSchedulePostListDialog.vue')
| -rw-r--r-- | packages/frontend/src/components/MkSchedulePostListDialog.vue | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkSchedulePostListDialog.vue b/packages/frontend/src/components/MkSchedulePostListDialog.vue new file mode 100644 index 0000000000..d0716ead79 --- /dev/null +++ b/packages/frontend/src/components/MkSchedulePostListDialog.vue @@ -0,0 +1,62 @@ +<!-- +SPDX-FileCopyrightText: syuilo and other misskey contributors +SPDX-License-Identifier: AGPL-3.0-only +--> + +<template> +<MkModalWindow + ref="dialogEl" + :withOkButton="false" + @click="cancel()" + @close="cancel()" +> + <template #header>{{ i18n.ts.schedulePostList }}</template> + <MkSpacer :marginMin="14" :marginMax="16"> + <MkPagination ref="paginationEl" :pagination="pagination"> + <template #empty> + <div class="_fullinfo"> + <img :src="infoImageUrl" class="_ghost"/> + <div>{{ i18n.ts.nothing }}</div> + </div> + </template> + + <template #default="{ items }"> + <div class="_gaps"> + <MkNoteSimple v-for="item in items" :key="item.id" :scheduled="true" :note="item.note" @editScheduleNote="listUpdate"/> + </div> + </template> + </MkPagination> + </MkSpacer> +</MkModalWindow> +</template> + +<script lang="ts" setup> +import { ref } from 'vue'; +import type { Paging } from '@/components/MkPagination.vue'; +import MkModalWindow from '@/components/MkModalWindow.vue'; +import MkPagination from '@/components/MkPagination.vue'; +import MkNoteSimple from '@/components/MkNoteSimple.vue'; +import { i18n } from '@/i18n.js'; +import { infoImageUrl } from '@/instance.js'; + +const emit = defineEmits<{ + (ev: 'cancel'): void; +}>(); + +const dialogEl = ref(); +const cancel = () => { + emit('cancel'); + dialogEl.value.close(); +}; + +const paginationEl = ref(); +const pagination: Paging = { + endpoint: 'notes/schedule/list', + limit: 10, + offsetMode: true, +}; + +function listUpdate() { + paginationEl.value.reload(); +} +</script> |