diff --git a/packages/client/src/resolvers.ts b/packages/client/src/resolvers.ts index 67d4012673..b9d64798ab 100644 --- a/packages/client/src/resolvers.ts +++ b/packages/client/src/resolvers.ts @@ -103,15 +103,15 @@ export const resolvers = reactive({ * It would merge the locales fields to the root fields */ resolveSiteLocaleData: ( - siteData: SiteData, + { base, locales, ...siteData }: SiteData, routeLocale: RouteLocale, ): SiteLocaleData => ({ ...siteData, - ...siteData.locales[routeLocale], + ...locales[routeLocale], head: [ // when merging head, the locales head should be placed before root head // to get higher priority - ...(siteData.locales[routeLocale]?.head ?? []), + ...(locales[routeLocale]?.head ?? []), ...(siteData.head ?? []), ], }), diff --git a/packages/client/src/types/clientData.ts b/packages/client/src/types/clientData.ts index 6901a85b6a..d5af2c224f 100644 --- a/packages/client/src/types/clientData.ts +++ b/packages/client/src/types/clientData.ts @@ -4,6 +4,7 @@ import type { PageFrontmatter, PageHeader, SiteData, + SiteLocaleData, } from '@vuepress/shared' import type { Component, ComputedRef, Ref } from 'vue' import type { @@ -12,7 +13,14 @@ import type { } from '../constants.js' import type { Redirects, Routes } from './routes.js' -export type { HeadConfig, PageData, PageFrontmatter, PageHeader, SiteData } +export type { + HeadConfig, + PageData, + PageFrontmatter, + PageHeader, + SiteData, + SiteLocaleData, +} export interface Layouts { [LAYOUT_NAME_DEFAULT]: Component @@ -26,7 +34,6 @@ export type PageLang = string export type PageLayout = Component export type RoutePath = string export type RouteLocale = string -export type SiteLocaleData = SiteData export type LayoutsRef = ComputedRef export type PageComponentRef = ComputedRef