fix(client): ノート詳細が開けないのを直したり

Fix #8305
This commit is contained in:
syuilo 2022-02-11 22:14:14 +09:00
parent de6e3d64b4
commit b01a0325ba
3 changed files with 22 additions and 11 deletions

View file

@ -10,6 +10,14 @@
You should also include the user name that made the change. You should also include the user name that made the change.
--> -->
## 12.x.x (unreleased)
### Improvements
-
### Bugfixes
- クライアント: ノートの詳細が表示されない問題を修正 @syuilo
## 12.106.2 (2022/02/11) ## 12.106.2 (2022/02/11)
### Bugfixes ### Bugfixes

View file

@ -154,11 +154,13 @@ const props = defineProps<{
const inChannel = inject('inChannel', null); const inChannel = inject('inChannel', null);
const note = $ref(JSON.parse(JSON.stringify(props.note)));
const isRenote = ( const isRenote = (
props.note.renote != null && note.renote != null &&
props.note.text == null && note.text == null &&
props.note.fileIds.length === 0 && note.fileIds.length === 0 &&
props.note.poll == null note.poll == null
); );
const el = ref<HTMLElement>(); const el = ref<HTMLElement>();
@ -166,8 +168,8 @@ const menuButton = ref<HTMLElement>();
const renoteButton = ref<InstanceType<typeof XRenoteButton>>(); const renoteButton = ref<InstanceType<typeof XRenoteButton>>();
const renoteTime = ref<HTMLElement>(); const renoteTime = ref<HTMLElement>();
const reactButton = ref<HTMLElement>(); const reactButton = ref<HTMLElement>();
let appearNote = $ref(isRenote ? props.note.renote as misskey.entities.Note : props.note); let appearNote = $ref(isRenote ? note.renote as misskey.entities.Note : note);
const isMyRenote = $i && ($i.id === props.note.userId); const isMyRenote = $i && ($i.id === note.userId);
const showContent = ref(false); const showContent = ref(false);
const isDeleted = ref(false); const isDeleted = ref(false);
const muted = ref(checkWordMute(appearNote, $i, defaultStore.state.mutedWords)); const muted = ref(checkWordMute(appearNote, $i, defaultStore.state.mutedWords));
@ -188,8 +190,9 @@ const keymap = {
}; };
useNoteCapture({ useNoteCapture({
appearNote: $$(appearNote),
rootEl: el, rootEl: el,
note: $$(appearNote),
isDeletedRef: isDeleted,
}); });
function reply(viaKeyboard = false): void { function reply(viaKeyboard = false): void {
@ -237,12 +240,12 @@ function onContextmenu(ev: MouseEvent): void {
ev.preventDefault(); ev.preventDefault();
react(); react();
} else { } 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 { 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 viaKeyboard
}).then(focus); }).then(focus);
} }
@ -255,7 +258,7 @@ function showRenoteMenu(viaKeyboard = false): void {
danger: true, danger: true,
action: () => { action: () => {
os.api('notes/delete', { os.api('notes/delete', {
noteId: props.note.id noteId: note.id
}); });
isDeleted.value = true; isDeleted.value = true;
} }

View file

@ -180,7 +180,7 @@ const keymap = {
useNoteCapture({ useNoteCapture({
rootEl: el, rootEl: el,
note: $$(appearNote), note: $$(appearNote),
isDeletedRef: $$(isDeleted), isDeletedRef: isDeleted,
}); });
function reply(viaKeyboard = false): void { function reply(viaKeyboard = false): void {