2020-08-11 10:58:19 +02:00
|
|
|
import React, { memo } from 'react';
|
2021-03-30 15:14:02 +02:00
|
|
|
import classnames from 'classnames';
|
|
|
|
import { Chip } from '@material-ui/core';
|
2020-08-07 09:36:32 +02:00
|
|
|
import PropTypes from 'prop-types';
|
|
|
|
|
2021-03-30 15:14:02 +02:00
|
|
|
import styles from './status.module.scss';
|
2020-08-11 10:58:19 +02:00
|
|
|
function StatusComponent({ stale, style, showActive = true }) {
|
2020-08-07 09:36:32 +02:00
|
|
|
if (!stale && !showActive) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2021-03-30 15:14:02 +02:00
|
|
|
const className = classnames({
|
|
|
|
[styles.stale]: stale,
|
|
|
|
[styles.active]: !stale,
|
|
|
|
});
|
2020-08-07 09:36:32 +02:00
|
|
|
|
|
|
|
const title = stale ? 'Feature toggle is deprecated.' : 'Feature toggle is active.';
|
|
|
|
const value = stale ? 'Stale' : 'Active';
|
|
|
|
|
2021-03-30 15:14:02 +02:00
|
|
|
return <Chip style={style} title={title} className={className} label={value} />;
|
2020-08-07 09:36:32 +02:00
|
|
|
}
|
|
|
|
|
2020-08-11 10:58:19 +02:00
|
|
|
export default memo(StatusComponent);
|
|
|
|
|
2020-08-07 09:36:32 +02:00
|
|
|
StatusComponent.propTypes = {
|
|
|
|
stale: PropTypes.bool.isRequired,
|
|
|
|
style: PropTypes.object,
|
|
|
|
showActive: PropTypes.bool,
|
|
|
|
};
|