diff --git a/components/flow/Index.vue b/components/flow/Index.vue index 41d4d9a..606a14d 100644 --- a/components/flow/Index.vue +++ b/components/flow/Index.vue @@ -21,11 +21,15 @@ provide('flow', props.flow)
-
- +
+ diff --git a/components/module/Image.vue b/components/module/Image.vue index 22255bc..e2fb531 100644 --- a/components/module/Image.vue +++ b/components/module/Image.vue @@ -5,7 +5,7 @@ import type { AppRouter } from '@/server/trpc/routers' type RouterOutput = inferRouterOutputs type ModuleOutput = RouterOutput['module']['get'] type FlowOutput = RouterOutput['flow']['get'] -type Module = Exclude; +type Module = Exclude interface Props { module: Module @@ -28,8 +28,10 @@ const text = computed(() => extractTextFromHTML(props.module.content))
- +
@@ -39,11 +41,15 @@ const text = computed(() => extractTextFromHTML(props.module.content))
-
+
diff --git a/components/public/Catalog.vue b/components/public/Catalog.vue index 3d9d47a..daf5905 100644 --- a/components/public/Catalog.vue +++ b/components/public/Catalog.vue @@ -21,20 +21,15 @@ function scrollToTitle(anchor: string) { } function updateActiveSection() { - const scrollTop = window.pageYOffset || document.documentElement.scrollTop const screenHeight = window.innerHeight - let minDistanceToCenter = Number.POSITIVE_INFINITY - props.list.forEach((section, index) => { const element = document.getElementById(section.title) if (element) { const rect = element.getBoundingClientRect() - const distanceToCenter = Math.abs(rect.top + rect.height / 2 - (scrollTop + screenHeight / 2)) - if (distanceToCenter < minDistanceToCenter) { + if (rect.top < screenHeight / 2) { activeSectionIndex = index - minDistanceToCenter = distanceToCenter } } }) @@ -54,25 +49,25 @@ onUnmounted(() => { diff --git a/components/public/Tool.vue b/components/public/Tool.vue index f81999d..a42dc86 100644 --- a/components/public/Tool.vue +++ b/components/public/Tool.vue @@ -2,6 +2,7 @@ import { onMounted, onUnmounted, ref } from 'vue' const showButton = ref(false) +const globalStore = useGlobalStore() function handleScroll() { showButton.value = window.scrollY > window.innerHeight @@ -27,6 +28,7 @@ onUnmounted(() => {
+