diff --git a/web/src/app/home/plugins/components/plugin-market/plugin-market-card/PluginMarketCardComponent.tsx b/web/src/app/home/plugins/components/plugin-market/plugin-market-card/PluginMarketCardComponent.tsx index 0183dd1f..004d41d3 100644 --- a/web/src/app/home/plugins/components/plugin-market/plugin-market-card/PluginMarketCardComponent.tsx +++ b/web/src/app/home/plugins/components/plugin-market/plugin-market-card/PluginMarketCardComponent.tsx @@ -3,13 +3,14 @@ import { useRef, useState, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import PluginComponentList from '../PluginComponentList'; import { Badge } from '@/components/ui/badge'; -import { Info, Package } from 'lucide-react'; +import { Info, Package, Download, ExternalLink } from 'lucide-react'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from '@/components/ui/tooltip'; +import { Button } from '@/components/ui/button'; export default function PluginMarketCardComponent({ cardVO, @@ -21,6 +22,7 @@ export default function PluginMarketCardComponent({ tagNames?: Record; }) { const { t } = useTranslation(); + const [isHovered, setIsHovered] = useState(false); const bottomRef = useRef(null); const [visibleTags, setVisibleTags] = useState(2); const [iconFailed, setIconFailed] = useState(!cardVO.iconURL); @@ -71,11 +73,10 @@ export default function PluginMarketCardComponent({ const remainingTags = cardVO.tags ? cardVO.tags.length - visibleTags : 0; return ( - setIsHovered(true)} + onMouseLeave={() => setIsHovered(false)} >
@@ -233,6 +234,42 @@ export default function PluginMarketCardComponent({ )}
-
+ +
+ + +
+ ); } \ No newline at end of file