diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json
index 08e62da7a7..1e00138afd 100644
--- a/packages/strapi-admin/package.json
+++ b/packages/strapi-admin/package.json
@@ -22,12 +22,12 @@
"@babel/preset-env": "^7.4.3",
"@babel/preset-react": "^7.0.0",
"@babel/runtime": "^7.4.3",
- "@buffetjs/core": "3.0.4",
- "@buffetjs/custom": "3.0.4",
- "@buffetjs/hooks": "3.0.4",
- "@buffetjs/icons": "3.0.4",
- "@buffetjs/styles": "3.0.4",
- "@buffetjs/utils": "3.0.4",
+ "@buffetjs/core": "3.0.5",
+ "@buffetjs/custom": "3.0.5",
+ "@buffetjs/hooks": "3.0.5",
+ "@buffetjs/icons": "3.0.5",
+ "@buffetjs/styles": "3.0.5",
+ "@buffetjs/utils": "3.0.5",
"@fortawesome/fontawesome-free": "^5.11.2",
"@fortawesome/fontawesome-svg-core": "^1.2.25",
"@fortawesome/free-brands-svg-icons": "^5.11.2",
@@ -116,4 +116,4 @@
},
"license": "MIT",
"gitHead": "c85658a19b8fef0f3164c19693a45db305dc07a9"
-}
+}
\ No newline at end of file
diff --git a/packages/strapi-plugin-upload/admin/src/components/Card/index.js b/packages/strapi-plugin-upload/admin/src/components/Card/index.js
index 7757c17275..6f2cdf527a 100644
--- a/packages/strapi-plugin-upload/admin/src/components/Card/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/Card/index.js
@@ -8,6 +8,7 @@ import Border from '../CardBorder';
import CardImgWrapper from '../CardImgWrapper';
import CardPreview from '../CardPreview';
import ErrorMessage from '../CardErrorMessage';
+import FileInfos from '../FileInfos';
import Title from '../CardTitle';
import Tag from '../Tag';
import Wrapper from '../CardWrapper';
@@ -58,9 +59,7 @@ const Card = ({
{name}
-
- {!withoutFileInfo && `${getExtension(fileType)} - ${fileSize}`}
-
+ {!withoutFileInfo && }
>
) : (
diff --git a/packages/strapi-plugin-upload/admin/src/components/CardControl/Wrapper.js b/packages/strapi-plugin-upload/admin/src/components/CardControl/Wrapper.js
index 959837dc9d..1d45e35127 100644
--- a/packages/strapi-plugin-upload/admin/src/components/CardControl/Wrapper.js
+++ b/packages/strapi-plugin-upload/admin/src/components/CardControl/Wrapper.js
@@ -7,8 +7,8 @@ const Wrapper = styled.div`
display: flex;
justify-content: center;
align-items: center;
- width: ${({ small }) => (small ? '24px' : '30px')};
- height: ${({ small }) => (small ? '24px' : '30px')};
+ width: ${({ small }) => (small ? '25px' : '30px')};
+ height: ${({ small }) => (small ? '25px' : '30px')};
margin-left: 5px;
background-color: ${({ theme }) => theme.main.colors.white};
border: 1px solid ${({ theme }) => theme.main.colors.darkGrey};
diff --git a/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js b/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js
index da390ec0ed..ce38aebf8c 100644
--- a/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js
@@ -5,6 +5,7 @@ const CardImgWrapper = styled.div`
position: relative;
width: 100%;
height: 0;
+ overflow: hidden;
padding-top: ${({ small }) => (small ? '62.8%' : '63.8%')};
margin-bottom: 6px;
border-radius: 2px;
diff --git a/packages/strapi-plugin-upload/admin/src/components/FileInfos/index.js b/packages/strapi-plugin-upload/admin/src/components/FileInfos/index.js
new file mode 100644
index 0000000000..0c4ac832ae
--- /dev/null
+++ b/packages/strapi-plugin-upload/admin/src/components/FileInfos/index.js
@@ -0,0 +1,26 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+import Text from '../Text';
+
+const FileInfos = ({ extension, size }) => {
+ return (
+
+ {extension.toUpperCase()}
+ —
+ {size}
+
+ );
+};
+
+FileInfos.defaultProps = {
+ extension: null,
+ size: null,
+};
+
+FileInfos.propTypes = {
+ extension: PropTypes.string,
+ size: PropTypes.string,
+};
+
+export default FileInfos;
diff --git a/packages/strapi-plugin-upload/admin/src/components/List/ListRow.js b/packages/strapi-plugin-upload/admin/src/components/List/ListRow.js
new file mode 100644
index 0000000000..3657d56bde
--- /dev/null
+++ b/packages/strapi-plugin-upload/admin/src/components/List/ListRow.js
@@ -0,0 +1,8 @@
+import styled from 'styled-components';
+import { Row } from 'reactstrap';
+
+const ListRow = styled(Row)`
+ padding-top: 13px;
+`;
+
+export default ListRow;
diff --git a/packages/strapi-plugin-upload/admin/src/components/List/index.js b/packages/strapi-plugin-upload/admin/src/components/List/index.js
index 0e29f23e0f..8fdc40567d 100644
--- a/packages/strapi-plugin-upload/admin/src/components/List/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/List/index.js
@@ -3,11 +3,13 @@ import PropTypes from 'prop-types';
import { Checkbox } from '@buffetjs/core';
import { get } from 'lodash';
import { prefixFileUrlWithBackendUrl } from 'strapi-helper-plugin';
-
+import { getTrad } from '../../utils';
import Card from '../Card';
import CardControlsWrapper from '../CardControlsWrapper';
import ListWrapper from '../ListWrapper';
+import IntlText from '../IntlText';
import ListCell from './ListCell';
+import ListRow from './ListRow';
const List = ({
clickable,
@@ -19,13 +21,22 @@ const List = ({
canSelect,
renderCardControl,
}) => {
+ const selectedAssets = selectedItems.length;
+
const handleClick = e => {
e.stopPropagation();
};
return (
-
+ {selectedAssets > 0 && (
+ 1 ? 'plural' : 'singular'}`)}
+ values={{ number: selectedAssets }}
+ lineHeight="18px"
+ />
+ )}
+
{data.map(item => {
const { id } = item;
const url = get(item, ['formats', 'thumbnail', 'url'], item.url);
@@ -63,7 +74,7 @@ const List = ({
);
})}
-
+
);
};
diff --git a/packages/strapi-plugin-upload/admin/src/components/ListWrapper/index.js b/packages/strapi-plugin-upload/admin/src/components/ListWrapper/index.js
index 818878c873..8b3ba923ef 100644
--- a/packages/strapi-plugin-upload/admin/src/components/ListWrapper/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/ListWrapper/index.js
@@ -2,7 +2,7 @@ import styled from 'styled-components';
import PropTypes from 'prop-types';
const ListWrapper = styled.div`
- margin-top: ${({ small }) => (small ? '2px' : '26px')};
+ margin-top: ${({ small }) => (small ? '2px' : '13px')};
`;
ListWrapper.defaultProps = {
diff --git a/packages/strapi-plugin-upload/admin/src/components/SelectedAssets/DraggableCard.js b/packages/strapi-plugin-upload/admin/src/components/SelectedAssets/DraggableCard.js
index 8c6d049283..8377a05bb7 100644
--- a/packages/strapi-plugin-upload/admin/src/components/SelectedAssets/DraggableCard.js
+++ b/packages/strapi-plugin-upload/admin/src/components/SelectedAssets/DraggableCard.js
@@ -5,11 +5,11 @@ import { getEmptyImage } from 'react-dnd-html5-backend';
import { formatBytes, getExtension, getType, ItemTypes } from '../../utils';
import Flex from '../Flex';
-import Text from '../Text';
import Border from '../CardBorder';
import CardImgWrapper from '../CardImgWrapper';
import CardPreview from '../CardPreview';
import ErrorMessage from '../CardErrorMessage';
+import FileInfos from '../FileInfos';
import Title from '../CardTitle';
import Tag from '../Tag';
import Wrapper from '../CardWrapper';
@@ -99,9 +99,7 @@ const DraggableCard = ({
{name}
-
- {`${getExtension(fileType)} - ${fileSize}`}
-
+
{hasError && {errorMessage}}
);
diff --git a/packages/strapi-plugin-upload/admin/src/components/Tag/Wrapper.js b/packages/strapi-plugin-upload/admin/src/components/Tag/Wrapper.js
index dd99d707e1..7ef00d798c 100644
--- a/packages/strapi-plugin-upload/admin/src/components/Tag/Wrapper.js
+++ b/packages/strapi-plugin-upload/admin/src/components/Tag/Wrapper.js
@@ -2,10 +2,11 @@ import styled from 'styled-components';
import { themePropTypes } from 'strapi-helper-plugin';
const Wrapper = styled.div`
- background-color: ${({ theme }) => theme.main.colors.mediumGrey};
padding: 0 5px;
- height: 14px;
margin-top: 6px;
+ height: 14px;
+ background-color: ${({ theme }) => theme.main.colors.mediumGrey};
+ border-radius: ${({ theme }) => theme.main.sizes.borderRadius};
`;
Wrapper.propTypes = {
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
index 2f15d46a0b..8dda52589a 100644
--- a/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
@@ -316,7 +316,7 @@ const HomePage = () => {
actions: [
{
disabled: dataToDelete.length === 0,
- color: 'cancel',
+ color: 'delete',
// TradId from the strapi-admin package
label: formatMessage({ id: 'app.utils.delete' }),
onClick: () => setIsPopupOpen(true),
diff --git a/packages/strapi-plugin-upload/admin/src/translations/en.json b/packages/strapi-plugin-upload/admin/src/translations/en.json
index 211c6af19f..ab99091748 100644
--- a/packages/strapi-plugin-upload/admin/src/translations/en.json
+++ b/packages/strapi-plugin-upload/admin/src/translations/en.json
@@ -30,6 +30,8 @@
"list.assets-empty.title": "There is no asset yet",
"list.assets-empty.title-withSearch": "There is no asset with the applied filters",
"list.assets-empty.subtitle": "Add a first one to the list.",
+ "list.assets.selected.plural": "{number} assets selected",
+ "list.assets.selected.singular": "{number} asset selected",
"modal.header.browse": "Upload assets",
"modal.header.select-files": "Pending assets",
"modal.header.file-detail": "Details",
@@ -67,4 +69,4 @@
"sort.updated_at_desc": "Most recent updates",
"window.confirm.close-modal.files": "Are you sure? You have some files that have not been uploaded yet.",
"window.confirm.close-modal.file": "Are you sure? Your changes will be lost."
-}
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index e4e481acfd..45bb1f6aa9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -844,15 +844,15 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
-"@buffetjs/core@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.0.4.tgz#834076181674bde456af0a9a1e0a26bc4d5cc31e"
- integrity sha512-52cq9IDKmpoeAxWgEEt7r1mbadJWpaZF65QJtGndcnjP8oGBiw07+WDd+OamYWpiftbeKfIihcojHFZ3Zk/W7A==
+"@buffetjs/core@3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.0.5.tgz#52b7f38603814c761bf3382159b769590d8306e6"
+ integrity sha512-xY5xIi8b6QRFdYjGoPjWr6LmTV35wlsG6o3LeopkDViBVKtiVkmifv7mq64TcrHfuR8haolG8UsdE46Gy8HPoQ==
dependencies:
- "@buffetjs/hooks" "3.0.4"
- "@buffetjs/icons" "3.0.4"
- "@buffetjs/styles" "3.0.4"
- "@buffetjs/utils" "3.0.4"
+ "@buffetjs/hooks" "3.0.5"
+ "@buffetjs/icons" "3.0.5"
+ "@buffetjs/styles" "3.0.5"
+ "@buffetjs/utils" "3.0.5"
"@fortawesome/fontawesome-svg-core" "^1.2.25"
"@fortawesome/free-regular-svg-icons" "^5.11.2"
"@fortawesome/free-solid-svg-icons" "^5.11.2"
@@ -863,31 +863,31 @@
react-dates "^21.5.1"
react-moment-proptypes "^1.7.0"
-"@buffetjs/custom@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.0.4.tgz#d7f4669640f377343851a59ae280b010943650ec"
- integrity sha512-yO63Aab/Y61Em+FUsIEfmi5d2WgdoWilTkUAQX2eb9wPxZTcUpPedYK/38Zdx2rudKA+VHBsFOoM92vQRGthgw==
+"@buffetjs/custom@3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.0.5.tgz#ead4e52220b6254737717f9cb549e73ae46d17bc"
+ integrity sha512-VvzZtmngFVBxWj+3cd4nZ6ccWzis8SEb8ClzYV5n+EhMRLBiYDRJ8sjIIYSbDtu4HQv87p7Hh1MkFKy1FMbpjg==
dependencies:
- "@buffetjs/core" "3.0.4"
- "@buffetjs/styles" "3.0.4"
- "@buffetjs/utils" "3.0.4"
+ "@buffetjs/core" "3.0.5"
+ "@buffetjs/styles" "3.0.5"
+ "@buffetjs/utils" "3.0.5"
moment "^2.24.0"
react-moment-proptypes "^1.7.0"
-"@buffetjs/hooks@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.0.4.tgz#0f761014f37caa4c7fa9abd0187d7ed17a146f12"
- integrity sha512-PlS1lEt7mY8/bDkDi1AIjVZUgM/EDG4do13G7DeHAP5swjJ05yRRi/dLT144BbdJEfezaNE5j6CBKcPgnegERA==
+"@buffetjs/hooks@3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.0.5.tgz#b48301102ec69c0ebc10d83eb8ace70adb0a2a58"
+ integrity sha512-6NSETsJ3EfPzLXRGHAcsRAImCTrzm6oAc3V8ijqSTajf0e70UPhntfCbcN+l0vpDVlqut3YArLQmfVznva2xsw==
-"@buffetjs/icons@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.0.4.tgz#4a623ba2766c263c56ce5e3f6dcd0c3c4fc7fa4c"
- integrity sha512-b4/1+x31mM96ycFDeGOBMA4XZRaAm0BPGsrh2mTI23smvn/2pSkcDvV7ughHp+0ezdNKYtDc7xKg136ILmF0ZQ==
+"@buffetjs/icons@3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.0.5.tgz#6784c60026e4ed1b7633c5d59dd0193e7c9467c8"
+ integrity sha512-GZgYLMJ7nkDhAiczK3vRj9OEkjw2pLMaHNVfQxeBgZk2JdWrMXFSPxeJrw4BLGExO7m1L6F9aEuLsw2R/OBR5w==
-"@buffetjs/styles@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.0.4.tgz#d9343721ba01adbcd592c5195b2f42ab17c0f8ce"
- integrity sha512-Px7WN1ZmeBHTRzxxQ6KSRoJ5aoDI8oxB24OJIAXpKqr075F4Q7TjZlp3oBUSWaVVVFtJFIR+hjkOO3uOn86y+g==
+"@buffetjs/styles@3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.0.5.tgz#102b3aa25bad017657dd3e87bf59c7cc979892f0"
+ integrity sha512-c4OFX/SBnevMZNofjiboxU/Ixx3eHS2Fb4dqVrKvHYAdTQhHVzcoECCqz2RZcRfUNpaLuJKhE9EeRGj2lmgHVA==
dependencies:
"@fortawesome/fontawesome-free" "^5.12.0"
"@fortawesome/fontawesome-svg-core" "^1.2.22"
@@ -896,10 +896,10 @@
"@fortawesome/react-fontawesome" "^0.1.4"
react-dates "^21.1.0"
-"@buffetjs/utils@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.0.4.tgz#efc87822a5a26c1070714b078a7aff1f3153349b"
- integrity sha512-XUdMV2UvZXKM3JMaEIZXRzBCmbdKJlyec9NhjEAXYuVnUhT9vsfyH2SiD+C4fsxSj+LmBx/JU4VWOYc+OTxSRw==
+"@buffetjs/utils@3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.0.5.tgz#24bd3f3c6f30a9f7d0851a7741dae5c70f8272ea"
+ integrity sha512-HFhqBBi8N8MTOkTa1/AuET26gET2tI8El1d10aCscLFx5mT7O94LUbspL6RwqTd62SkEli528aV/gBA5fHdTjA==
dependencies:
yup "^0.27.0"