@@ -2,6 +2,7 @@ import { useState } from 'react';
22import { useNavigate } from 'react-router-dom' ;
33import { motion } from 'framer-motion' ;
44import { apiClient } from '@/api/client' ;
5+ import { Linkedin , Github , Stethoscope , User , Check } from 'lucide-react' ;
56
67const STATS = [
78 { val : '219,000' , label : 'Australians live with ME/CFS' } ,
@@ -16,10 +17,28 @@ const STEPS = [
1617] ;
1718
1819const TEAM = [
19- { name : 'Suvin' , role : 'Founder & CEO' } ,
20- { name : 'Alex' , role : 'CPO' } ,
21- { name : 'Tanmayi' , role : 'CTO' } ,
22- { name : 'Ian' , role : 'CFO' } ,
20+ {
21+ name : 'Suvin' ,
22+ role : 'Founder & CEO' ,
23+ linkedin : 'https://www.linkedin.com/in/suvin-chin-90389b157/' ,
24+ github : 'https://github.com/SuvinCode'
25+ } ,
26+ {
27+ name : 'Alex' ,
28+ role : 'CPO' ,
29+ github : 'https://github.com/slpyalex'
30+ } ,
31+ {
32+ name : 'Tanmayi' ,
33+ role : 'CTO' ,
34+ github : 'https://github.com/Queen-Tanmayi-09'
35+ } ,
36+ {
37+ name : 'Ian' ,
38+ role : 'CFO' ,
39+ linkedin : 'https://www.linkedin.com/in/ian-chang-66464225a/' ,
40+ github : 'https://github.com/ianxxc'
41+ } ,
2342] ;
2443
2544const containerVariants = {
@@ -94,12 +113,12 @@ export default function Landing() {
94113 animate = { { y : 0 , opacity : 1 } }
95114 className = "flex items-center justify-between px-8 py-5 max-w-7xl mx-auto border-b border-red-100/60"
96115 >
97- < div className = "flex items-center gap-2.5 " >
116+ < div className = "flex items-center gap-3 " >
98117 < motion . img
99118 whileHover = { { rotate : 10 , scale : 1.1 } }
100- src = "/favicon.svg" alt = "HealthTrace logo" className = "w-9 h-9 object-contain"
119+ src = "/favicon.svg" alt = "HealthTrace logo" className = "w-14 h-14 object-contain"
101120 />
102- < span className = "font-heading font-bold text-lg " >
121+ < span className = "font-heading font-bold text-2xl tracking-tight " >
103122 < span style = { { color : '#CC2222' } } > Health</ span > < span style = { { color : '#1E2D4E' } } > Trace</ span >
104123 </ span >
105124 </ div >
@@ -265,6 +284,84 @@ export default function Landing() {
265284 </ motion . div >
266285 </ section >
267286
287+ { /* Dual Experience Section */ }
288+ < section className = "px-8 py-32 bg-muted/30" >
289+ < div className = "max-w-7xl mx-auto" >
290+ < motion . div
291+ initial = { { opacity : 0 , y : 20 } }
292+ whileInView = { { opacity : 1 , y : 0 } }
293+ viewport = { { once : true } }
294+ className = "text-center mb-20"
295+ >
296+ < h2 className = "text-4xl font-heading font-bold mb-4 tracking-tight" > The Dual Experience</ h2 >
297+ < p className = "text-muted-foreground" > Tailored tools for patients and clinicians to work together.</ p >
298+ </ motion . div >
299+
300+ < div className = "grid md:grid-cols-2 gap-8" >
301+ { /* Patient Account */ }
302+ < motion . div
303+ initial = { { opacity : 0 , x : - 30 } }
304+ whileInView = { { opacity : 1 , x : 0 } }
305+ viewport = { { once : true } }
306+ className = "bg-card p-8 rounded-[32px] border border-border shadow-sm flex flex-col"
307+ >
308+ < div className = "w-14 h-14 bg-primary/10 text-primary rounded-2xl flex items-center justify-center mb-6" >
309+ < User className = "w-7 h-7" />
310+ </ div >
311+ < h3 className = "text-2xl font-heading font-bold mb-4" > Patient Account</ h3 >
312+ < p className = "text-muted-foreground mb-8 font-light" > Focus on your wellbeing while we handle the data tracking and clinical reporting.</ p >
313+
314+ < ul className = "space-y-4 mt-auto" >
315+ { [
316+ 'Mood & Symptom Diary with one-tap logging' ,
317+ 'Voice Transcription for effortless journaling' ,
318+ 'Dynamic Medication & Appointment Timeline' ,
319+ 'Direct connection to your healthcare team'
320+ ] . map ( ( item , i ) => (
321+ < li key = { i } className = "flex items-center gap-3 text-sm text-foreground/80" >
322+ < div className = "w-5 h-5 bg-primary/10 text-primary rounded-full flex items-center justify-center shrink-0" >
323+ < Check className = "w-3 h-3" />
324+ </ div >
325+ { item }
326+ </ li >
327+ ) ) }
328+ </ ul >
329+ </ motion . div >
330+
331+ { /* Doctor Account */ }
332+ < motion . div
333+ initial = { { opacity : 0 , x : 30 } }
334+ whileInView = { { opacity : 1 , x : 0 } }
335+ viewport = { { once : true } }
336+ style = { { borderColor : 'rgba(30, 45, 78, 0.1)' } }
337+ className = "bg-[#1E2D4E] text-white p-8 rounded-[32px] shadow-xl flex flex-col"
338+ >
339+ < div className = "w-14 h-14 bg-white/10 text-white rounded-2xl flex items-center justify-center mb-6" >
340+ < Stethoscope className = "w-7 h-7" />
341+ </ div >
342+ < h3 className = "text-2xl font-heading font-bold mb-4" > Doctor Account</ h3 >
343+ < p className = "text-white/60 mb-8 font-light" > Optimise your clinical workflow with data-driven insights and AI-powered summaries.</ p >
344+
345+ < ul className = "space-y-4 mt-auto" >
346+ { [
347+ 'Real-time Clinical Monitoring & trend charts' ,
348+ 'AI-Powered 14-day Wellbeing Summaries' ,
349+ 'Custom Health Form Builder & Distribution' ,
350+ 'Centralised Patient Connection Management'
351+ ] . map ( ( item , i ) => (
352+ < li key = { i } className = "flex items-center gap-3 text-sm text-white/80" >
353+ < div className = "w-5 h-5 bg-white/10 text-white rounded-full flex items-center justify-center shrink-0" >
354+ < Check className = "w-3 h-3" />
355+ </ div >
356+ { item }
357+ </ li >
358+ ) ) }
359+ </ ul >
360+ </ motion . div >
361+ </ div >
362+ </ div >
363+ </ section >
364+
268365 { /* Testimonial */ }
269366 < motion . section
270367 initial = { { opacity : 0 } }
@@ -315,14 +412,27 @@ export default function Landing() {
315412 < motion . div
316413 key = { i }
317414 variants = { itemVariants }
318- whileHover = { { scale : 1.02 } }
319- className = "p-6 bg-card rounded-2xl border border-border text-center"
415+ whileHover = { { y : - 5 } }
416+ className = "p-6 bg-card rounded-2xl border border-border text-center relative group overflow-hidden "
320417 >
321418 < div className = "w-12 h-12 bg-primary/10 text-primary rounded-full flex items-center justify-center mx-auto mb-4 font-heading font-bold text-lg" >
322419 { member . name [ 0 ] }
323420 </ div >
324421 < div className = "font-heading font-bold text-sm" > { member . name } </ div >
325- < div className = "text-[10px] uppercase tracking-widest text-muted-foreground mt-1" > { member . role } </ div >
422+ < div className = "text-[10px] uppercase tracking-widest text-muted-foreground mt-1 mb-4" > { member . role } </ div >
423+
424+ < div className = "flex justify-center gap-3 pt-2 opacity-0 group-hover:opacity-100 transition-opacity" >
425+ { member . linkedin && (
426+ < a href = { member . linkedin } target = "_blank" rel = "noopener noreferrer" className = "text-muted-foreground hover:text-primary transition-colors" >
427+ < Linkedin className = "w-4 h-4" />
428+ </ a >
429+ ) }
430+ { member . github && (
431+ < a href = { member . github } target = "_blank" rel = "noopener noreferrer" className = "text-muted-foreground hover:text-primary transition-colors" >
432+ < Github className = "w-4 h-4" />
433+ </ a >
434+ ) }
435+ </ div >
326436 </ motion . div >
327437 ) ) }
328438 </ motion . div >
0 commit comments