chatbot-template/components/block-close-button.tsx

29 lines
720 B
TypeScript
Raw Normal View History

import { memo, SetStateAction } from 'react';
import { CrossIcon } from './icons';
import { Button } from './ui/button';
import { UIBlock } from './block';
import equal from 'fast-deep-equal';
interface BlockCloseButtonProps {
setBlock: (value: SetStateAction<UIBlock>) => void;
}
function PureBlockCloseButton({ setBlock }: BlockCloseButtonProps) {
return (
<Button
variant="outline"
className="h-fit p-2 dark:hover:bg-zinc-700"
onClick={() => {
setBlock((currentBlock) => ({
...currentBlock,
isVisible: false,
}));
}}
>
<CrossIcon size={18} />
</Button>
);
}
export const BlockCloseButton = memo(PureBlockCloseButton, () => true);