diff --git a/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/StyledMediaPreviewList.js b/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/StyledMediaPreviewList.js index 65da45b7d9..625b87c34f 100644 --- a/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/StyledMediaPreviewList.js +++ b/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/StyledMediaPreviewList.js @@ -34,17 +34,69 @@ function createCSS() { `; } -//34373F gris +5 FAFAFB - const MediaPreviewItem = styled.div` width: ${sizes.small}; height: ${sizes.small}; - div { width: 100%; height: 100%; overflow: hidden; border-radius: calc(${sizes.small} / 2); + background-color: #fafafb; + } + &.hoverable { + :hover { + z-index: ${max + 1}; + } + } +`; + +const MediaPreviewFile = styled(MediaPreviewItem)` + div { + position: relative; + background-color: #9fa7b6; + color: white; + text-align: center; + line-height: ${sizes.small}; + font-size: 13px; + i { + position: absolute; + left: 0; + top: 0; + font-size: 15px; + width: 100%; + height: 100%; + &:before { + width: 100%; + height: 100%; + padding: 10px; + line-height: 35px; + background: #9fa7b6; + } + } + } + div + span { + display: none; + color: #333740; + position: absolute; + left: 100%; + bottom: -10px; + } + &.hoverable { + :hover { + div + span { + display: block; + } + } + } +`; + +const MediaPreviewText = styled(MediaPreviewItem)` + div { + font-size: 13px; + color: #333740; + text-align: center; + line-height: ${sizes.small}; } `; @@ -52,6 +104,7 @@ const MediaPreviewImage = styled(MediaPreviewItem)` img { display: block; object-fit: cover; + background-color: #fafafb; } div { position: relative; @@ -80,7 +133,6 @@ const MediaPreviewImage = styled(MediaPreviewItem)` &.hoverable { :hover { - z-index: ${max + 1}; div { &::before { opacity: 0.6; @@ -93,4 +145,10 @@ const MediaPreviewImage = styled(MediaPreviewItem)` } `; -export { MediaPreviewImage, MediaPreviewItem, StyledMediaPreviewList }; +export { + MediaPreviewFile, + MediaPreviewImage, + MediaPreviewItem, + MediaPreviewText, + StyledMediaPreviewList, +}; diff --git a/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/index.js b/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/index.js index 529d650ab6..ccc4881fab 100644 --- a/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/components/MediaPreviewList/index.js @@ -6,12 +6,15 @@ import DefaultIcon from '../../assets/images/media/na.svg'; import { StyledMediaPreviewList, + MediaPreviewFile, MediaPreviewImage, MediaPreviewItem, + MediaPreviewText, } from './StyledMediaPreviewList'; function MediaPreviewList({ hoverable, files }) { const baseUrl = strapi.backendURL; + const getFileType = fileName => fileName.split('.').slice(-1)[0]; const renderImage = image => { const { name, url } = image; @@ -26,13 +29,48 @@ function MediaPreviewList({ hoverable, files }) { ); }; - const renderMultipleList = files => { - return files.map(file => { - const { mime } = file; - // Check file type + const renderFile = file => { + const { ext, name } = file; + const fileType = getFileType(name); + + return ( + +
+ {ext} + +
+ {name} +
+ ); + }; + + const renderItem = file => { + const { mime } = file; + + return ( + + {includes(mime, 'image') ? renderImage(file) : renderFile(file)} + + ); + }; + + const renderText = count => { + return ( + +
+ +{count} +
+
+ ); + }; + + const renderMultipleItems = files => { + return files.map((file, index) => { return ( - {includes(mime, 'image') ? renderImage(file) :

{mime}

} + {index === 3 && files.length - 4 > 0 + ? renderText(files.length - 4) + : renderItem(file)}
); }); @@ -40,7 +78,7 @@ function MediaPreviewList({ hoverable, files }) { return !!files && !isEmpty(files) ? ( - {!isArray(files) ? renderImage(files) : renderMultipleList(files)} + {!isArray(files) ? renderItem(files) : renderMultipleItems(files)} ) : ( diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js index 60b0246fcd..adf7be00e7 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js @@ -252,6 +252,7 @@ function ListView({ }; const tableHeaders = [...getTableHeaders(), imgHeader, iconsHeader]; + console.log(data); return ( <>