diff --git a/CHANGELOG.md b/CHANGELOG.md index 81981e8ae..1a396102b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,14 @@ You should also include the user name that made the change. --> +## 12.x.x (unreleased) + +### Improvements +- + +### Bugfixes +- クライアント: ノートの詳細が表示されない問題を修正 @syuilo + ## 12.106.2 (2022/02/11) ### Bugfixes diff --git a/packages/client/src/components/note-detailed.vue b/packages/client/src/components/note-detailed.vue index 5fc3a0f33..80233d608 100644 --- a/packages/client/src/components/note-detailed.vue +++ b/packages/client/src/components/note-detailed.vue @@ -154,11 +154,13 @@ const props = defineProps<{ const inChannel = inject('inChannel', null); +const note = $ref(JSON.parse(JSON.stringify(props.note))); + const isRenote = ( - props.note.renote != null && - props.note.text == null && - props.note.fileIds.length === 0 && - props.note.poll == null + note.renote != null && + note.text == null && + note.fileIds.length === 0 && + note.poll == null ); const el = ref(); @@ -166,8 +168,8 @@ const menuButton = ref(); const renoteButton = ref>(); const renoteTime = ref(); const reactButton = ref(); -let appearNote = $ref(isRenote ? props.note.renote as misskey.entities.Note : props.note); -const isMyRenote = $i && ($i.id === props.note.userId); +let appearNote = $ref(isRenote ? note.renote as misskey.entities.Note : note); +const isMyRenote = $i && ($i.id === note.userId); const showContent = ref(false); const isDeleted = ref(false); const muted = ref(checkWordMute(appearNote, $i, defaultStore.state.mutedWords)); @@ -188,8 +190,9 @@ const keymap = { }; useNoteCapture({ - appearNote: $$(appearNote), rootEl: el, + note: $$(appearNote), + isDeletedRef: isDeleted, }); function reply(viaKeyboard = false): void { @@ -237,12 +240,12 @@ function onContextmenu(ev: MouseEvent): void { ev.preventDefault(); react(); } else { - os.contextMenu(getNoteMenu({ note: props.note, translating, translation, menuButton }), ev).then(focus); + os.contextMenu(getNoteMenu({ note: note, translating, translation, menuButton }), ev).then(focus); } } function menu(viaKeyboard = false): void { - os.popupMenu(getNoteMenu({ note: props.note, translating, translation, menuButton }), menuButton.value, { + os.popupMenu(getNoteMenu({ note: note, translating, translation, menuButton }), menuButton.value, { viaKeyboard }).then(focus); } @@ -255,7 +258,7 @@ function showRenoteMenu(viaKeyboard = false): void { danger: true, action: () => { os.api('notes/delete', { - noteId: props.note.id + noteId: note.id }); isDeleted.value = true; } diff --git a/packages/client/src/components/note.vue b/packages/client/src/components/note.vue index 7cf5fb047..93286a28b 100644 --- a/packages/client/src/components/note.vue +++ b/packages/client/src/components/note.vue @@ -180,7 +180,7 @@ const keymap = { useNoteCapture({ rootEl: el, note: $$(appearNote), - isDeletedRef: $$(isDeleted), + isDeletedRef: isDeleted, }); function reply(viaKeyboard = false): void {