chore: remove menu data render

This commit is contained in:
jialin
2025-07-10 14:52:08 +08:00
parent e3aba0529f
commit b631b4c7b7
6 changed files with 44 additions and 46 deletions
+5 -6
View File
@@ -14,9 +14,9 @@ export default [
}, },
{ {
name: 'playground', name: 'playground',
// icon: 'icon-experiment', icon: 'icon-experiment',
// selectedIcon: 'icon-experiment-filled', selectedIcon: 'icon-experiment-filled',
// defaultIcon: 'icon-experiment', defaultIcon: 'icon-experiment',
path: '/playground', path: '/playground',
key: 'playground', key: 'playground',
routes: [ routes: [
@@ -84,7 +84,7 @@ export default [
routes: [ routes: [
{ {
path: '/models', path: '/models',
redirect: '/models/deployment' redirect: '/models/deployments'
}, },
{ {
name: 'modelCatalog', name: 'modelCatalog',
@@ -98,7 +98,7 @@ export default [
}, },
{ {
name: 'deployment', name: 'deployment',
path: '/models/deployment', path: '/models/deployments',
key: 'modelDeployments', key: 'modelDeployments',
icon: 'icon-model', icon: 'icon-model',
selectedIcon: 'icon-model-filled', selectedIcon: 'icon-model-filled',
@@ -164,7 +164,6 @@ export default [
icon: 'icon-users', icon: 'icon-users',
selectedIcon: 'icon-users-filled', selectedIcon: 'icon-users-filled',
defaultIcon: 'icon-users', defaultIcon: 'icon-users',
access: 'canSeeAdmin',
component: './users' component: './users'
} }
] ]
+1 -9
View File
@@ -326,14 +326,8 @@ export default (props: any) => {
setCollapseKeys(new Set(collapseKeys)); setCollapseKeys(new Set(collapseKeys));
}; };
const onMenuItemClick = (menuItem) => {
navigate(menuItem.path);
};
const menuContentRender = (menuProps, defaultDom) => { const menuContentRender = (menuProps, defaultDom) => {
return ( return <SiderMenu {...menuProps}></SiderMenu>;
<SiderMenu {...menuProps} onMenuItemClick={onMenuItemClick}></SiderMenu>
);
}; };
const actionRender = (layoutProps) => { const actionRender = (layoutProps) => {
@@ -531,8 +525,6 @@ export default (props: any) => {
splitMenus={true} splitMenus={true}
logo={collapsed ? SLogoIcon : LogoIcon} logo={collapsed ? SLogoIcon : LogoIcon}
menuContentRender={menuContentRender} menuContentRender={menuContentRender}
menuItemRender={menuItemRender}
menuDataRender={menuDataRender}
disableContentMargin disableContentMargin
fixSiderbar fixSiderbar
fixedHeader fixedHeader
-1
View File
@@ -341,7 +341,6 @@ export const getRightRenderContent = (opts: {
return ( return (
<> <>
<Menu {...helpMenu} style={getMenuStyle(collapsed, siderWidth)} /> <Menu {...helpMenu} style={getMenuStyle(collapsed, siderWidth)} />
{/* <Menu {...langMenu} style={getMenuStyle(collapsed, siderWidth)} /> */}
<Menu <Menu
{...userMenu} {...userMenu}
style={getMenuStyle(collapsed, siderWidth, { style={getMenuStyle(collapsed, siderWidth, {
+36 -28
View File
@@ -1,6 +1,6 @@
import IconFont from '@/components/icon-font'; import IconFont from '@/components/icon-font';
import { CaretDownOutlined } from '@ant-design/icons'; import { CaretDownOutlined } from '@ant-design/icons';
import { useLocation } from '@umijs/max'; import { Link, useLocation } from '@umijs/max';
import { Divider, Tooltip } from 'antd'; import { Divider, Tooltip } from 'antd';
import { createStyles } from 'antd-style'; import { createStyles } from 'antd-style';
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
@@ -17,7 +17,6 @@ interface MenuItem {
interface SiderMenuProps { interface SiderMenuProps {
menuData: MenuItem[]; menuData: MenuItem[];
collapsed?: boolean; collapsed?: boolean;
onMenuItemClick: (item: MenuItem) => void;
} }
const useStyles = createStyles(({ css, token }) => { const useStyles = createStyles(({ css, token }) => {
@@ -45,7 +44,6 @@ const useStyles = createStyles(({ css, token }) => {
padding-bottom: 4px; padding-bottom: 4px;
overflow: hidden; overflow: hidden;
height: 30px; height: 30px;
transtion: all var(--ant-motion-duration-slow);
&:hover { &:hover {
.group-title-text { .group-title-text {
color: var(--ant-color-text); color: var(--ant-color-text);
@@ -76,6 +74,8 @@ const useStyles = createStyles(({ css, token }) => {
`, `,
menuItemWrapper: css` menuItemWrapper: css`
display: flex; display: flex;
align-items: center;
justify-content: flex-start;
gap: 12px; gap: 12px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
@@ -92,6 +92,9 @@ const useStyles = createStyles(({ css, token }) => {
&.menu-item-selected { &.menu-item-selected {
background-color: ${Menu.itemSelectedBg}; background-color: ${Menu.itemSelectedBg};
color: ${Menu.itemSelectedColor}; color: ${Menu.itemSelectedColor};
.anticon {
color: ${Menu.itemSelectedColor};
}
} }
&:active { &:active {
background-color: ${Menu.itemActiveBg}; background-color: ${Menu.itemActiveBg};
@@ -117,7 +120,7 @@ const useStyles = createStyles(({ css, token }) => {
}); });
const SiderMenu: React.FC<SiderMenuProps> = (props) => { const SiderMenu: React.FC<SiderMenuProps> = (props) => {
const { menuData, collapsed, onMenuItemClick } = props; const { menuData, collapsed } = props;
const { styles, cx } = useStyles(); const { styles, cx } = useStyles();
const location = useLocation(); const location = useLocation();
const [collapseKeys, setCollapseKeys] = useState<Set<string>>(new Set()); const [collapseKeys, setCollapseKeys] = useState<Set<string>>(new Set());
@@ -156,8 +159,9 @@ const SiderMenu: React.FC<SiderMenuProps> = (props) => {
className={cx(styles.menuItemContent, 'menu-item-content')} className={cx(styles.menuItemContent, 'menu-item-content')}
key={key} key={key}
> >
<div <Link
onClick={() => onMenuItemClick(menuItem)} to={menuItem.path.replace('/*', '')}
target={menuItem.target}
className={cx(styles.menuItemWrapper, 'menu-item', { className={cx(styles.menuItemWrapper, 'menu-item', {
'menu-item-selected': location.pathname === menuItem.path 'menu-item-selected': location.pathname === menuItem.path
})} })}
@@ -176,11 +180,17 @@ const SiderMenu: React.FC<SiderMenuProps> = (props) => {
</Tooltip> </Tooltip>
) : ( ) : (
<> <>
{menuItem.icon} <IconFont
type={
location.pathname === menuItem.path
? menuItem.selectedIcon || ''
: menuItem.defaultIcon || ''
}
></IconFont>
<span>{menuItem.name}</span> <span>{menuItem.name}</span>
</> </>
)} )}
</div> </Link>
</div> </div>
); );
}; };
@@ -195,25 +205,23 @@ const SiderMenu: React.FC<SiderMenuProps> = (props) => {
<div key={item.key}> <div key={item.key}>
{item.children && item.children.length > 0 ? ( {item.children && item.children.length > 0 ? (
<> <>
{ <div
<div className={cx(styles.groupTitle, {
className={cx(styles.groupTitle, { 'menu-item-group-title-collapsed': collapsed
'menu-item-group-title-collapsed': collapsed })}
})} onClick={(e) => handleToggleGroup(e, item)}
onClick={(e) => handleToggleGroup(e, item)} >
> {!collapsed ? (
{!collapsed ? ( <span className="group-title-text">
<span className="group-title-text"> <span>{item.name}</span>
<span>{item.name}</span> <CaretDownOutlined
<CaretDownOutlined rotate={collapseKeys.has(item.key) ? -90 : 0}
rotate={collapseKeys.has(item.key) ? -90 : 0} ></CaretDownOutlined>
></CaretDownOutlined> </span>
</span> ) : (
) : ( <Divider style={dividerStyles} />
<Divider style={dividerStyles} /> )}
)} </div>
</div>
}
<div <div
className={cx(styles.menuItemGroup, { className={cx(styles.menuItemGroup, {
'menu-item-group-collapsed': collapsed, 'menu-item-group-collapsed': collapsed,
@@ -227,7 +235,7 @@ const SiderMenu: React.FC<SiderMenuProps> = (props) => {
</div> </div>
</> </>
) : ( ) : (
<>{menuItemRender(item, item.key)}</> menuItemRender(item, item.key)
)} )}
</div> </div>
))} ))}
+1 -1
View File
@@ -11,7 +11,7 @@ export default {
'menu.models.modelList': 'Deploy & Manage', 'menu.models.modelList': 'Deploy & Manage',
'menu.models.modelCatalog': 'Catalog', 'menu.models.modelCatalog': 'Catalog',
'menu.models.catalog': 'Model Catalog', 'menu.models.catalog': 'Model Catalog',
'menu.models.deployment': 'Deployment', 'menu.models.deployment': 'Deployments',
'menu.modelCatalog': 'Catalog', 'menu.modelCatalog': 'Catalog',
'menu.resources': 'Resources', 'menu.resources': 'Resources',
'menu.apikeys': 'API Keys', 'menu.apikeys': 'API Keys',
+1 -1
View File
@@ -753,7 +753,7 @@ const Models: React.FC<ModelsProps> = ({
className="models-page-container" className="models-page-container"
ghost ghost
header={{ header={{
title: intl.formatMessage({ id: 'models.title' }), title: intl.formatMessage({ id: 'menu.models.deployment' }),
style: { style: {
paddingInline: 'var(--layout-content-header-inlinepadding)' paddingInline: 'var(--layout-content-header-inlinepadding)'
}, },