diff --git a/packages/core/upload/admin/src/components/FolderCard/styled.js b/packages/core/upload/admin/src/components/FolderCard/styled.js index f5cf80ceb5..f0d470302b 100644 --- a/packages/core/upload/admin/src/components/FolderCard/styled.js +++ b/packages/core/upload/admin/src/components/FolderCard/styled.js @@ -1,7 +1,6 @@ +import { NavLink } from 'react-router-dom'; import styled from 'styled-components'; -import { BaseLink } from '@strapi/design-system/BaseLink'; - -export const FolderCardLink = styled(BaseLink)` +export const FolderCardLink = styled(NavLink)` text-decoration: none; `; diff --git a/packages/core/upload/admin/src/components/FolderList/FolderList.js b/packages/core/upload/admin/src/components/FolderList/FolderList.js index c8fb3578b5..299a951ce0 100644 --- a/packages/core/upload/admin/src/components/FolderList/FolderList.js +++ b/packages/core/upload/admin/src/components/FolderList/FolderList.js @@ -1,12 +1,14 @@ import React from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; -import { useHistory } from 'react-router-dom'; +import { stringify } from 'qs'; +import { useHistory, useLocation } from 'react-router-dom'; import { Box } from '@strapi/design-system/Box'; import { KeyboardNavigable } from '@strapi/design-system/KeyboardNavigable'; import { Flex } from '@strapi/design-system/Flex'; import { Typography } from '@strapi/design-system/Typography'; import { VisuallyHidden } from '@strapi/design-system/VisuallyHidden'; +import { useQueryParams } from '@strapi/helper-plugin'; import { FolderCard, FolderCardBody, FolderCardCheckbox, FolderCardLink } from '../FolderCard'; import { GridColumnSize } from '../../constants'; @@ -22,6 +24,8 @@ const GridLayout = styled(Box)` export const FolderList = ({ title, folders, size, onSelectFolder, selectedFolders }) => { const history = useHistory(); + const { pathname } = useLocation(); + const [{ query }] = useQueryParams(); return ( @@ -38,8 +42,10 @@ export const FolderList = ({ title, folders, size, onSelectFolder, selectedFolde const isSelected = !!selectedFolders.find( currentFolder => currentFolder.id === folder.id ); - // TODO: is there a better way to retrieve the plugin base URL? - const url = `/admin/plugins/upload?parent=${folder.id}`; + const url = `${pathname}?${stringify( + { ...query, filter: { folder: folder.id } }, + { encode: false } + )}`; return ( - + {folder.name}