@@ -5,13 +5,19 @@ import { Card, CardContent } from "@/app/components/ui/card";
55import { ChevronLeft , ChevronRight , Play , Pause } from "lucide-react" ;
66import { cn } from "@/app/lib/utils" ;
77
8+ import LiveEditorPreview from "@/app/components/FeaturePreviews/LiveEditorPreview" ;
9+ import PerformanceAnalyticsPreview from "@/app/components/FeaturePreviews/PerformanceAnalyticsPreview" ;
10+ import TeamCollaborationPreview from "@/app/components/FeaturePreviews/TeamCollaborationPreview" ;
11+ import SEOOptimizationPreview from "@/app/components/FeaturePreviews/SEOOptimizationPreview" ;
12+
813interface Feature {
914 id : string ;
1015 title : string ;
1116 description : string ;
1217 image : string ;
1318 points : string [ ] ;
1419 color : string ;
20+ Component : React . FC ;
1521}
1622
1723const FeatureHighlights : React . FC = ( ) => {
@@ -32,6 +38,7 @@ const FeatureHighlights: React.FC = () => {
3238 "Plagiarism detection" ,
3339 ] ,
3440 color : "bg-gradient-to-br from-[var(--color-primary)] to-blue-600" ,
41+ Component : LiveEditorPreview ,
3542 } ,
3643 {
3744 id : "seo-optimization" ,
@@ -46,6 +53,7 @@ const FeatureHighlights: React.FC = () => {
4653 "SERP preview" ,
4754 ] ,
4855 color : "bg-gradient-to-br from-[var(--color-secondary)] to-green-600" ,
56+ Component : SEOOptimizationPreview ,
4957 } ,
5058 {
5159 id : "analytics" ,
@@ -60,6 +68,7 @@ const FeatureHighlights: React.FC = () => {
6068 "Growth insights" ,
6169 ] ,
6270 color : "bg-gradient-to-br from-[var(--color-accent)] to-orange-600" ,
71+ Component : PerformanceAnalyticsPreview ,
6372 } ,
6473 {
6574 id : "collaboration" ,
@@ -74,6 +83,7 @@ const FeatureHighlights: React.FC = () => {
7483 "Role-based permissions" ,
7584 ] ,
7685 color : "bg-gradient-to-br from-purple-600 to-pink-600" ,
86+ Component : TeamCollaborationPreview ,
7787 } ,
7888 ] ;
7989
@@ -94,7 +104,7 @@ const FeatureHighlights: React.FC = () => {
94104 if ( ! isPlaying ) return ;
95105 const interval = setInterval ( ( ) => {
96106 nextFeature ( ) ;
97- } , 5000 ) ;
107+ } , 10000 ) ;
98108 return ( ) => clearInterval ( interval ) ;
99109 } , [ isPlaying ] ) ;
100110
@@ -180,21 +190,22 @@ const FeatureHighlights: React.FC = () => {
180190 </ button >
181191 </ div >
182192 </ div >
183-
193+
184194 { /* Feature Image */ }
185195 < div className = "order-1 lg:order-2" >
186- < Card className = "shadow-xl overflow-hidden" >
187- < CardContent className = "p-0" >
188- < img
189- src = { features [ activeFeature ] . image }
190- alt = { features [ activeFeature ] . title }
191- className = "w-full h-auto object-cover"
192- / >
193-
194- </ CardContent >
195- </ Card >
196+ { ( ( ) => {
197+ const DynamicPreview = features [ activeFeature ] . Component ;
198+ return (
199+ < Card className = "shadow-xl overflow-hidden" >
200+ < CardContent className = "p-0" >
201+ < DynamicPreview />
202+ </ CardContent >
203+ </ Card >
204+ ) ;
205+ } ) ( ) }
196206 </ div >
197- </ div >
207+ </ div >
208+
198209 </ div >
199210 </ section >
200211 ) ;
0 commit comments