1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-23 07:19:41 +02:00

refactor(app): move react components to react codebase [EE-3179] (#6971)

This commit is contained in:
Chaim Lev-Ari 2022-06-17 19:18:42 +03:00 committed by GitHub
parent 212400c283
commit 18252ab854
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
346 changed files with 642 additions and 644 deletions

View file

@ -0,0 +1,57 @@
import clsx from 'clsx';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { BEFeatureIndicator } from '@@/BEFeatureIndicator';
import './Switch.css';
import styles from './Switch.module.css';
export interface Props {
checked: boolean;
id: string;
name: string;
onChange(checked: boolean): void;
className?: string;
dataCy?: string;
disabled?: boolean;
featureId?: FeatureId;
}
export function Switch({
name,
checked,
id,
disabled,
dataCy,
onChange,
featureId,
className,
}: Props) {
const limitedToBE = isLimitedToBE(featureId);
return (
<>
<label
className={clsx('switch', className, styles.root, {
business: limitedToBE,
limited: limitedToBE,
})}
>
<input
type="checkbox"
name={name}
id={id}
checked={checked}
disabled={disabled || limitedToBE}
onChange={({ target: { checked } }) => onChange(checked)}
/>
<i data-cy={dataCy} />
</label>
{limitedToBE && <BEFeatureIndicator featureId={featureId} />}
</>
);
}