1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-24 17:51:14 +02:00
unleash.unleash/frontend/src/component/strategies/TogglesLinkList/TogglesLinkList.tsx
Nuno Góis 4167a60588
feat: biome lint frontend (#4903)
Follows up on https://github.com/Unleash/unleash/pull/4853 to add Biome
to the frontend as well.


![image](https://github.com/Unleash/unleash/assets/14320932/1906faf1-fc29-4172-a4d4-b2716d72cd65)

Added a few `biome-ignore` to speed up the process but we may want to
check and fix them in the future.
2023-10-02 13:25:46 +01:00

52 lines
1.8 KiB
TypeScript

import {
List,
ListItem,
ListItemAvatar,
ListItemText,
Tooltip,
} from '@mui/material';
import { Pause, PlayArrow } from '@mui/icons-material';
import styles from 'component/common/common.module.scss';
import { Link } from 'react-router-dom';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { FeatureSchema } from 'openapi';
interface ITogglesLinkListProps {
toggles: FeatureSchema[];
}
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}>
<ListItemAvatar>
<ConditionallyRender
condition={Boolean(enabled)}
show={
<Tooltip title='Enabled' arrow>
<PlayArrow aria-hidden={false} />
</Tooltip>
}
elseShow={
<Tooltip title='Disabled' arrow>
<Pause aria-hidden={false} />
</Tooltip>
}
/>
</ListItemAvatar>
<ListItemText
primary={
<Link key={name} to={`/features/view/${name}`}>
{name}
</Link>
}
secondary={description}
/>
</ListItem>
))}
/>
</List>
);