refactor: 统一使用 Button 组件替换原有 button 元素
- 在 CopyButton、SwitchButtonGroup 和 TextInputArea 组件中,将原有的 button 元素替换为统一的 Button 组件,提升代码一致性和可维护性。 - 更新相关样式和属性以适应新组件,确保功能正常。
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
import React, { useEffect, useRef, useState } from 'react';
|
||||
import { Check, Copy } from 'lucide-react';
|
||||
import { copyTextToClipboard } from '@/utils/clipboard';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { buttonVariants, type ButtonProps } from '@/components/ui/button';
|
||||
import { Button, type ButtonProps } from '@/components/ui/button';
|
||||
import { toast } from 'sonner';
|
||||
|
||||
interface CopyButtonProps extends Omit<ButtonProps, 'children' | 'onClick'> {
|
||||
@@ -47,17 +46,14 @@ export const CopyButton: React.FC<CopyButtonProps> = ({
|
||||
};
|
||||
|
||||
return (
|
||||
<button
|
||||
<Button
|
||||
type="button"
|
||||
onClick={handleCopy}
|
||||
title={tooltip ?? '复制'}
|
||||
aria-label={tooltip ?? '复制'}
|
||||
className={cn(
|
||||
buttonVariants({ variant, size }),
|
||||
copied &&
|
||||
'bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/10',
|
||||
className,
|
||||
)}
|
||||
variant={variant}
|
||||
size={size}
|
||||
className={className}
|
||||
{...props}
|
||||
>
|
||||
{copied ? (
|
||||
@@ -65,7 +61,7 @@ export const CopyButton: React.FC<CopyButtonProps> = ({
|
||||
) : (
|
||||
<Copy className="h-[1.2em] w-[1.2em]" />
|
||||
)}
|
||||
</button>
|
||||
</Button>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user