diff --git a/packages/frontend/src/components/MkNoteNotFound.vue b/packages/frontend/src/components/MkNoteNotFound.vue new file mode 100644 index 000000000..bc05b8425 --- /dev/null +++ b/packages/frontend/src/components/MkNoteNotFound.vue @@ -0,0 +1,43 @@ + + + + + + + diff --git a/packages/frontend/src/pages/note.vue b/packages/frontend/src/pages/note.vue index a088c5cb9..55c1e0236 100644 --- a/packages/frontend/src/pages/note.vue +++ b/packages/frontend/src/pages/note.vue @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
@@ -39,7 +39,8 @@ SPDX-License-Identifier: AGPL-3.0-only
- + +
@@ -61,6 +62,8 @@ import { i18n } from '@/i18n.js'; import { dateString } from '@/filters/date.js'; import MkClipPreview from '@/components/MkClipPreview.vue'; import { defaultStore } from '@/store.js'; +import MkNoteNotFound from '@/components/MkNoteNotFound.vue'; +import { iAmModerator } from '@/account.js'; const props = defineProps<{ noteId: string; @@ -73,6 +76,8 @@ const showPrev = ref<'user' | 'channel' | false>(false); const showNext = ref<'user' | 'channel' | false>(false); const error = ref(); +let isFetching = true; + const prevUserPagination: Paging = { endpoint: 'users/notes', limit: 10, @@ -127,7 +132,9 @@ function fetchNote() { clips.value = _clips; }); } + isFetching = false; }).catch(err => { + isFetching = false; error.value = err; }); }