mirror of
https://github.com/Unleash/unleash.git
synced 2025-07-21 13:47:39 +02:00
* refactor: update test deps * refactor: remove unused ts-expect-error annotations * refactor: add missing arg and return types * refactor: the loading prop is optional * refactor: add missing arg and return types * reafactor: fix value arg type * refactor: fix missing array type * refactor: the parameters field is an array * refactor: use undefined instead of null in state * refactor: add missing params type * refactor: add missing children prop * refactor: add missing array type * refactor: add missing React imports * refactor: use correct IProjectEnvironment type * refactor: type errors as unknown * refactor: the index prop is required * refactor: fix date prop type * refactor: fix tooltip placement prop type * refactor: fix environments state type * refactor: add missing arg types * refactor: add guard for undefined field * refactor: fix ChangePassword prop types * refactor: fix MUI import paths * refactor: add missing arg type * refactor: fix showDialog prop type * refactor: remove unused openUpdateDialog prop * refactor: add missing non-null assertion * refactor: remove unused types prop * refactor: stricten API error handler types * refactor: add missing undefined check * refactor: add missing IProject id field * refactor: fix ConditionallyRender condition prop types * refactor: remove unused args * refactor: add AddVariant prop types * refactor: add types to UIContext * refactor: fix event arg type * refactor: add missing default impressionData field * refactor: fix handleDeleteEnvironment prop args * refactor: fix IFeatureMetrics field requirements * refactor: add missing element types to ConditionallyRender * refactor: remove unused ProjectAccess projectId prop * refactor: add missing undefined check * refactor: fix getCreateTogglePath arg type * refactor: add missing IStrategyPayload import * refactor: remove unused user arg * refactor: add missing event arg type * refactor: add missing style object types * refactor: improve userApiErrors prop type * refactor: the Dialogue onClose prop is optional * refactor: fix the AddonEvents setEventValue prop type
49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import {
|
|
List,
|
|
ListItem,
|
|
ListItemAvatar,
|
|
ListItemText,
|
|
Tooltip,
|
|
} from '@material-ui/core';
|
|
import { Pause, PlayArrow } from '@material-ui/icons';
|
|
import styles from '../../common/common.module.scss';
|
|
import { Link } from 'react-router-dom';
|
|
import ConditionallyRender from '../../common/ConditionallyRender';
|
|
import { IFeatureToggle } from '../../../interfaces/featureToggle';
|
|
|
|
interface ITogglesLinkListProps {
|
|
toggles: IFeatureToggle[];
|
|
}
|
|
|
|
export const TogglesLinkList = ({ toggles }: ITogglesLinkListProps) => (
|
|
<List style={{ textAlign: 'left' }} className={styles.truncate}>
|
|
<ConditionallyRender
|
|
condition={toggles.length > 0}
|
|
show={
|
|
<>
|
|
{toggles.map(({ name, description = '-', enabled }) => (
|
|
<ListItem key={name}>
|
|
<Tooltip title={enabled ? 'Enabled' : 'Disabled'}>
|
|
<ListItemAvatar>
|
|
{enabled ? <PlayArrow /> : <Pause />}
|
|
</ListItemAvatar>
|
|
</Tooltip>
|
|
<ListItemText
|
|
primary={
|
|
<Link
|
|
key={name}
|
|
to={`/features/view/${name}`}
|
|
>
|
|
{name}
|
|
</Link>
|
|
}
|
|
secondary={description}
|
|
/>
|
|
</ListItem>
|
|
))}
|
|
</>
|
|
}
|
|
/>
|
|
</List>
|
|
);
|