import React, { ReactNode, useEffect, useState } from 'react'; import Alert from '@mui/material/Alert'; export default function CopiableItem({ content, children, }: { content?: string; children: ReactNode; }) { const [alertVisible, setAlertVisble] = useState(false); useEffect(() => { if (alertVisible) { setTimeout(() => setAlertVisble(false), 1000); } }, [alertVisible]); return (
{ if (content) { navigator.clipboard.writeText(content).then(() => { setAlertVisble(true); }); } }} > {alertVisible ? ( theme.zIndex.tooltip + 1, }} severity="success" > Copied ) : null} {children}
); }