Complete frontend implementation with: - Next.js 16 with App Router and TypeScript - Tailwind CSS v4 with custom violet theme - shadcn/ui components with Lucide React icons - Landing page with hero, services, pricing, testimonials, FAQ - Service selection page with toggle - Login/Register pages with social auth UI - Multi-step checkout flow - Client dashboard with stats, projects, support tickets - Billing page with subscription, payment methods, invoices - All mock data and TypeScript types 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
115 lines
2.3 KiB
TypeScript
115 lines
2.3 KiB
TypeScript
import { PricingPlan } from '../types'
|
|
|
|
export const mockPricingPlans: PricingPlan[] = [
|
|
// Web Design Plans
|
|
{
|
|
id: 'starter-web',
|
|
tier: 'starter',
|
|
serviceType: 'web-design',
|
|
price: 50,
|
|
currency: 'EUR',
|
|
features: [
|
|
'1-Page Landing Page',
|
|
'Contact Form',
|
|
'Mobile Responsive',
|
|
'2 Revisions',
|
|
],
|
|
popular: false,
|
|
deliveryDays: 3,
|
|
revisions: 2,
|
|
},
|
|
{
|
|
id: 'growth-web',
|
|
tier: 'growth',
|
|
serviceType: 'web-design',
|
|
price: 150,
|
|
currency: 'EUR',
|
|
features: [
|
|
'5-Page Complete Site',
|
|
'CMS Integration',
|
|
'Basic SEO Setup',
|
|
'Social Media Links',
|
|
'5 Revisions',
|
|
],
|
|
popular: true,
|
|
deliveryDays: 7,
|
|
revisions: 5,
|
|
},
|
|
{
|
|
id: 'pro-web',
|
|
tier: 'pro',
|
|
serviceType: 'web-design',
|
|
price: 300,
|
|
currency: 'EUR',
|
|
features: [
|
|
'E-commerce Ready',
|
|
'Custom Animations',
|
|
'Priority Support',
|
|
'Advanced SEO',
|
|
'Unlimited Revisions',
|
|
],
|
|
popular: false,
|
|
deliveryDays: 14,
|
|
revisions: -1,
|
|
},
|
|
// AI Automation Plans
|
|
{
|
|
id: 'starter-ai',
|
|
tier: 'starter',
|
|
serviceType: 'ai-automation',
|
|
price: 50,
|
|
currency: 'EUR',
|
|
features: [
|
|
'Basic Chatbot',
|
|
'FAQ Integration',
|
|
'Email Notifications',
|
|
'Weekly Reports',
|
|
],
|
|
popular: false,
|
|
deliveryDays: 2,
|
|
revisions: 1,
|
|
},
|
|
{
|
|
id: 'growth-ai',
|
|
tier: 'growth',
|
|
serviceType: 'ai-automation',
|
|
price: 150,
|
|
currency: 'EUR',
|
|
features: [
|
|
'Advanced Chatbot',
|
|
'Multi-language Support',
|
|
'CRM Integration',
|
|
'Analytics Dashboard',
|
|
'Priority Support',
|
|
],
|
|
popular: true,
|
|
deliveryDays: 5,
|
|
revisions: 3,
|
|
},
|
|
{
|
|
id: 'pro-ai',
|
|
tier: 'pro',
|
|
serviceType: 'ai-automation',
|
|
price: 300,
|
|
currency: 'EUR',
|
|
features: [
|
|
'Full Automation Suite',
|
|
'Custom AI Training',
|
|
'Workflow Integration',
|
|
'24/7 Monitoring',
|
|
'Dedicated Manager',
|
|
],
|
|
popular: false,
|
|
deliveryDays: 10,
|
|
revisions: -1,
|
|
},
|
|
]
|
|
|
|
export function getPricingPlansByServiceType(serviceType: 'web-design' | 'ai-automation'): PricingPlan[] {
|
|
return mockPricingPlans.filter(plan => plan.serviceType === serviceType)
|
|
}
|
|
|
|
export function getPricingPlanById(id: string): PricingPlan | undefined {
|
|
return mockPricingPlans.find(plan => plan.id === id)
|
|
}
|