From 1a9400564f70c353e488b02da9428ad7a3490d2c Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Mon, 30 May 2022 10:34:50 +0200 Subject: [PATCH] back button and folder name for ML modal header --- .../src/components/AssetDialog/DialogTitle.js | 53 +++++++++++++++---- .../admin/src/components/AssetDialog/index.js | 2 +- 2 files changed, 45 insertions(+), 10 deletions(-) diff --git a/packages/core/upload/admin/src/components/AssetDialog/DialogTitle.js b/packages/core/upload/admin/src/components/AssetDialog/DialogTitle.js index 25942a2436..fd252cd895 100644 --- a/packages/core/upload/admin/src/components/AssetDialog/DialogTitle.js +++ b/packages/core/upload/admin/src/components/AssetDialog/DialogTitle.js @@ -1,20 +1,55 @@ import React from 'react'; -import { Typography } from '@strapi/design-system/Typography'; -import { ModalHeader } from '@strapi/design-system/ModalLayout'; +import PropTypes from 'prop-types'; import { useIntl } from 'react-intl'; +import { Breadcrumbs, Crumb } from '@strapi/design-system/Breadcrumbs'; +import { ModalHeader } from '@strapi/design-system/ModalLayout'; +import { Stack } from '@strapi/design-system/Stack'; +import { Icon } from '@strapi/design-system/Icon'; +import ArrowLeft from '@strapi/icons/ArrowLeft'; import getTrad from '../../utils/getTrad'; +import { findRecursiveFolderMetadatas } from '../../utils'; +import { useFolderStructure } from '../../hooks/useFolderStructure'; -export const DialogTitle = () => { +export const DialogTitle = ({ currentFolder, onChangeFolder }) => { const { formatMessage } = useIntl(); + const { data, isLoading } = useFolderStructure(); + + const folderMetadatas = !isLoading && findRecursiveFolderMetadatas(data[0], currentFolder); + const folderLabel = + folderMetadatas?.currentFolderLabel && + (folderMetadatas.currentFolderLabel.length > 60 + ? `${folderMetadatas.currentFolderLabel.slice(0, 60)}...` + : folderMetadatas.currentFolderLabel); + return ( - - {formatMessage({ - id: getTrad('header.actions.add-assets'), - defaultMessage: 'Add new assets', - })} - + + {currentFolder && ( + + )} + + + {formatMessage({ + id: getTrad('header.actions.add-assets'), + defaultMessage: 'Add new assets', + })} + + {folderLabel && {folderLabel}} + + ); }; + +DialogTitle.defaultProps = { + currentFolder: undefined, + onChangeFolder: undefined, +}; + +DialogTitle.propTypes = { + currentFolder: PropTypes.number, + onChangeFolder: PropTypes.func, +}; diff --git a/packages/core/upload/admin/src/components/AssetDialog/index.js b/packages/core/upload/admin/src/components/AssetDialog/index.js index dc727563ba..323e00ee57 100644 --- a/packages/core/upload/admin/src/components/AssetDialog/index.js +++ b/packages/core/upload/admin/src/components/AssetDialog/index.js @@ -160,7 +160,7 @@ export const AssetDialog = ({ return ( - +