Spaces:
Sleeping
Sleeping
Upload components/Pricing.jsx with huggingface_hub
Browse files- components/Pricing.jsx +87 -72
components/Pricing.jsx
CHANGED
|
@@ -1,86 +1,101 @@
|
|
| 1 |
import React from 'react';
|
| 2 |
-
import { Check } from 'lucide-react';
|
| 3 |
|
| 4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
return (
|
| 6 |
-
<section id="pricing" className="py-
|
| 7 |
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
| 8 |
<div className="text-center mb-16">
|
| 9 |
-
<h2 className="text-3xl font-
|
| 10 |
-
|
| 11 |
</h2>
|
| 12 |
-
<p className="
|
| 13 |
-
|
| 14 |
</p>
|
| 15 |
</div>
|
| 16 |
-
|
| 17 |
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
| 18 |
-
{
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
</div>
|
| 44 |
-
|
| 45 |
-
<p className="text-gray-400 mt-2">For serious pre-training runs.</p>
|
| 46 |
-
<div className="mt-6 mb-6">
|
| 47 |
-
<span className="text-4xl font-bold text-white">$2,499</span>
|
| 48 |
-
<span className="text-gray-400">/mo</span>
|
| 49 |
-
</div>
|
| 50 |
-
<ul className="space-y-4 mb-8 flex-1">
|
| 51 |
-
{['50TB Monthly Transfer', 'Curated Premium Datasets', 'High-Speed Direct Connect', 'Priority Support', 'Data Versioning'].map((item) => (
|
| 52 |
-
<li key={item} className="flex items-center text-white">
|
| 53 |
-
<Check className="h-5 w-5 text-brand-accent mr-3" />
|
| 54 |
-
{item}
|
| 55 |
-
</li>
|
| 56 |
-
))}
|
| 57 |
-
</ul>
|
| 58 |
-
<button className="w-full py-3 px-4 bg-brand-accent hover:bg-sky-400 text-brand-dark font-bold rounded-lg transition-colors shadow-lg shadow-brand-accent/25">
|
| 59 |
-
Get Started
|
| 60 |
-
</button>
|
| 61 |
-
</div>
|
| 62 |
-
|
| 63 |
-
{/* Enterprise Plan */}
|
| 64 |
-
<div className="bg-brand-dark border border-white/10 rounded-2xl p-8 flex flex-col">
|
| 65 |
-
<h3 className="text-xl font-bold text-white">Enterprise</h3>
|
| 66 |
-
<p className="text-gray-400 mt-2">Custom solutions for foundation models.</p>
|
| 67 |
-
<div className="mt-6 mb-6">
|
| 68 |
-
<span className="text-4xl font-bold text-white">Custom</span>
|
| 69 |
-
</div>
|
| 70 |
-
<ul className="space-y-4 mb-8 flex-1">
|
| 71 |
-
{['Unlimited Transfer', 'Private Dataset Hosting', 'Dedicated Hardware Clusters', '24/7 SLA Support', 'On-prem Deployment Options'].map((item) => (
|
| 72 |
-
<li key={item} className="flex items-center text-gray-300">
|
| 73 |
-
<Check className="h-5 w-5 text-brand-accent mr-3" />
|
| 74 |
-
{item}
|
| 75 |
-
</li>
|
| 76 |
-
))}
|
| 77 |
-
</ul>
|
| 78 |
-
<button className="w-full py-3 px-4 bg-white/10 hover:bg-white/20 text-white font-bold rounded-lg transition-colors">
|
| 79 |
-
Contact Sales
|
| 80 |
-
</button>
|
| 81 |
-
</div>
|
| 82 |
</div>
|
| 83 |
</div>
|
| 84 |
</section>
|
| 85 |
);
|
| 86 |
-
}
|
|
|
|
|
|
|
|
|
| 1 |
import React from 'react';
|
|
|
|
| 2 |
|
| 3 |
+
const Pricing = () => {
|
| 4 |
+
const plans = [
|
| 5 |
+
{
|
| 6 |
+
name: "Starter",
|
| 7 |
+
price: "$999",
|
| 8 |
+
period: "/month",
|
| 9 |
+
description: "Perfect for research and small projects",
|
| 10 |
+
features: [
|
| 11 |
+
"Up to 100GB dataset access",
|
| 12 |
+
"Basic API rate limits",
|
| 13 |
+
"Email support",
|
| 14 |
+
"Standard preprocessing"
|
| 15 |
+
]
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
name: "Professional",
|
| 19 |
+
price: "$2,499",
|
| 20 |
+
period: "/month",
|
| 21 |
+
description: "Ideal for growing AI teams",
|
| 22 |
+
features: [
|
| 23 |
+
"Up to 1TB dataset access",
|
| 24 |
+
"Higher API rate limits",
|
| 25 |
+
"Priority support",
|
| 26 |
+
"Advanced preprocessing",
|
| 27 |
+
"Custom dataset requests"
|
| 28 |
+
],
|
| 29 |
+
popular: true
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
name: "Enterprise",
|
| 33 |
+
price: "Custom",
|
| 34 |
+
period: "",
|
| 35 |
+
description: "For large-scale production deployments",
|
| 36 |
+
features: [
|
| 37 |
+
"Full dataset access",
|
| 38 |
+
"Unlimited API usage",
|
| 39 |
+
"24/7 dedicated support",
|
| 40 |
+
"Custom preprocessing",
|
| 41 |
+
"White-glove onboarding",
|
| 42 |
+
"SLA guarantees"
|
| 43 |
+
]
|
| 44 |
+
}
|
| 45 |
+
];
|
| 46 |
+
|
| 47 |
return (
|
| 48 |
+
<section id="pricing" className="py-20 bg-white">
|
| 49 |
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
| 50 |
<div className="text-center mb-16">
|
| 51 |
+
<h2 className="text-3xl md:text-4xl font-bold text-gray-900 mb-4">
|
| 52 |
+
Flexible Pricing
|
| 53 |
</h2>
|
| 54 |
+
<p className="text-xl text-gray-600 max-w-2xl mx-auto">
|
| 55 |
+
Scale with your needs - from research prototypes to enterprise deployments
|
| 56 |
</p>
|
| 57 |
</div>
|
|
|
|
| 58 |
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
| 59 |
+
{plans.map((plan, index) => (
|
| 60 |
+
<div key={index} className={`relative rounded-2xl border-2 p-8 ${
|
| 61 |
+
plan.popular
|
| 62 |
+
? 'border-primary-600 shadow-xl scale-105'
|
| 63 |
+
: 'border-gray-200'
|
| 64 |
+
}`}>
|
| 65 |
+
{plan.popular && (
|
| 66 |
+
<div className="absolute -top-3 left-1/2 transform -translate-x-1/2">
|
| 67 |
+
<span className="bg-primary-600 text-white px-4 py-1 rounded-full text-sm font-semibold">
|
| 68 |
+
Most Popular
|
| 69 |
+
</span>
|
| 70 |
+
</div>
|
| 71 |
+
)}
|
| 72 |
+
<h3 className="text-2xl font-bold text-gray-900 mb-2">{plan.name}</h3>
|
| 73 |
+
<div className="mb-4">
|
| 74 |
+
<span className="text-4xl font-bold text-gray-900">{plan.price}</span>
|
| 75 |
+
<span className="text-gray-600">{plan.period}</span>
|
| 76 |
+
</div>
|
| 77 |
+
<p className="text-gray-600 mb-6">{plan.description}</p>
|
| 78 |
+
<ul className="space-y-3 mb-8">
|
| 79 |
+
{plan.features.map((feature, featureIndex) => (
|
| 80 |
+
<li key={featureIndex} className="flex items-center text-gray-600">
|
| 81 |
+
<span className="text-green-500 mr-2">✓</span>
|
| 82 |
+
{feature}
|
| 83 |
+
</li>
|
| 84 |
+
))}
|
| 85 |
+
</ul>
|
| 86 |
+
<button className={`w-full py-3 rounded-lg font-semibold transition-colors ${
|
| 87 |
+
plan.popular
|
| 88 |
+
? 'bg-primary-600 text-white hover:bg-primary-700'
|
| 89 |
+
: 'bg-gray-100 text-gray-900 hover:bg-gray-200'
|
| 90 |
+
}`}>
|
| 91 |
+
Get Started
|
| 92 |
+
</button>
|
| 93 |
</div>
|
| 94 |
+
))}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
</div>
|
| 96 |
</div>
|
| 97 |
</section>
|
| 98 |
);
|
| 99 |
+
};
|
| 100 |
+
|
| 101 |
+
export default Pricing;
|