enhance(frontend): ノート詳細ページ読み込み時に前後のノートの存在チェックを行わなず、常に存在すると仮定するようにしてパフォーマンスを向上

This commit is contained in:
syuilo 2023-09-01 09:36:19 +09:00
parent 23102a2c08
commit f75ee1eef0
2 changed files with 4 additions and 19 deletions

View file

@ -28,6 +28,7 @@
- メニューのスイッチの動作を改善 - メニューのスイッチの動作を改善
- 絵文字ピッカーの検索の表示件数を100件に増加 - 絵文字ピッカーの検索の表示件数を100件に増加
- 投稿フォームのプレビューの表示状態を記憶するように - 投稿フォームのプレビューの表示状態を記憶するように
- ノート詳細ページ読み込み時のパフォーマンスを改善
- Enhance: ユーザーメニューでスイッチでユーザーリストに追加・削除できるように - Enhance: ユーザーメニューでスイッチでユーザーリストに追加・削除できるように
- Enhance: 自分が押したリアクションのデザインを改善 - Enhance: 自分が押したリアクションのデザインを改善
- Enhance: ノート検索にローカルのみ検索可能なオプションの追加 - Enhance: ノート検索にローカルのみ検索可能なオプションの追加

View file

@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div class="_margin"> <div class="_margin">
<MkButton v-if="!showNext && hasNext" :class="$style.loadNext" @click="showNext = true"><i class="ti ti-chevron-up"></i></MkButton> <MkButton v-if="!showNext" :class="$style.loadNext" @click="showNext = true"><i class="ti ti-chevron-up"></i></MkButton>
<div class="_margin _gaps_s"> <div class="_margin _gaps_s">
<MkRemoteCaution v-if="note.user.host != null" :href="note.url ?? note.uri"/> <MkRemoteCaution v-if="note.user.host != null" :href="note.url ?? note.uri"/>
<MkNoteDetailed :key="note.id" v-model:note="note" :class="$style.note"/> <MkNoteDetailed :key="note.id" v-model:note="note" :class="$style.note"/>
@ -28,7 +28,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkA> </MkA>
</div> </div>
</div> </div>
<MkButton v-if="!showPrev && hasPrev" :class="$style.loadPrev" @click="showPrev = true"><i class="ti ti-chevron-down"></i></MkButton> <MkButton v-if="!showPrev" :class="$style.loadPrev" @click="showPrev = true"><i class="ti ti-chevron-down"></i></MkButton>
</div> </div>
<div v-if="showPrev" class="_margin"> <div v-if="showPrev" class="_margin">
@ -63,8 +63,6 @@ const props = defineProps<{
let note = $ref<null | misskey.entities.Note>(); let note = $ref<null | misskey.entities.Note>();
let clips = $ref(); let clips = $ref();
let hasPrev = $ref(false);
let hasNext = $ref(false);
let showPrev = $ref(false); let showPrev = $ref(false);
let showNext = $ref(false); let showNext = $ref(false);
let error = $ref(); let error = $ref();
@ -89,8 +87,6 @@ const nextPagination = {
}; };
function fetchNote() { function fetchNote() {
hasPrev = false;
hasNext = false;
showPrev = false; showPrev = false;
showNext = false; showNext = false;
note = null; note = null;
@ -102,20 +98,8 @@ function fetchNote() {
os.api('notes/clips', { os.api('notes/clips', {
noteId: note.id, noteId: note.id,
}), }),
os.api('users/notes', { ]).then(([_clips]) => {
userId: note.userId,
untilId: note.id,
limit: 1,
}),
os.api('users/notes', {
userId: note.userId,
sinceId: note.id,
limit: 1,
}),
]).then(([_clips, prev, next]) => {
clips = _clips; clips = _clips;
hasPrev = prev.length !== 0;
hasNext = next.length !== 0;
}); });
}).catch(err => { }).catch(err => {
error = err; error = err;