diff --git a/packages/core/admin/admin/src/StrapiApp.js b/packages/core/admin/admin/src/StrapiApp.js index 901740ca6d..db0f07bc42 100644 --- a/packages/core/admin/admin/src/StrapiApp.js +++ b/packages/core/admin/admin/src/StrapiApp.js @@ -168,6 +168,7 @@ class StrapiApp { addSettingsLinks: this.addSettingsLinks, getPlugin: this.getPlugin, injectContentManagerComponent: this.injectContentManagerComponent, + injectAdminComponent: this.injectAdminComponent, registerHook: this.registerHook, }); } @@ -183,6 +184,7 @@ class StrapiApp { addSettingsLinks: this.addSettingsLinks, getPlugin: this.getPlugin, injectContentManagerComponent: this.injectContentManagerComponent, + injectAdminComponent: this.injectAdminComponent, registerHook: this.registerHook, }); } @@ -299,6 +301,16 @@ class StrapiApp { this.admin.injectionZones.contentManager[containerName][blockName].push(component); }; + injectAdminComponent = (containerName, blockName, component) => { + invariant( + this.admin.injectionZones.admin[containerName]?.[blockName], + `The ${containerName} ${blockName} zone is not defined in the admin` + ); + invariant(component, 'A Component must be provided'); + + this.admin.injectionZones.admin[containerName][blockName].push(component); + }; + /** * Load the admin translations * @returns {Object} The imported admin translations diff --git a/packages/core/admin/admin/src/components/Onboarding/StaticLinks/index.js b/packages/core/admin/admin/src/components/Onboarding/StaticLinks/index.js index 436ab95f94..d740a14784 100644 --- a/packages/core/admin/admin/src/components/Onboarding/StaticLinks/index.js +++ b/packages/core/admin/admin/src/components/Onboarding/StaticLinks/index.js @@ -7,6 +7,7 @@ import React from 'react'; import { useIntl } from 'react-intl'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { InjectionZone } from '../../../shared/components'; import StyledLink from './StyledLink'; function StaticLinks() { @@ -38,6 +39,7 @@ function StaticLinks() { ); })} + ); } diff --git a/packages/core/admin/admin/src/injectionZones.js b/packages/core/admin/admin/src/injectionZones.js index ffaca561bf..533e29132b 100644 --- a/packages/core/admin/admin/src/injectionZones.js +++ b/packages/core/admin/admin/src/injectionZones.js @@ -5,6 +5,12 @@ * @type {Object} */ const injectionZones = { + admin: { + // Temporary injection zone, support for the react-tour plugin in foodadvisor + tutorials: { + links: [], + }, + }, contentManager: { editView: { informations: [], 'right-links': [] }, listView: { actions: [], deleteModalAdditionalInfos: [] },