157 lines
8.0 KiB
TypeScript
Raw Permalink Normal View History

2025-09-15 16:58:31 +08:00
'use client';
import Navigation from '../../../components/Navigation';
import Footer from '../../../components/Footer';
import { useLanguage } from '../../../hooks/useLanguage';
interface PricingPageProps {
params: {
lang: string;
};
}
export default function PricingPage({ params }: PricingPageProps) {
const { currentLang, setCurrentLang, currentContent, createLocalizedPath } = useLanguage(
params.lang,
);
return (
<div className="min-h-screen bg-gray-900 text-white">
<Navigation
currentLang={currentLang}
setCurrentLang={setCurrentLang}
content={currentContent}
createLocalizedPath={createLocalizedPath}
/>
{/* Hero Section */}
<section className="relative z-10 px-6 py-20">
<div className="max-w-7xl mx-auto text-center">
<h1 className="text-4xl md:text-6xl font-bold mb-8 bg-gradient-to-r from-cyan-400 to-blue-500 bg-clip-text text-transparent">
{currentContent.pricing.title}
</h1>
<p className="text-xl text-gray-300 mb-12 max-w-3xl mx-auto">
{currentContent.pricing.subtitle}
</p>
</div>
</section>
{/* Pricing Cards */}
<section className="relative z-10 px-6 py-20">
<div className="max-w-7xl mx-auto">
<div className="grid md:grid-cols-3 gap-8">
{currentContent.pricing.plans.map((plan, index) => (
<div
key={index}
className={`relative bg-gray-800/50 backdrop-blur-sm rounded-xl p-8 border transition-all duration-300 ${
plan.popular
? 'border-cyan-400 scale-105 shadow-2xl shadow-cyan-500/20'
: 'border-cyan-500/20 hover:border-cyan-400/50'
}`}
>
{plan.popular && (
<div className="absolute -top-4 left-1/2 transform -translate-x-1/2">
<span className="bg-gradient-to-r from-cyan-400 to-blue-500 text-white px-4 py-1 rounded-full text-sm font-semibold">
</span>
</div>
)}
<div className="text-center mb-8">
<h3 className="text-2xl font-bold mb-2 text-cyan-400">
{plan.name}
</h3>
<div className="mb-4">
<span className="text-4xl font-bold">{plan.price}</span>
<span className="text-gray-400">{plan.period}</span>
</div>
<p className="text-gray-300">{plan.description}</p>
</div>
<ul className="space-y-4 mb-8">
{plan.features.map((feature, featureIndex) => (
<li
key={featureIndex}
className="flex items-center text-gray-300"
>
<svg
className="w-5 h-5 text-cyan-400 mr-3 flex-shrink-0"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M5 13l4 4L19 7"
/>
</svg>
{feature}
</li>
))}
</ul>
<button
className={`w-full py-4 rounded-lg font-semibold transition-all duration-300 ${
plan.popular
? 'bg-gradient-to-r from-cyan-500 to-blue-600 hover:from-cyan-400 hover:to-blue-500 text-white'
: 'border border-cyan-500 text-cyan-400 hover:bg-cyan-500/10'
}`}
>
</button>
</div>
))}
</div>
</div>
</section>
{/* FAQ Section */}
<section className="relative z-10 px-6 py-20 bg-gray-800/30">
<div className="max-w-4xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-3xl md:text-4xl font-bold mb-6 bg-gradient-to-r from-cyan-400 to-blue-500 bg-clip-text text-transparent">
</h2>
<p className="text-xl text-gray-300"></p>
</div>
<div className="space-y-6">
{[
{
question: '如何选择适合的方案?',
answer: '我们建议根据您的业务规模、预期流量和技术需求来选择。我们的专业团队可以为您提供免费咨询,帮助您选择最适合的方案。',
},
{
question: '是否支持方案升级?',
answer: '是的,您可以随时升级到更高级的方案。升级过程无缝衔接,不会影响您的业务运行。',
},
{
question: '技术支持包含哪些内容?',
answer: '我们提供7x24小时技术支持包括系统监控、故障排除、性能优化、安全更新等全方位服务。',
},
{
question: '数据安全如何保障?',
answer: '我们采用AWS企业级安全标准包括数据加密、访问控制、定期备份、灾难恢复等多重安全保障措施。',
},
].map((faq: { question: string; answer: string }, index: number) => (
<div
key={index}
className="bg-gray-800/50 rounded-lg p-6 border border-cyan-500/20"
>
<h3 className="text-xl font-bold mb-3 text-cyan-400">
{faq.question}
</h3>
<p className="text-gray-300 leading-relaxed">{faq.answer}</p>
</div>
))}
</div>
</div>
</section>
<Footer content={currentContent} createLocalizedPath={createLocalizedPath} />
</div>
);
}