summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-07-31 05:54:49 +0000
committertamaina <tamaina@hotmail.co.jp>2023-07-31 05:54:49 +0000
commit61c9b0757e413ea4fb0a4a8994a79eef23edc48c (patch)
tree65be03bdf618283d3f699acf524e937f531ccded /packages/frontend/src
parentchore: Safari(beta?)でTLのマージンがおかしいのを修正 (diff)
parentfix(frontend): 未読のお知らせの「わかった」をクリック・... (diff)
downloadmisskey-61c9b0757e413ea4fb0a4a8994a79eef23edc48c.tar.gz
misskey-61c9b0757e413ea4fb0a4a8994a79eef23edc48c.tar.bz2
misskey-61c9b0757e413ea4fb0a4a8994a79eef23edc48c.zip
Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/pages/announcements.vue24
1 files changed, 13 insertions, 11 deletions
diff --git a/packages/frontend/src/pages/announcements.vue b/packages/frontend/src/pages/announcements.vue
index c04db7c4b5..dd166d3c51 100644
--- a/packages/frontend/src/pages/announcements.vue
+++ b/packages/frontend/src/pages/announcements.vue
@@ -7,15 +7,15 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkStickyContainer>
<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template>
<MkSpacer :contentMax="800">
- <MkPagination v-slot="{items}" :pagination="pagination" class="ruryvtyk _gaps_m">
- <section v-for="(announcement, i) in items" :key="announcement.id" class="announcement _panel">
+ <MkPagination ref="paginationEl" v-slot="{items}" :pagination="pagination" class="ruryvtyk _gaps_m">
+ <section v-for="announcement in items" :key="announcement.id" class="announcement _panel">
<div class="header"><span v-if="$i && !announcement.isRead">🆕 </span>{{ announcement.title }}</div>
<div class="content">
<Mfm :text="announcement.text"/>
<img v-if="announcement.imageUrl" :src="announcement.imageUrl"/>
</div>
<div v-if="$i && !announcement.isRead" class="footer">
- <MkButton primary @click="read(items, announcement, i)"><i class="ti ti-check"></i> {{ i18n.ts.gotIt }}</MkButton>
+ <MkButton primary @click="read(announcement.id)"><i class="ti ti-check"></i> {{ i18n.ts.gotIt }}</MkButton>
</div>
</section>
</MkPagination>
@@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<script lang="ts" setup>
-import { } from 'vue';
+import { ref } from 'vue';
import MkPagination from '@/components/MkPagination.vue';
import MkButton from '@/components/MkButton.vue';
import * as os from '@/os';
@@ -37,13 +37,15 @@ const pagination = {
limit: 10,
};
-// TODO: これは実質的に親コンポーネントから子コンポーネントのプロパティを変更してるのでなんとかしたい
-function read(items, announcement, i) {
- items[i] = {
- ...announcement,
- isRead: true,
- };
- os.api('i/read-announcement', { announcementId: announcement.id });
+const paginationEl = ref<InstanceType<typeof MkPagination>>();
+
+function read(id: string) {
+ if (!paginationEl.value) return;
+ paginationEl.value.updateItem(id, announcement => {
+ announcement.isRead = true;
+ return announcement;
+ });
+ os.api('i/read-announcement', { announcementId: id });
}
const headerActions = $computed(() => []);