From 454c7fb8f372c6a1409cc9e5ed62a1957dbdfedc Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Sun, 3 Aug 2025 00:33:34 +0800 Subject: [PATCH 1/2] Fix post scroller sync and top time --- open-isle-cli/src/views/PostPageView.vue | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/open-isle-cli/src/views/PostPageView.vue b/open-isle-cli/src/views/PostPageView.vue index 311383bcf..d527320f8 100644 --- a/open-isle-cli/src/views/PostPageView.vue +++ b/open-isle-cli/src/views/PostPageView.vue @@ -89,7 +89,7 @@
loading...
-
{{ postTime }}
+
{{ scrollerTopTime }}
@@ -323,6 +323,12 @@ export default { const lastReplyTime = computed(() => comments.value.length ? comments.value[comments.value.length - 1].time : postTime.value ) + const firstReplyTime = computed(() => + comments.value.length ? comments.value[0].time : postTime.value + ) + const scrollerTopTime = computed(() => + commentSort.value === 'OLDEST' ? postTime.value : firstReplyTime.value + ) watch( () => comments.value.length, @@ -351,8 +357,10 @@ export default { } } - const onSliderInput = () => { - const target = postItems.value[currentIndex.value - 1] + const onSliderInput = (e) => { + const index = Number(e.target.value) + currentIndex.value = index + const target = postItems.value[index - 1] if (target && mainContainer.value) { const top = getTopRelativeTo(target, mainContainer.value) mainContainer.value.scrollTo({ top, behavior: 'instant' }) @@ -584,6 +592,7 @@ export default { tags, comments, postTime, + scrollerTopTime, lastReplyTime, postItems, mainContainer, From a128bfa9600dbdaf124779d81b0af37bb3a8199c Mon Sep 17 00:00:00 2001 From: tim Date: Sun, 3 Aug 2025 00:56:05 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=97=B6=E5=BA=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- open-isle-cli/src/views/PostPageView.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/open-isle-cli/src/views/PostPageView.vue b/open-isle-cli/src/views/PostPageView.vue index d527320f8..01afe2316 100644 --- a/open-isle-cli/src/views/PostPageView.vue +++ b/open-isle-cli/src/views/PostPageView.vue @@ -545,6 +545,7 @@ export default { if (res.ok) { const data = await res.json() comments.value = data.map(mapComment) + isFetchingComments.value = false await nextTick() gatherPostItems() }