next-chat / components /artifact-close-button.tsx
NeoPy's picture
Upload folder using huggingface_hub
867b17d verified
raw
history blame
827 Bytes
import { memo } from 'react';
import { CrossIcon } from './icons';
import { Button } from './ui/button';
import { initialArtifactData, useArtifact } from '@/hooks/use-artifact';
function PureArtifactCloseButton() {
const { setArtifact } = useArtifact();
return (
<Button
data-testid="artifact-close-button"
variant="outline"
className="h-fit p-2 dark:hover:bg-zinc-700"
onClick={() => {
setArtifact((currentArtifact) =>
currentArtifact.status === 'streaming'
? {
...currentArtifact,
isVisible: false,
}
: { ...initialArtifactData, status: 'idle' },
);
}}
>
<CrossIcon size={18} />
</Button>
);
}
export const ArtifactCloseButton = memo(PureArtifactCloseButton, () => true);