@@ -6,7 +6,7 @@ import { useState } from 'react';
66import { Copy } from '@/shared/utils/copy' ;
77
88const addressCopyStyle = cva (
9- 'flex items-center justify-start flex-shrink-0 rounded-full transition-all duration-200' ,
9+ 'flex items-center justify-start flex-shrink-0 rounded-full transition-all duration-200 overflow-hidden ' ,
1010 {
1111 variants : {
1212 variant : {
@@ -23,14 +23,14 @@ const addressCopyStyle = cva(
2323interface AddressCopyProps
2424 extends React . HTMLAttributes < HTMLDivElement > ,
2525 VariantProps < typeof addressCopyStyle > {
26- label : string ;
2726 value : string ;
27+ truncate ?: boolean ;
2828}
2929
3030const AddressCopy = ( {
31- label = 'address copy' ,
32- value = label ,
31+ value,
3332 variant = 'gray' ,
33+ truncate = true ,
3434 className,
3535 ...props
3636} : AddressCopyProps ) => {
@@ -52,24 +52,29 @@ const AddressCopy = ({
5252 onClick = { handleCopy }
5353 className = { cn (
5454 addressCopyStyle ( { variant } ) ,
55- 'w-[35.4rem] h-[4rem] px-[1.3rem] py-[1rem] gap-[0.4rem]' ,
55+ 'w-full h-[4rem] px-[1.3rem] py-[1rem] gap-[0.4rem]' ,
5656 'cursor-pointer select-none' ,
5757 className ,
5858 ) }
5959 { ...props }
6060 >
61- < Icon
62- name = 'CopySimple'
63- size = { 18 }
64- color = { variant === 'mint' ? 'mint-400' : 'gray-400' }
65- />
61+ < div className = 'flex-shrink-0' >
62+ < Icon
63+ name = { copied ? 'Check' : 'CopySimple' }
64+ size = { 18 }
65+ color = { variant === 'mint' ? 'mint-400' : 'gray-400' }
66+ />
67+ </ div >
6668 < span
6769 className = { cn (
68- 'text-label-lg' ,
70+ 'text-label-lg flex-1 min-w-0 ' ,
6971 variant === 'mint' ? 'text-mint-400' : 'text-gray-400' ,
72+ truncate &&
73+ 'truncate whitespace-nowrap overflow-hidden text-ellipsis' ,
7074 ) }
75+ title = { value }
7176 >
72- { label }
77+ { value }
7378 </ span >
7479 </ div >
7580 ) ;
0 commit comments