Skip to content

Commit

Permalink
fix(theme): fix article list pageview, close #3637
Browse files Browse the repository at this point in the history
  • Loading branch information
Mister-Hope committed Nov 16, 2023
1 parent fb6da59 commit a1f59e2
Showing 1 changed file with 23 additions and 11 deletions.
34 changes: 23 additions & 11 deletions packages/theme/src/client/modules/blog/components/ArticleList.ts
@@ -1,5 +1,13 @@
import type { PropType, VNode } from "vue";
import { computed, defineComponent, h, onMounted, ref, watch } from "vue";
import {
computed,
defineComponent,
h,
nextTick,
onMounted,
ref,
watch,
} from "vue";
import { useRoute, useRouter } from "vue-router";

import DropTransition from "@theme-hope/components/transitions/DropTransition";
Expand Down Expand Up @@ -53,14 +61,21 @@ export default defineComponent({

const query = { ...route.query };

if (query["page"] === page.toString() || (page === 1 && !query["page"]))
return;
if (page === 1) delete query["page"];
else query["page"] = page.toString();
const needUpdate = !(
query["page"] === page.toString() || // page equal as query
// page is 1 and query is empty
(page === 1 && !query["page"])
);

if (needUpdate) {
if (page === 1) delete query["page"];
else query["page"] = page.toString();

await router.push({ path: route.path, query });
await router.push({ path: route.path, query });
}

if (SUPPORT_PAGEVIEW) {
await nextTick();
const { updatePageview } = await import(
/* webpackChunkName: "pageview" */ "vuepress-plugin-comment2/pageview"
);
Expand All @@ -72,6 +87,8 @@ export default defineComponent({
onMounted(() => {
const { page } = route.query;

console.log("mounted");

void updatePage(page ? Number(page) : 1);

watch(currentPage, () => {
Expand All @@ -82,11 +99,6 @@ export default defineComponent({

setTimeout(() => {
window.scrollTo(0, distance);

if (SUPPORT_PAGEVIEW)
void import(
/* webpackChunkName: "pageview" */ "vuepress-plugin-comment2/pageview"
).then(({ updatePageview }) => updatePageview());
}, 100);
});
});
Expand Down

0 comments on commit a1f59e2

Please sign in to comment.