diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 4f40feffdd..e8a4c79ade 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -134,6 +134,7 @@ SPDX-License-Identifier: AGPL-3.0-only +
@@ -170,6 +171,12 @@ SPDX-License-Identifier: AGPL-3.0-only
+
+
+ {{ i18n.ts.showMore }} +
+ +
@@ -262,6 +269,7 @@ const urls = appearNote.text ? extractUrlFromMfm(mfm.parse(appearNote.text)) : n const showTicker = (defaultStore.state.instanceTicker === 'always') || (defaultStore.state.instanceTicker === 'remote' && appearNote.user.instance); const conversation = ref([]); const replies = ref([]); +const quotes = ref([]); const canRenote = computed(() => ['public', 'home'].includes(appearNote.visibility) || appearNote.userId === $i.id); const keymap = { @@ -507,6 +515,18 @@ function loadReplies() { }); } +const quotesLoaded = ref(false); +function loadQuotes() { + quotesLoaded.value = true; + os.api('notes/children', { + noteId: appearNote.id, + limit: 30, + }).then(res => { + res.filter(item => item.renoteId != null) + quotes.value = res; + }); +} + const conversationLoaded = ref(false); function loadConversation() { conversationLoaded.value = true; @@ -720,6 +740,10 @@ function loadConversation() { border-top: solid 0.5px var(--divider); } +.quote:not(:first-child) { + border-top: solid 0.5px var(--divider); +} + .tabs { border-top: solid 0.5px var(--divider); border-bottom: solid 0.5px var(--divider); @@ -745,6 +769,10 @@ function loadConversation() { padding: 16px; } +.tab_quotes { + padding: 16px; +} + .reactionTabs { display: flex; gap: 8px;