@@ -62,20 +62,21 @@ const { data: packageJson } = useFetch<{ storybook: { title: string; url: string
6262 return url
6363})
6464
65+ const storybookUrl = computed (() => {
66+ if (! packageJson .value ?.storybook ?.url ) return ' '
67+ return ` ${packageJson .value .storybook .url }/index.json `
68+ })
69+
6570// Fetch Storybook index data
6671const { data : storybookData, status : storybookStatus } = useLazyFetch <{
6772 v: number
6873 entries: Record <string , StorybookEntry >
69- }>(
70- () => {
71- if (! packageJson .value ?.storybook ?.url ) return ' '
72- return packageJson .value .storybook .url + ' /index.json'
73- },
74- {
75- key: computed (() => ` storybook:${packageName .value } ` ),
76- server: false , // Storybook URLs are usually client-side only
77- },
78- )
74+ }>(() => storybookUrl .value , {
75+ watch: [storybookUrl ],
76+ immediate: !! storybookUrl .value ,
77+ key: computed (() => ` storybook:${packageName .value } ` ),
78+ server: false , // Storybook URLs are usually client-side only
79+ })
7980
8081// Transform Storybook entries to tree structure
8182const storybookTree = computed (() => {
@@ -109,11 +110,14 @@ watch(
109110 if (tree .length && ! storyId ) {
110111 const first = getFirstStory (tree )
111112 if (first ?.storyId ) {
112- navigateTo ({
113- name: ' stories' ,
114- params: { path: [... packageName .value .split (' /' ), ' v' , version .value ! ] },
115- query: { storyid: first .storyId },
116- })
113+ navigateTo (
114+ {
115+ name: ' stories' ,
116+ params: { path: [... packageName .value .split (' /' ), ' v' , version .value ! ] },
117+ query: { storyid: first .storyId },
118+ },
119+ { replace: true },
120+ )
117121 }
118122 }
119123 },
0 commit comments