import type { FC } from 'react' import { createPortal } from 'react-dom' import { RiCloseLine } from '@remixicon/react' type AudioPreviewProps = { url: string title: string onCancel: () => void } const AudioPreview: FC<AudioPreviewProps> = ({ url, title, onCancel, }) => { return createPortal( <div className='fixed inset-0 p-8 flex items-center justify-center bg-black/80 z-[1000]' onClick={e => e.stopPropagation()}> <div> <audio controls title={title} autoPlay={false} preload="metadata"> <source type="audio/mpeg" src={url} className='max-w-full max-h-full' /> </audio> </div> <div className='absolute top-6 right-6 flex items-center justify-center w-8 h-8 bg-white/[0.08] rounded-lg backdrop-blur-[2px] cursor-pointer' onClick={onCancel} > <RiCloseLine className='w-4 h-4 text-gray-500'/> </div> </div> , document.body, ) } export default AudioPreview