This commit is contained in:
guanghechen 2024-07-10 16:36:37 +08:00
parent 94d944bd68
commit a7c72ff497
2 changed files with 6 additions and 5 deletions

View file

@ -1,2 +1,3 @@
node_modules node_modules
dist dist
next-env.d.ts

View file

@ -10,14 +10,14 @@ export enum CopyStatus {
FAILED = 3, FAILED = 3,
} }
export interface ICopyButtonProps { export interface ICopyButtonProperties {
delay?: number; delay?: number;
className?: string; className?: string;
calcContentForCopy: () => string; calcContentForCopy: () => string;
} }
export const CopyButton: React.FC<ICopyButtonProps> = props => { export const CopyButton: React.FC<ICopyButtonProperties> = properties => {
const { className, delay = 1500, calcContentForCopy } = props; const { className, delay = 1500, calcContentForCopy } = properties;
const [status, setStatus] = React.useState<CopyStatus>(CopyStatus.PENDING); const [status, setStatus] = React.useState<CopyStatus>(CopyStatus.PENDING);
const disabled: boolean = status !== CopyStatus.PENDING; const disabled: boolean = status !== CopyStatus.PENDING;
@ -28,7 +28,7 @@ export const CopyButton: React.FC<ICopyButtonProps> = props => {
const contentForCopy: string = calcContentForCopy(); const contentForCopy: string = calcContentForCopy();
copy(contentForCopy); copy(contentForCopy);
setStatus(CopyStatus.COPIED); setStatus(CopyStatus.COPIED);
} catch () { } catch {
setStatus(CopyStatus.FAILED); setStatus(CopyStatus.FAILED);
} }
} }