| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| import { useMemo } from 'react'; |
|
|
| export const useNavigation = (t, docsLink, headerNavModules) => { |
| const mainNavLinks = useMemo(() => { |
| |
| const defaultModules = { |
| home: true, |
| console: true, |
| pricing: true, |
| docs: true, |
| about: true, |
| }; |
|
|
| |
| const modules = headerNavModules || defaultModules; |
|
|
| const allLinks = [ |
| { |
| text: t('首页'), |
| itemKey: 'home', |
| to: '/', |
| }, |
| { |
| text: t('控制台'), |
| itemKey: 'console', |
| to: '/console', |
| }, |
| { |
| text: t('模型广场'), |
| itemKey: 'pricing', |
| to: '/pricing', |
| }, |
| ...(docsLink |
| ? [ |
| { |
| text: t('文档'), |
| itemKey: 'docs', |
| isExternal: true, |
| externalLink: docsLink, |
| }, |
| ] |
| : []), |
| { |
| text: t('关于'), |
| itemKey: 'about', |
| to: '/about', |
| }, |
| ]; |
|
|
| |
| return allLinks.filter((link) => { |
| if (link.itemKey === 'docs') { |
| return docsLink && modules.docs; |
| } |
| if (link.itemKey === 'pricing') { |
| |
| return typeof modules.pricing === 'object' |
| ? modules.pricing.enabled |
| : modules.pricing; |
| } |
| return modules[link.itemKey] === true; |
| }); |
| }, [t, docsLink, headerNavModules]); |
|
|
| return { |
| mainNavLinks, |
| }; |
| }; |
|
|