diff --git a/packages/core/content-type-builder/admin/src/components/ListRow/DisplayedType.js b/packages/core/content-type-builder/admin/src/components/ListRow/DisplayedType.js
new file mode 100644
index 0000000000..bd70e25ec4
--- /dev/null
+++ b/packages/core/content-type-builder/admin/src/components/ListRow/DisplayedType.js
@@ -0,0 +1,48 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { useIntl } from 'react-intl';
+import { Typography } from '@strapi/design-system/Typography';
+import getTrad from '../../utils/getTrad';
+
+const DisplayedType = ({ readableType, customField, repeatable }) => {
+ const { formatMessage } = useIntl();
+
+ if (customField) {
+ return (
+
+ {formatMessage({
+ id: getTrad('attribute.customField'),
+ defaultMessage: 'Custom field',
+ })}
+
+ );
+ }
+
+ return (
+
+ {formatMessage({
+ id: getTrad(`attribute.${readableType}`),
+ defaultMessage: readableType,
+ })}
+
+ {repeatable &&
+ formatMessage({
+ id: getTrad('component.repeatable'),
+ defaultMessage: '(repeatable)',
+ })}
+
+ );
+};
+
+DisplayedType.defaultProps = {
+ customField: null,
+ repeatable: false,
+};
+
+DisplayedType.propTypes = {
+ readableType: PropTypes.string.isRequired,
+ customField: PropTypes.bool,
+ repeatable: PropTypes.bool,
+};
+
+export default DisplayedType;
diff --git a/packages/core/content-type-builder/admin/src/components/ListRow/index.js b/packages/core/content-type-builder/admin/src/components/ListRow/index.js
index 2758729673..3d94d151db 100644
--- a/packages/core/content-type-builder/admin/src/components/ListRow/index.js
+++ b/packages/core/content-type-builder/admin/src/components/ListRow/index.js
@@ -17,6 +17,7 @@ import Curve from '../../icons/Curve';
import UpperFist from '../UpperFirst';
import BoxWrapper from './BoxWrapper';
import AttributeIcon from '../AttributeIcon';
+import DisplayedType from './DisplayedType';
function ListRow({
configurable,
@@ -39,7 +40,7 @@ function ListRow({
const isMorph = type === 'relation' && relation.includes('morph');
const ico = ['integer', 'biginteger', 'float', 'decimal'].includes(type) ? 'number' : type;
- let readableType = customField || type;
+ let readableType = type;
if (['integer', 'biginteger', 'float', 'decimal'].includes(type)) {
readableType = 'number';
@@ -119,18 +120,11 @@ function ListRow({
) : (
-
- {formatMessage({
- id: getTrad(`attribute.${readableType}`),
- defaultMessage: customField ? 'Custom field' : type,
- })}
-
- {repeatable &&
- formatMessage({
- id: getTrad('component.repeatable'),
- defaultMessage: '(repeatable)',
- })}
-
+
)}
|