diff --git a/packages/core/admin/admin/src/assets/images/icon_made-by-strapi.svg b/packages/core/admin/admin/src/assets/images/icon_made-by-strapi.svg
new file mode 100644
index 0000000000..1c7daa3a83
--- /dev/null
+++ b/packages/core/admin/admin/src/assets/images/icon_made-by-strapi.svg
@@ -0,0 +1,5 @@
+
diff --git a/packages/core/admin/admin/src/pages/MarketplacePage/components/PluginCard/index.js b/packages/core/admin/admin/src/pages/MarketplacePage/components/PluginCard/index.js
index 4185d82711..966d156423 100644
--- a/packages/core/admin/admin/src/pages/MarketplacePage/components/PluginCard/index.js
+++ b/packages/core/admin/admin/src/pages/MarketplacePage/components/PluginCard/index.js
@@ -16,6 +16,8 @@ import Check from '@strapi/icons/Check';
import CheckCircle from '@strapi/icons/CheckCircle';
import { useNotification, useTracking } from '@strapi/helper-plugin';
import { CopyToClipboard } from 'react-copy-to-clipboard';
+import madeByStrapiIcon from '../../../../assets/images/icon_made-by-strapi.svg';
+
// Custom component to have an ellipsis after the 2nd line
const EllipsisText = styled(Typography)`
/* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
@@ -38,6 +40,11 @@ const PluginCard = ({ plugin, installedPluginNames, useYarn }) => {
? `yarn add ${attributes.npmPackageName}`
: `npm install ${attributes.npmPackageName}`;
+ const madeByStrapiMessage = formatMessage({
+ id: 'admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi',
+ defaultMessage: 'Made by Strapi',
+ });
+
return (
{
{attributes.name}
- {attributes.validated && (
+ {attributes.validated && !attributes.madeByStrapi && (
{
)}
+ {attributes.madeByStrapi && (
+
+
+
+
+
+ )}
@@ -154,6 +175,7 @@ PluginCard.propTypes = {
logo: PropTypes.object.isRequired,
developerName: PropTypes.string.isRequired,
validated: PropTypes.bool.isRequired,
+ madeByStrapi: PropTypes.bool.isRequired,
strapiCompatibility: PropTypes.oneOf(['v3', 'v4']).isRequired,
}).isRequired,
}).isRequired,
diff --git a/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js b/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js
index 72ce05b177..8109c81e82 100644
--- a/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js
+++ b/packages/core/admin/admin/src/pages/MarketplacePage/tests/index.test.js
@@ -61,6 +61,12 @@ describe('Marketplace page', () => {
}
.c39 {
+ margin-left: 4px;
+ width: 24px;
+ height: auto;
+ }
+
+ .c40 {
padding-left: 16px;
}
@@ -267,7 +273,7 @@ describe('Marketplace page', () => {
margin-left: 8px;
}
- .c40 {
+ .c41 {
color: #328048;
margin-right: 8px;
width: 12;
@@ -318,7 +324,7 @@ describe('Marketplace page', () => {
line-height: 1.43;
}
- .c41 {
+ .c42 {
font-weight: 600;
color: #328048;
font-size: 0.875rem;
@@ -1024,21 +1030,13 @@ describe('Marketplace page', () => {
class="c17"
tabindex="0"
>
-
+
@@ -1090,10 +1088,10 @@ describe('Marketplace page', () => {
Installed
diff --git a/packages/core/admin/admin/src/pages/MarketplacePage/tests/server.js b/packages/core/admin/admin/src/pages/MarketplacePage/tests/server.js
index 9be3ca816a..e3750f758f 100644
--- a/packages/core/admin/admin/src/pages/MarketplacePage/tests/server.js
+++ b/packages/core/admin/admin/src/pages/MarketplacePage/tests/server.js
@@ -50,6 +50,7 @@ const handlers = [
},
developerName: 'Hugo Sarti',
validated: false,
+ madeByStrapi: false,
strapiCompatibility: 'v3',
},
},
@@ -246,6 +247,7 @@ const handlers = [
],
developerName: 'Mateusz Ziarko',
validated: false,
+ madeByStrapi: false,
strapiCompatibility: 'v4',
},
},
@@ -323,6 +325,7 @@ const handlers = [
],
developerName: 'Boaz Poolman',
validated: true,
+ madeByStrapi: false,
strapiCompatibility: 'v4',
},
},
@@ -401,6 +404,7 @@ const handlers = [
],
developerName: 'Ondřej Janošík',
validated: false,
+ madeByStrapi: false,
strapiCompatibility: 'v4',
},
},
@@ -446,6 +450,7 @@ const handlers = [
},
developerName: 'Strapi team',
validated: true,
+ madeByStrapi: true,
strapiCompatibility: 'v4',
},
},
@@ -491,6 +496,7 @@ const handlers = [
},
developerName: 'Strapi team',
validated: true,
+ madeByStrapi: false,
strapiCompatibility: 'v3',
},
},
@@ -536,6 +542,7 @@ const handlers = [
},
developerName: 'Daedalus',
validated: false,
+ madeByStrapi: false,
strapiCompatibility: 'v4',
},
},
diff --git a/packages/core/admin/admin/src/translations/en.json b/packages/core/admin/admin/src/translations/en.json
index f4251e6c98..4e0468bdff 100644
--- a/packages/core/admin/admin/src/translations/en.json
+++ b/packages/core/admin/admin/src/translations/en.json
@@ -69,6 +69,7 @@
"admin.pages.MarketPlacePage.plugin.info": "Learn more",
"admin.pages.MarketPlacePage.submit.plugin.link": "Submit your plugin",
"admin.pages.MarketPlacePage.plugin.tooltip.verified": "Plugin verified by Strapi",
+ "admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi": "Made by Strapi",
"Content Manager": "Content Manager",
"Content Type Builder": "Content-Types Builder",
"Documentation": "Documentation",