| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| 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,
|
| };
|
| };
|
|
|