From d9aa7d9cc52cdc6cb4fe664132f5689a5549eb44 Mon Sep 17 00:00:00 2001 From: sunlei Date: Wed, 1 Jul 2026 14:57:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8C=89WordPress=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E5=8D=9A=E5=AE=A2=E9=A1=B6=E9=83=A8=E8=8F=9C?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__tests__/App.spec.ts | 3 +- src/__tests__/useBlogTheme.spec.ts | 50 ++++++++++++++++++++++++++++++ src/components/blog/BlogHeader.tsx | 42 +++++++++++++------------ src/hooks/useBlogTheme.ts | 40 ++++++++++++++++++++++++ 4 files changed, 114 insertions(+), 21 deletions(-) diff --git a/src/__tests__/App.spec.ts b/src/__tests__/App.spec.ts index 5d236dd..33254fd 100644 --- a/src/__tests__/App.spec.ts +++ b/src/__tests__/App.spec.ts @@ -137,7 +137,8 @@ describe('App', () => { }); expect(wrapper.find('.kt-blog__header-collapse').exists()).toBe(true); - expect(wrapper.find('.kt-blog__header-nav').exists()).toBe(true); + expect(wrapper.find('.kt-blog__header-nav--hover').exists()).toBe(false); + expect(wrapper.find('.kt-blog__header-nav--end').exists()).toBe(true); }); it('loads local blog theme config by default', async () => { diff --git a/src/__tests__/useBlogTheme.spec.ts b/src/__tests__/useBlogTheme.spec.ts index 63989f2..4173936 100644 --- a/src/__tests__/useBlogTheme.spec.ts +++ b/src/__tests__/useBlogTheme.spec.ts @@ -109,6 +109,7 @@ describe('useBlogTheme', () => { label: '首页', }, ], + headerMenuVisible: false, home: 'https://blog.kwitsukasa.top', sidebarMenu: [ { @@ -147,6 +148,55 @@ describe('useBlogTheme', () => { expect(document.querySelector('#kt-blog-theme-style')?.textContent).toContain("url('http://s3.kwitsukasa.top/images/avatar-tsukasa-1.jpg')"); }); + it('keeps toolbar menu hidden unless WordPress exposes an explicit visibility flag', async () => { + const { applyWordpressThemeConfig, siteConfig } = useBlogTheme(); + + applyWordpressThemeConfig({ + headerMenu: [ + { + href: 'https://blog.kwitsukasa.top', + label: '首页', + }, + ], + site: { + home: 'https://blog.kwitsukasa.top', + }, + }); + await nextTick(); + + expect(siteConfig.value.headerMenu).toEqual([ + { + external: false, + href: '/', + label: '首页', + }, + ]); + expect(siteConfig.value.headerMenuVisible).toBe(false); + + applyWordpressThemeConfig({ + headerMenu: [ + { + href: 'https://blog.kwitsukasa.top/archives', + label: '归档', + }, + ], + headerMenuVisible: 'true', + site: { + home: 'https://blog.kwitsukasa.top', + }, + }); + await nextTick(); + + expect(siteConfig.value.headerMenu).toEqual([ + { + external: false, + href: '/archives', + label: '归档', + }, + ]); + expect(siteConfig.value.headerMenuVisible).toBe(true); + }); + it('maps legacy Argon placeholder image config back to previous blog static assets', async () => { const { applyWordpressThemeConfig, siteConfig } = useBlogTheme(); diff --git a/src/components/blog/BlogHeader.tsx b/src/components/blog/BlogHeader.tsx index 0252758..be2a8f8 100644 --- a/src/components/blog/BlogHeader.tsx +++ b/src/components/blog/BlogHeader.tsx @@ -106,26 +106,28 @@ export default defineComponent({ - + {siteConfig.value.headerMenuVisible && siteConfig.value.headerMenu.length > 0 && ( + + )}