diff --git a/package.json b/package.json index 613edc15..9e547d2b 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "@probat/react": "^0.3.1" }, "devDependencies": { "@types/react": "^18.2.43", diff --git a/src/components/Features.experiment.tsx b/src/components/Features.experiment.tsx new file mode 100644 index 00000000..28ac98b5 --- /dev/null +++ b/src/components/Features.experiment.tsx @@ -0,0 +1,111 @@ +import React from "react"; +import './Features.css'; + +interface Feature { + icon: string + title: string + description: string +} + +const Features: React.FC = () => { + const features: Feature[] = [ + { + icon: 'โšก', + title: 'Lightning Fast', + description: 'Built for speed with optimized performance and minimal loading times.' + }, + { + icon: '๐Ÿ”’', + title: 'Secure', + description: 'Enterprise-grade security with end-to-end encryption and compliance.' + }, + { + icon: '๐Ÿ“ฑ', + title: 'Responsive', + description: 'Perfect experience across all devices and screen sizes.' + }, + { + icon: '๐ŸŽจ', + title: 'Customizable', + description: 'Fully customizable themes and components to match your brand.' + }, + { + icon: '๐Ÿš€', + title: 'Scalable', + description: 'Grows with your business from startup to enterprise scale.' + }, + { + icon: '๐Ÿ’ฌ', + title: 'Support', + description: '24/7 customer support with dedicated success managers.' + } + ] + + return ( +
+
+
+

Everything You Need to Succeed

+

+ Powerful tools trusted by thousands of teams โ€” simple enough to start today. +

+
+ +
+ {features.map((feature, index) => ( +
+
+ {feature.icon} +
+

{feature.title}

+

{feature.description}

+
+ ))} +
+ +
+ { + e.currentTarget.style.backgroundColor = '#5a6fd6'; + e.currentTarget.style.transform = 'translateY(-2px)'; + e.currentTarget.style.boxShadow = '0 8px 25px rgba(102, 126, 234, 0.5)'; + }} + onMouseLeave={(e) => { + e.currentTarget.style.backgroundColor = '#667eea'; + e.currentTarget.style.transform = 'translateY(0)'; + e.currentTarget.style.boxShadow = '0 4px 15px rgba(102, 126, 234, 0.4)'; + }} + > + Start Your Free Trial + +

+ No credit card required ยท Free 14-day trial +

+
+
+
+ ) +} + +export default Features; diff --git a/src/components/Features.original.tsx b/src/components/Features.original.tsx new file mode 100644 index 00000000..658cf56d --- /dev/null +++ b/src/components/Features.original.tsx @@ -0,0 +1,70 @@ +import React from "react"; +import './Features.css'; + +interface Feature { + icon: string + title: string + description: string +} + +const Features: React.FC = () => { + const features: Feature[] = [ + { + icon: 'โšก', + title: 'Lightning Fast', + description: 'Built for speed with optimized performance and minimal loading times.' + }, + { + icon: '๐Ÿ”’', + title: 'Secure', + description: 'Enterprise-grade security with end-to-end encryption and compliance.' + }, + { + icon: '๐Ÿ“ฑ', + title: 'Responsive', + description: 'Perfect experience across all devices and screen sizes.' + }, + { + icon: '๐ŸŽจ', + title: 'Customizable', + description: 'Fully customizable themes and components to match your brand.' + }, + { + icon: '๐Ÿš€', + title: 'Scalable', + description: 'Grows with your business from startup to enterprise scale.' + }, + { + icon: '๐Ÿ’ฌ', + title: 'Support', + description: '24/7 customer support with dedicated success managers.' + } + ] + + return ( +
+
+
+

Why Choose Us?

+

+ Discover the features that make our platform the best choice for your needs. +

+
+ +
+ {features.map((feature, index) => ( +
+
+ {feature.icon} +
+

{feature.title}

+

{feature.description}

+
+ ))} +
+
+
+ ) +} + +export default Features; diff --git a/src/components/Features.tsx b/src/components/Features.tsx index 658cf56d..59dfdecb 100644 --- a/src/components/Features.tsx +++ b/src/components/Features.tsx @@ -1,70 +1,16 @@ -import React from "react"; -import './Features.css'; - -interface Feature { - icon: string - title: string - description: string -} - -const Features: React.FC = () => { - const features: Feature[] = [ - { - icon: 'โšก', - title: 'Lightning Fast', - description: 'Built for speed with optimized performance and minimal loading times.' - }, - { - icon: '๐Ÿ”’', - title: 'Secure', - description: 'Enterprise-grade security with end-to-end encryption and compliance.' - }, - { - icon: '๐Ÿ“ฑ', - title: 'Responsive', - description: 'Perfect experience across all devices and screen sizes.' - }, - { - icon: '๐ŸŽจ', - title: 'Customizable', - description: 'Fully customizable themes and components to match your brand.' - }, - { - icon: '๐Ÿš€', - title: 'Scalable', - description: 'Grows with your business from startup to enterprise scale.' - }, - { - icon: '๐Ÿ’ฌ', - title: 'Support', - description: '24/7 customer support with dedicated success managers.' - } - ] +"use client"; +import { ProbatProviderClient, Experiment } from "@probat/react"; +import OriginalComponent from "./Features.original"; +import ExperimentVariant from "./Features.experiment"; +export default function Features(props: any) { return ( -
-
-
-

Why Choose Us?

-

- Discover the features that make our platform the best choice for your needs. -

-
- -
- {features.map((feature, index) => ( -
-
- {feature.icon} -
-

{feature.title}

-

{feature.description}

-
- ))} -
-
-
- ) + + } + variants={{ experiment: }} + /> + + ); } - -export default Features;