@@ -5,14 +5,14 @@ import styles from './styles.module.css';
55
66type FeatureItem = {
77 title : string ;
8- Svg : React . ComponentType < React . ComponentProps < 'svg' > > ;
8+ image : string ;
99 description : ReactNode ;
1010} ;
1111
1212const FeatureList : FeatureItem [ ] = [
1313 {
1414 title : 'Modular Component System' ,
15- Svg : require ( '@site/static/ img/undraw_docusaurus_mountain.svg' ) . default ,
15+ image : '/ img/features/modular-component-system.png' ,
1616 description : (
1717 < >
1818 Decouple interface definitions from implementations using provider traits.
@@ -22,7 +22,7 @@ const FeatureList: FeatureItem[] = [
2222 } ,
2323 {
2424 title : 'Highly Expressive Macros' ,
25- Svg : require ( '@site/static/ img/undraw_docusaurus_tree.svg' ) . default ,
25+ image : '/ img/features/highly-expressive-macros.png' ,
2626 description : (
2727 < >
2828 Write abstract programs generic over contexts without managing long lists
@@ -32,7 +32,7 @@ const FeatureList: FeatureItem[] = [
3232 } ,
3333 {
3434 title : 'Type-Safe Composition' ,
35- Svg : require ( '@site/static/ img/undraw_docusaurus_react.svg' ) . default ,
35+ image : '/ img/features/type-safe-composition.png' ,
3636 description : (
3737 < >
3838 All component wiring is verified at compile time. Missing dependencies are
@@ -42,7 +42,7 @@ const FeatureList: FeatureItem[] = [
4242 } ,
4343 {
4444 title : 'No-Std Friendly' ,
45- Svg : require ( '@site/static/ img/undraw_docusaurus_mountain.svg' ) . default ,
45+ image : '/ img/features/no-std-friendly.png' ,
4646 description : (
4747 < >
4848 Build fully abstract programs without concrete dependencies. Deploy to
@@ -52,7 +52,7 @@ const FeatureList: FeatureItem[] = [
5252 } ,
5353 {
5454 title : 'Zero-Cost Abstraction' ,
55- Svg : require ( '@site/static/ img/undraw_docusaurus_tree.svg' ) . default ,
55+ image : '/ img/features/zero-cost-abstraction.png' ,
5656 description : (
5757 < >
5858 All CGP operations happen at compile time using Rust's type system.
@@ -62,7 +62,7 @@ const FeatureList: FeatureItem[] = [
6262 } ,
6363 {
6464 title : 'Bypass Coherence Rules' ,
65- Svg : require ( '@site/static/ img/undraw_docusaurus_react.svg' ) . default ,
65+ image : '/ img/features/bypass-coherence-rules.png' ,
6666 description : (
6767 < >
6868 Enable overlapping and orphan trait implementations without restriction.
@@ -72,11 +72,11 @@ const FeatureList: FeatureItem[] = [
7272 } ,
7373] ;
7474
75- function Feature ( { title, Svg , description} : FeatureItem ) {
75+ function Feature ( { title, image , description} : FeatureItem ) {
7676 return (
7777 < div className = { clsx ( 'col col--4' ) } >
7878 < div className = "text--center" >
79- < Svg className = { styles . featureSvg } role = "img" />
79+ < img className = { styles . featureSvg } src = { image } alt = { title } />
8080 </ div >
8181 < div className = "text--center padding-horiz--md" >
8282 < Heading as = "h3" > { title } </ Heading >
0 commit comments