import { useRouteMeta } from 'dumi'; import useThemeConfig from './useThemeConfig'; import type { HeroConfig } from '../slots/Hero'; export type FrontMatter = ReturnType['frontmatter']; export type HeroStruct = Required['hero']; export type HeroActionItem = Required['actions'][0] & { /** * @description button left icon * @description.zh-CN 按钮左侧的icon */ icon?: string; }; export type HeroWithIcon = Omit & { actions?: HeroActionItem[]; config?: HeroConfig; }; export default function useHero(): HeroWithIcon { const { hero = {} } = useThemeConfig() ?? {}; const routeMetaHero = useRouteMeta().frontmatter?.hero ?? {}; return { config: hero, ...routeMetaHero }; }