@@ -3,11 +3,17 @@ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/com
33import { Badge } from "@/components/ui/badge" ;
44import { Button } from "@/components/ui/button" ;
55
6+ interface ProjectLink {
7+ label : string ;
8+ url : string ;
9+ }
10+
611interface Project {
712 id : string ;
813 title : string ;
914 description : string ;
10- url : string ;
15+ url ?: string ;
16+ links ?: ProjectLink [ ] ;
1117 category : string ;
1218 tags : string [ ] ;
1319 year : string ;
@@ -30,12 +36,22 @@ const Projects = () => {
3036 {
3137 id : "vitality-app-native" ,
3238 title : "Vitality App - Native" ,
33- description : "iOS and Android mobile applications for the Vitality wellness platform. Bringing comprehensive health tracking and mindfulness exercises to your pocket." ,
34- url : "https://vitalityapp.fit/" ,
39+ description :
40+ "iOS and Android mobile applications for the Vitality wellness platform. Now live on the App Store and Google Play, bringing comprehensive health tracking and mindfulness exercises to your pocket." ,
41+ links : [
42+ {
43+ label : "Download on the App Store" ,
44+ url : "https://apps.apple.com/us/app/vitality-body-mind/id6749547421"
45+ } ,
46+ {
47+ label : "Get it on Google Play" ,
48+ url : "https://play.google.com/store/apps/details?id=com.vitality.app"
49+ }
50+ ] ,
3551 category : "Health & Wellness" ,
3652 tags : [ "Vite" , "React" , "Supabase" , "PostgreSQL" , "Node.js" , "OpenAI" ] ,
3753 year : "2025" ,
38- status : "Beta Testing "
54+ status : "Live "
3955 }
4056 ] ;
4157
@@ -104,21 +120,44 @@ const Projects = () => {
104120 </ div >
105121 </ div >
106122
107- < Button
108- asChild
109- className = "w-full group-hover:bg-primary group-hover:text-primary-foreground transition-colors"
110- variant = "outline"
111- >
112- < a
113- href = { project . url }
114- target = "_blank"
115- rel = "noopener noreferrer"
116- className = "flex items-center justify-center gap-2"
123+ { project . links ? (
124+ < div className = "grid gap-2" >
125+ { project . links . map ( ( link ) => (
126+ < Button
127+ key = { link . url }
128+ asChild
129+ className = "w-full group-hover:bg-primary group-hover:text-primary-foreground transition-colors"
130+ variant = "outline"
131+ >
132+ < a
133+ href = { link . url }
134+ target = "_blank"
135+ rel = "noopener noreferrer"
136+ className = "flex items-center justify-center gap-2"
137+ >
138+ { link . label }
139+ < ExternalLink className = "h-4 w-4" />
140+ </ a >
141+ </ Button >
142+ ) ) }
143+ </ div >
144+ ) : project . url ? (
145+ < Button
146+ asChild
147+ className = "w-full group-hover:bg-primary group-hover:text-primary-foreground transition-colors"
148+ variant = "outline"
117149 >
118- View Project
119- < ExternalLink className = "h-4 w-4" />
120- </ a >
121- </ Button >
150+ < a
151+ href = { project . url }
152+ target = "_blank"
153+ rel = "noopener noreferrer"
154+ className = "flex items-center justify-center gap-2"
155+ >
156+ View Project
157+ < ExternalLink className = "h-4 w-4" />
158+ </ a >
159+ </ Button >
160+ ) : null }
122161 </ CardContent >
123162 </ Card >
124163 ) ) }
0 commit comments