feat: add timer to restore copyToClipboard button state

This commit is contained in:
lucataglia 2023-08-23 11:38:39 +02:00
parent 25d7b5e8d4
commit 6e71a04e8c

View File

@ -6,7 +6,7 @@ import {
faCheck, faCheck,
} from '@fortawesome/free-solid-svg-icons'; } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import React, { ReactNode, useState } from 'react'; import React, { ReactNode, useEffect, useState } from 'react';
import { ExpandCollapseAll } from '.'; import { ExpandCollapseAll } from '.';
import { useExpandCollapseAllContext } from './expandCollapseContext'; import { useExpandCollapseAllContext } from './expandCollapseContext';
import { StylingFunction } from 'react-base16-styling'; import { StylingFunction } from 'react-base16-styling';
@ -131,6 +131,12 @@ function CopyToClipboardButton({copyToClipboardIcon, copiedToClipboardIcon, valu
setIsCopied(true) setIsCopied(true)
} }
useEffect(() => {
if(isCopied){
setTimeout(() => setIsCopied(false), 6000)
}
}, [isCopied])
if(isCopied){ if(isCopied){
return (<div role="presentation" onClick={handleOnCopyToClipboard}> return (<div role="presentation" onClick={handleOnCopyToClipboard}>
{copiedToClipboardIcon || <FontAwesomeIcon icon={faCheck} />} {copiedToClipboardIcon || <FontAwesomeIcon icon={faCheck} />}