1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-28 17:55:15 +02:00
unleash.unleash/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordion.tsx
Christopher Kolstad 53354224fc
chore: Bump biome and configure husky (#6589)
Upgrades biome to 1.6.1, and updates husky pre-commit hook.

Most changes here are making type imports explicit.
2024-03-18 13:58:05 +01:00

53 lines
1.5 KiB
TypeScript

import type { IConstraint } from 'interfaces/strategy';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { ConstraintAccordionEdit } from './ConstraintAccordionEdit/ConstraintAccordionEdit';
import { ConstraintAccordionView } from './ConstraintAccordionView/ConstraintAccordionView';
export interface IConstraintAccordionProps {
compact: boolean;
editing: boolean;
constraint: IConstraint;
onCancel: () => void;
onEdit?: () => void;
onDelete?: () => void;
onAutoSave?: (constraint: IConstraint) => void;
onSave?: (constraint: IConstraint) => void;
}
export const NewConstraintAccordion = ({
constraint,
compact = false,
editing,
onEdit,
onCancel,
onDelete,
onSave,
onAutoSave,
}: IConstraintAccordionProps) => {
if (!constraint) return null;
return (
<ConditionallyRender
condition={Boolean(editing && onSave)}
show={
<ConstraintAccordionEdit
constraint={constraint}
onCancel={onCancel}
onSave={onSave!}
onDelete={onDelete}
onAutoSave={onAutoSave!}
compact={compact}
/>
}
elseShow={
<ConstraintAccordionView
constraint={constraint}
onEdit={onEdit}
onDelete={onDelete}
/>
}
/>
);
};