fix appmenu keys

This commit is contained in:
jeffvli
2025-11-17 02:58:29 -08:00
parent 1b0ea06c6b
commit c6ab0e7b8a
2 changed files with 11 additions and 8 deletions
@@ -8,7 +8,7 @@ import packageJson from '../../../../../package.json';
import { ServerSelectorItems } from '/@/renderer/features/sidebar/components/server-selector-items'; import { ServerSelectorItems } from '/@/renderer/features/sidebar/components/server-selector-items';
import { AppRoute } from '/@/renderer/router/routes'; import { AppRoute } from '/@/renderer/router/routes';
import { useAppStore, useAppStoreActions, useSidebarStore } from '/@/renderer/store'; import { useAppStore, useAppStoreActions, useSidebarStore } from '/@/renderer/store';
import { DropdownMenu } from '/@/shared/components/dropdown-menu/dropdown-menu'; import { DropdownMenu, MenuItemProps } from '/@/shared/components/dropdown-menu/dropdown-menu';
import { Icon } from '/@/shared/components/icon/icon'; import { Icon } from '/@/shared/components/icon/icon';
import { toast } from '/@/shared/components/toast/toast'; import { toast } from '/@/shared/components/toast/toast';
@@ -264,8 +264,7 @@ export const AppMenu = () => {
item.leftSection || item.leftSection ||
(item.icon && <Icon color={item.iconColor} icon={item.icon} />); (item.icon && <Icon color={item.iconColor} icon={item.icon} />);
const props: any = { const props = {
key: item.id,
leftSection, leftSection,
...(item.rightSection && { rightSection: item.rightSection }), ...(item.rightSection && { rightSection: item.rightSection }),
...(item.onClick && { onClick: item.onClick }), ...(item.onClick && { onClick: item.onClick }),
@@ -273,9 +272,13 @@ export const AppMenu = () => {
...(item.to && { to: item.to }), ...(item.to && { to: item.to }),
...(item.href && { href: item.href }), ...(item.href && { href: item.href }),
...(item.target && { target: item.target }), ...(item.target && { target: item.target }),
}; } as MenuItemProps;
return <DropdownMenu.Item {...props}>{item.label}</DropdownMenu.Item>; return (
<DropdownMenu.Item key={item.id} {...props}>
{item.label}
</DropdownMenu.Item>
);
} }
default: default:
@@ -14,13 +14,13 @@ import styles from './dropdown-menu.module.css';
import { createPolymorphicComponent } from '/@/shared/utils/create-polymorphic-component'; import { createPolymorphicComponent } from '/@/shared/utils/create-polymorphic-component';
type MenuDividerProps = MantineMenuDividerProps; export interface MenuItemProps extends MantineMenuItemProps {
type MenuDropdownProps = MantineMenuDropdownProps;
interface MenuItemProps extends MantineMenuItemProps {
children: ReactNode; children: ReactNode;
isDanger?: boolean; isDanger?: boolean;
isSelected?: boolean; isSelected?: boolean;
} }
type MenuDividerProps = MantineMenuDividerProps;
type MenuDropdownProps = MantineMenuDropdownProps;
type MenuLabelProps = MantineMenuLabelProps; type MenuLabelProps = MantineMenuLabelProps;
type MenuProps = MantineMenuProps; type MenuProps = MantineMenuProps;