1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-08-16 15:29:40 +02:00

Fixed: Show errors when adding Root Folder

(cherry picked from commit 16d60a6586aeb458601214258da021ee154e5b6e)

Closes #9527
This commit is contained in:
Bogdan 2023-12-31 02:07:06 +02:00
parent e29717ec6c
commit b788464487
4 changed files with 43 additions and 21 deletions

View File

@ -148,7 +148,7 @@ class ImportMovieSelectFolder extends Component {
className={styles.addErrorAlert} className={styles.addErrorAlert}
kind={kinds.DANGER} kind={kinds.DANGER}
> >
{translate('UnableToAddRootFolder')} {translate('AddRootFolderError')}
<ul> <ul>
{ {

View File

@ -49,7 +49,7 @@ function RootFolders() {
if (!isFetching && !!error) { if (!isFetching && !!error) {
return ( return (
<Alert kind={kinds.DANGER}>{translate('UnableToLoadRootFolders')}</Alert> <Alert kind={kinds.DANGER}>{translate('RootFoldersLoadError')}</Alert>
); );
} }

View File

@ -1,14 +1,18 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { useDispatch } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import Alert from 'Components/Alert';
import FileBrowserModal from 'Components/FileBrowser/FileBrowserModal'; import FileBrowserModal from 'Components/FileBrowser/FileBrowserModal';
import Icon from 'Components/Icon'; import Icon from 'Components/Icon';
import Button from 'Components/Link/Button'; import Button from 'Components/Link/Button';
import { icons, kinds, sizes } from 'Helpers/Props'; import { icons, kinds, sizes } from 'Helpers/Props';
import { addRootFolder } from 'Store/Actions/rootFolderActions'; import { addRootFolder } from 'Store/Actions/rootFolderActions';
import createRootFoldersSelector from 'Store/Selectors/createRootFoldersSelector';
import translate from 'Utilities/String/translate'; import translate from 'Utilities/String/translate';
import styles from './AddRootFolder.css'; import styles from './AddRootFolder.css';
function AddRootFolder() { function AddRootFolder() {
const { isSaving, saveError } = useSelector(createRootFoldersSelector());
const dispatch = useDispatch(); const dispatch = useDispatch();
const [isAddNewRootFolderModalOpen, setIsAddNewRootFolderModalOpen] = const [isAddNewRootFolderModalOpen, setIsAddNewRootFolderModalOpen] =
@ -30,6 +34,23 @@ function AddRootFolder() {
}, [setIsAddNewRootFolderModalOpen]); }, [setIsAddNewRootFolderModalOpen]);
return ( return (
<>
{!isSaving && saveError ? (
<Alert kind={kinds.DANGER}>
{translate('AddRootFolderError')}
<ul>
{Array.isArray(saveError.responseJSON) ? (
saveError.responseJSON.map((e, index) => {
return <li key={index}>{e.errorMessage}</li>;
})
) : (
<li>{JSON.stringify(saveError.responseJSON)}</li>
)}
</ul>
</Alert>
) : null}
<div className={styles.addRootFolderButtonContainer}> <div className={styles.addRootFolderButtonContainer}>
<Button <Button
kind={kinds.PRIMARY} kind={kinds.PRIMARY}
@ -48,6 +69,7 @@ function AddRootFolder() {
onModalClose={onAddRootFolderModalClose} onModalClose={onAddRootFolderModalClose}
/> />
</div> </div>
</>
); );
} }

View File

@ -30,6 +30,7 @@
"AddRemotePathMapping": "Add Remote Path Mapping", "AddRemotePathMapping": "Add Remote Path Mapping",
"AddRestriction": "Add Restriction", "AddRestriction": "Add Restriction",
"AddRootFolder": "Add Root Folder", "AddRootFolder": "Add Root Folder",
"AddRootFolderError": "Unable to add root folder",
"AddToDownloadQueue": "Add to download queue", "AddToDownloadQueue": "Add to download queue",
"Added": "Added", "Added": "Added",
"AddedToDownloadQueue": "Added to download queue", "AddedToDownloadQueue": "Added to download queue",
@ -1253,7 +1254,6 @@
"UnableToAddANewNotificationPleaseTryAgain": "Unable to add a new notification, please try again.", "UnableToAddANewNotificationPleaseTryAgain": "Unable to add a new notification, please try again.",
"UnableToAddANewQualityProfilePleaseTryAgain": "Unable to add a new quality profile, please try again.", "UnableToAddANewQualityProfilePleaseTryAgain": "Unable to add a new quality profile, please try again.",
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Unable to add a new remote path mapping, please try again.", "UnableToAddANewRemotePathMappingPleaseTryAgain": "Unable to add a new remote path mapping, please try again.",
"UnableToAddRootFolder": "Unable to add root folder",
"UnableToLoadAltTitle": "Unable to load alternative titles.", "UnableToLoadAltTitle": "Unable to load alternative titles.",
"UnableToLoadAutoTagging": "Unable to load auto tagging", "UnableToLoadAutoTagging": "Unable to load auto tagging",
"UnableToLoadCollections": "Unable to load collections", "UnableToLoadCollections": "Unable to load collections",