Refactor(UrlCard): Optimize UrlCard

This commit is contained in:
2024-04-28 16:14:04 +08:00
parent aa96359f46
commit 340a842b4c
7 changed files with 89 additions and 103 deletions

View File

@@ -7,10 +7,9 @@ import FlexBox from '@/components/common/FlexBox'
interface RepositoryCardProps
extends DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> {
icon: ReactNode
toolName?: string
toolId?: string
toolName: string
toolId: string
options?: TiltOptions
url?: string
onOpen?: () => void
onEdit?: () => void
onSource?: () => void
@@ -33,7 +32,6 @@ const RepositoryCard = ({
['max-glare']: 0.3,
scale: 1.03
},
url,
onOpen,
onEdit,
onSource,
@@ -43,24 +41,18 @@ const RepositoryCard = ({
children,
...props
}: RepositoryCardProps) => {
const navigate = useNavigate()
const cardRef = useRef<HTMLDivElement>(null)
useEffect(() => {
cardRef.current && VanillaTilt.init(cardRef.current, options)
}, [options])
const handleCardOnClick = () => {
url && navigate(url)
}
return (
<Card
data-component={'component-repository-card'}
style={{ overflow: 'visible', ...style }}
ref={cardRef}
{...props}
onClick={handleCardOnClick}
>
<FlexBox className={'repository-card'}>
<div className={'icon'}>{icon}</div>