11import React from 'react' ;
22import { Button } from '../ui/button' ;
3+ import { useNavigate } from 'react-router-dom' ;
34
45interface ProductCardProps {
56 title : string ;
@@ -12,10 +13,16 @@ interface ProductCardProps {
1213export const ProductCard : React . FC < ProductCardProps > = ( {
1314 title = "MifosX" ,
1415 description = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor" ,
15- onDemoClick = ( ) => console . log ( 'Demo clicked' )
16+
1617} ) => {
18+ const navigate = useNavigate ( ) ;
19+
20+ const handleDemoButtonClick = ( ) => {
21+ navigate ( `/demos/${ title . toLowerCase ( ) } ` ) ;
22+ }
1723 return (
18- < div className = "bg-white dark:bg-gray-800 rounded-xl overflow-hidden w-80 border border-gray-200 dark:border-gray-700 transition-all duration-300 hover:shadow-xl hover:shadow-blue-200 dark:hover:shadow-blue-900/30 hover:-translate-y-0.15" >
24+ < div className = "bg-white dark:bg-gray-800 rounded-xl overflow-hidden w-80 border border-gray-200
25+ dark:border-gray-700 transition-all duration-300 hover:shadow-xl hover:shadow-blue-200 dark:hover:shadow-blue-900/30 hover:-translate-y-0.15" >
1926 < div className = "bg-blue-50 dark:bg-blue-900/30 px-6 py-4" >
2027 < div className = "flex items-center" >
2128 < div className = "w-8 h-8 bg-blue-200 dark:bg-blue-800 rounded-lg flex items-center justify-center mr-3" >
@@ -35,7 +42,8 @@ export const ProductCard: React.FC<ProductCardProps> = ({
3542 < div className = "absolute -bottom-1 left-1/2 transform -translate-x-1/2 w-2 h-2 bg-gray-400 dark:bg-gray-600" > </ div >
3643 < div className = "absolute -left-1 top-1/2 transform -translate-y-1/2 w-2 h-2 bg-gray-400 dark:bg-gray-600" > </ div >
3744 < div className = "absolute -right-1 top-1/2 transform -translate-y-1/2 w-2 h-2 bg-gray-400 dark:bg-gray-600" > </ div >
38- < div className = "absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-3 h-3 bg-blue-50 dark:bg-blue-900/30 rounded-full" > </ div >
45+ < div className = "absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-3 h-3 bg-blue-50
46+ dark:bg-blue-900/30 rounded-full" > </ div >
3947 </ div >
4048 </ div >
4149
@@ -54,8 +62,8 @@ export const ProductCard: React.FC<ProductCardProps> = ({
5462
5563 < div className = "flex justify-end" >
5664 < Button
57- onClick = { onDemoClick }
5865 className = "bg-blue-400 hover:bg-blue-500 dark:bg-blue-600 dark:hover:bg-blue-700 text-white text-sm px-6 py-2.5 rounded-full font-medium transition-colors duration-200 shadow-sm hover:shadow-md cursor-pointer"
66+ onClick = { handleDemoButtonClick }
5967 >
6068 Demo
6169 </ Button >
0 commit comments