fix: fix duplicate display of Hello plugin

This commit is contained in:
Rain 2023-10-04 19:07:44 +08:00
parent 301a85d767
commit b95f4a723a

View File

@ -39,13 +39,22 @@ export const HelloBlockInitializer = (props) => {
const HelloProvider = React.memo((props) => { const HelloProvider = React.memo((props) => {
const items = useContext<any>(SchemaInitializerContext); const items = useContext<any>(SchemaInitializerContext);
const children = items.BlockInitializers.items[1].children; const mediaItems = items.BlockInitializers.items.find((item) => item.key === 'media');
children.push({
key: 'hello', if (process.env.NODE_ENV !== 'production' && !mediaItems) {
type: 'item', throw new Error('media block initializer not found');
title: '{{t("Hello block")}}', }
component: 'HelloBlockInitializer',
}); const children = mediaItems.children;
if (!children.find((item) => item.key === 'hello')) {
children.push({
key: 'hello',
type: 'item',
title: '{{t("Hello block")}}',
component: 'HelloBlockInitializer',
});
}
return ( return (
<SettingsCenterProvider <SettingsCenterProvider
settings={{ settings={{