Fixed: Waiting a long time for unavailable root folders

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
This commit is contained in:
Mark McDowall 2019-08-16 20:54:03 -07:00 committed by Qstick
parent 05b25429dc
commit 74cb2a6f52
4 changed files with 56 additions and 22 deletions

View file

@ -1,7 +1,16 @@
.link {
composes: link from '~Components/Link/Link.css';
}
display: block;
.unavailablePath {
display: flex;
align-items: center;
}
.unavailableLabel {
composes: label from '~Components/Label.css';
margin-left: 10px;
}
.freeSpace,

View file

@ -1,7 +1,8 @@
import PropTypes from 'prop-types';
import React from 'react';
import formatBytes from 'Utilities/Number/formatBytes';
import { icons } from 'Helpers/Props';
import { icons, kinds } from 'Helpers/Props';
import Label from 'Components/Label';
import IconButton from 'Components/Link/IconButton';
import Link from 'Components/Link/Link';
import TableRow from 'Components/Table/TableRow';
@ -18,20 +19,35 @@ function RootFolderRow(props) {
} = props;
const unmappedFoldersCount = unmappedFolders.length || '-';
const isUnavailable = freeSpace == null;
return (
<TableRow>
<TableRowCell>
<Link
className={styles.link}
to={`/add/import/${id}`}
>
{path}
</Link>
{
isUnavailable ?
<div className={styles.unavailablePath}>
{path}
<Label
className={styles.unavailableLabel}
kind={kinds.DANGER}
>
Unavailable
</Label>
</div> :
<Link
className={styles.link}
to={`/add/import/${id}`}
>
{path}
</Link>
}
</TableRowCell>
<TableRowCell className={styles.freeSpace}>
{formatBytes(freeSpace) || '-'}
{freeSpace ? formatBytes(freeSpace) : '-'}
</TableRowCell>
<TableRowCell className={styles.unmappedFolders}>
@ -52,13 +68,12 @@ function RootFolderRow(props) {
RootFolderRow.propTypes = {
id: PropTypes.number.isRequired,
path: PropTypes.string.isRequired,
freeSpace: PropTypes.number.isRequired,
freeSpace: PropTypes.number,
unmappedFolders: PropTypes.arrayOf(PropTypes.object).isRequired,
onDeletePress: PropTypes.func.isRequired
};
RootFolderRow.defaultProps = {
freeSpace: 0,
unmappedFolders: []
};