--- import { Icon } from "astro-icon/components"; import DisplaySettings from "@/components/interactive/DisplaySettings.svelte"; import LayoutSwitchButton from "@/components/interactive/LayoutSwitchButton.svelte"; import LightDarkSwitch from "@/components/interactive/LightDarkSwitch.svelte"; import Search from "@/components/interactive/Search.svelte"; import WallpaperSwitch from "@/components/interactive/WallpaperSwitch.svelte"; import { backgroundWallpaper, navBarConfig, navBarSearchConfig, siteConfig, } from "@/config"; import { LinkPresets } from "@/constants/link-presets"; import { LinkPreset, type NavBarLink, NavBarSearchMethod, } from "@/types/config"; import { isHomePage } from "@/utils/layout-utils"; import { url } from "@/utils/url-utils"; import DropdownMenu from "./DropdownMenu.astro"; import NavMenuPanel from "./NavMenuPanel.astro"; const className = Astro.props.class; // 检查是否允许切换壁纸模式 const isWallpaperSwitchable = backgroundWallpaper.switchable ?? true; // 检查是否允许切换布局(双侧栏模式下也允许切换,但切换到网格时会自动隐藏右侧边栏) const allowLayoutSwitch = siteConfig.postListLayout.allowSwitch; // 获取导航栏透明模式配置 const navbarTransparentMode = backgroundWallpaper.banner?.navbar?.transparentMode || "semi"; // 获取导航栏标题,如果没有设置则使用 siteConfig.title const navbarTitle = siteConfig.navbar.title || siteConfig.title; // 获取导航栏宽度配置 const navbarWidthFull = siteConfig.navbar.widthFull ?? false; // 检查是否为首页 const isHomePageCheck = isHomePage(Astro.url.pathname); let links: NavBarLink[] = navBarConfig.links.map( (item: NavBarLink | LinkPreset): NavBarLink => { if (typeof item === "number") { return LinkPresets[item]; } return item; }, ); --- { navBarSearchConfig.method === NavBarSearchMethod.PageFind && import.meta.env.PROD && ( ) }