Updated all basic components
removed unnecessary components, combined where necessary added each component to a folder, added individual css style modules optimized some component rendering flows removed functional components in favor of pure components linted and formatted all of the files
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import classNames from 'classnames';
|
||||
import { shortNumberFormat } from '../../utils/numbers';
|
||||
|
||||
import './index.scss';
|
||||
|
||||
export default class TimelineQueueButtonHeader extends PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
onClick: PropTypes.func.isRequired,
|
||||
count: PropTypes.number,
|
||||
itemType: PropTypes.string,
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
count: 0,
|
||||
itemType: 'item',
|
||||
};
|
||||
|
||||
render () {
|
||||
const { count, itemType, onClick } = this.props;
|
||||
|
||||
const hasItems = (count > 0);
|
||||
|
||||
const classes = classNames('timeline-queue-header', {
|
||||
'timeline-queue-header--extended': hasItems,
|
||||
});
|
||||
|
||||
return (
|
||||
<div className={classes}>
|
||||
<a className='timeline-queue-header__btn' onClick={onClick}>
|
||||
{
|
||||
hasItems &&
|
||||
<FormattedMessage
|
||||
id='timeline_queue.label'
|
||||
defaultMessage='{count} new {type}'
|
||||
values={{
|
||||
count: shortNumberFormat(count),
|
||||
type: count === 1 ? itemType : `${itemType}s`,
|
||||
}}
|
||||
/>
|
||||
}
|
||||
</a>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
.timeline-queue-header {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-height: 0px;
|
||||
position: relative;
|
||||
background-color: darken($ui-base-color, 8%);
|
||||
border-bottom: 1px solid;
|
||||
border-top: 1px solid;
|
||||
border-color: darken($ui-base-color, 4%);
|
||||
transition: max-height 2.5s ease;
|
||||
overflow: hidden;
|
||||
|
||||
&--extended {
|
||||
max-height: 46px;
|
||||
}
|
||||
|
||||
&__btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
color: $secondary-text-color;
|
||||
|
||||
@include size(100%);
|
||||
@include text-sizing(14px, 400, 46px, center);
|
||||
|
||||
span {
|
||||
height: 46px;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user