From 1ae345d076b20a50359322fcb3bd853edc0aac6a Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Fri, 1 May 2026 20:14:03 +0800 Subject: [PATCH] chore(docs): better color for doc footer nav, tighter room for sidebar links --- docs/.vitepress/components/DocFooter.vue | 14 ++++++++------ docs/.vitepress/components/DocSidebar.vue | 4 ++-- docs/.vitepress/components/DocSidebarItem.vue | 2 +- docs/.vitepress/components/DocTopbar.vue | 15 ++++++++++----- 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/docs/.vitepress/components/DocFooter.vue b/docs/.vitepress/components/DocFooter.vue index e4a1bb66d..36808b4b4 100644 --- a/docs/.vitepress/components/DocFooter.vue +++ b/docs/.vitepress/components/DocFooter.vue @@ -85,15 +85,16 @@ const showFooter = computed( class="w-full inline-flex flex-col items-end rounded-lg px-4 py-6 backdrop-blur-md" :class="[ 'shadow-md shadow-transparent dark:shadow-none hover:shadow-black/5', - 'border-2 border-neutral-200/40 border-solid dark:border-2 dark:border-neutral-800/40 dark:border-solid', - 'bg-white/30 dark:bg-neutral-800/30 hover:bg-white/50 dark:hover:bg-neutral-800/50', + 'border-2 border-solid border-neutral-100 hover:border-primary/10 dark:border-neutral-800/40', + 'bg-white/30 dark:bg-neutral-800/30 hover:bg-primary/10 dark:hover:bg-neutral-800/50', 'active:scale-98', 'transition-all duration-200 ease-in-out', + '[&_span,_&_p]:transition-all [&_span,_&_p]:duration-200 [&_span,_&_p]:ease-in-out [&_span,_&_p]:hover:text-primary', ]" :href="control.prev.link" >

@@ -111,15 +112,16 @@ const showFooter = computed( class="w-full inline-flex flex-col items-end rounded-lg px-4 py-6 backdrop-blur-md" :class="[ 'shadow-md shadow-transparent dark:shadow-none hover:shadow-black/5', - 'border-2 border-neutral-200/40 border-solid dark:border-2 dark:border-neutral-800/40 dark:border-solid', - 'bg-white/30 dark:bg-neutral-800/30 hover:bg-white/50 dark:hover:bg-neutral-800/50', + 'border-2 border-solid border-neutral-100 hover:border-primary/10 dark:border-neutral-800/40', + 'bg-white/30 dark:bg-neutral-800/30 hover:bg-primary/10 dark:hover:bg-neutral-800/50', 'active:scale-98', 'transition-all duration-200 ease-in-out', + '[&_span,_&_p]:transition-all [&_span,_&_p]:duration-200 [&_span,_&_p]:ease-in-out [&_span,_&_p]:hover:text-primary', ]" :href="control.next.link" > diff --git a/docs/.vitepress/components/DocSidebar.vue b/docs/.vitepress/components/DocSidebar.vue index 94ea2c2d1..28c78eb53 100644 --- a/docs/.vitepress/components/DocSidebar.vue +++ b/docs/.vitepress/components/DocSidebar.vue @@ -24,7 +24,7 @@ defineProps<{ > @@ -37,7 +37,7 @@ defineProps<{ { > diff --git a/docs/.vitepress/components/DocTopbar.vue b/docs/.vitepress/components/DocTopbar.vue index 76b8adf43..0b4f74e6f 100644 --- a/docs/.vitepress/components/DocTopbar.vue +++ b/docs/.vitepress/components/DocTopbar.vue @@ -20,17 +20,20 @@ const isSidebarOpen = ref(false) const sidebar = computed(() => (theme.value.sidebar as (DefaultTheme.SidebarItem & { icon?: string })[])) const sectionTabs = computed(() => sidebar.value - .map(val => ({ - label: val.text, - link: flatten(val.items ?? [], 'items').filter(i => !!i?.link)?.[0]?.link, - icon: val.icon, - })) + .map((val) => { + return { + label: val.text, + link: flatten(val.items ?? [], 'items').filter(i => !!i?.link)?.[0]?.link ?? val.link, + icon: val.icon, + } + }) .filter(i => !!i?.link), ) function isCharacterPage(link?: string) { if (!link) return false + return link.includes('/characters') || link.includes('/characters/') } @@ -49,6 +52,8 @@ watch(path, () => { >