Skip to content

Commit f2aa963

Browse files
committed
fix: site store router refresh when save md file
1 parent 69d0df2 commit f2aa963

File tree

5 files changed

+33
-21
lines changed

5 files changed

+33
-21
lines changed

packages/valaxy-theme-yun/components/ValaxyMain.vue

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,15 @@ onContentUpdated(() => {
8888

8989
<div p="x-4 b-8" class="sm:px-6 lg:px-12 xl:px-16" w="full">
9090
<slot name="main-content">
91-
<Transition appear>
92-
<ValaxyMd :frontmatter="frontmatter">
93-
<YunAiExcerpt v-if="frontmatter.excerpt_type === 'ai' && frontmatter.excerpt" />
94-
<YunMdTimeWarning />
95-
96-
<slot name="main-content-md" />
97-
<slot />
98-
</ValaxyMd>
99-
</Transition>
91+
<!-- <Transition appear> -->
92+
<ValaxyMd :frontmatter="frontmatter">
93+
<YunAiExcerpt v-if="frontmatter.excerpt_type === 'ai' && frontmatter.excerpt" />
94+
<YunMdTimeWarning />
95+
96+
<slot name="main-content-md" />
97+
<slot />
98+
</ValaxyMd>
99+
<!-- </Transition> -->
100100
</slot>
101101

102102
<slot name="main-content-after" />

packages/valaxy/client/composables/post.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import type { ComputedRef } from 'vue'
22
import { computed } from 'vue'
3-
import { useRoute, useRouter } from 'vue-router'
3+
import { useRoute } from 'vue-router'
44
import { useI18n } from 'vue-i18n'
55
import type { Post } from 'valaxy'
66
import { sortByDate } from '../utils'
7-
import { useSiteStore } from '../stores'
7+
import { useRouterStore, useSiteStore } from '../stores'
88

99
export function usePostTitle(post: ComputedRef<Post>) {
1010
const { locale } = useI18n()
@@ -18,12 +18,11 @@ export function usePostTitle(post: ComputedRef<Post>) {
1818
* get all page in 'pages' folder
1919
*/
2020
export function usePageList() {
21-
const router = useRouter()
21+
const routerStore = useRouterStore()
22+
const router = routerStore.router
23+
2224
return computed<Post[]>(() => {
2325
const excludePages = ['/:..all', '/:all(.*)*', '/', '/:path(.*)']
24-
if (!router)
25-
return []
26-
2726
const routes = router.getRoutes()
2827
.filter(i => i.name)
2928
.filter(i => i.meta)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export * from './app'
2+
export * from './router'
23
export * from './site'
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { defineStore } from 'pinia'
2+
import { useRouter } from 'vue-router'
3+
4+
export const useRouterStore = defineStore('routerStore', () => {
5+
const router = useRouter()
6+
7+
return {
8+
router,
9+
}
10+
})

packages/valaxy/client/stores/site.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { computed, ref } from 'vue'
22
import { acceptHMRUpdate, defineStore } from 'pinia'
3-
import { useRouter } from 'vue-router'
4-
import { usePostList } from '..'
3+
import { usePostList, useRouterStore } from '..'
54
import type { PageDataPayload } from '../../types'
65

76
/**
@@ -11,18 +10,21 @@ import type { PageDataPayload } from '../../types'
1110
* - category
1211
*/
1312
export const useSiteStore = defineStore('site', () => {
13+
const routerStore = useRouterStore()
14+
const router = routerStore.router
15+
1416
const reload = ref(1)
1517
// for dev hot reload
1618
const postList = computed(() => {
17-
if (reload.value)
18-
return usePostList().value
19+
const val = usePostList().value
20+
if (reload.value && val)
21+
return val
1922
else
20-
return usePostList().value
23+
return val
2124
})
2225

2326
// const postList = usePostList()
2427

25-
const router = useRouter()
2628
if (router) {
2729
router.isReady().then(() => {
2830
// hot reload when save md

0 commit comments

Comments
 (0)