feat: add pricing page with API integration and dynamic rendering

This commit is contained in:
LNHA
2026-02-03 14:53:10 +07:00
parent 0398135018
commit 6c5c92c9d9
7 changed files with 282 additions and 345 deletions

65
app/pricing/types.ts Normal file
View File

@@ -0,0 +1,65 @@
// Type definitions for Pricing page
export interface BreadcrumbItem {
text: string;
link: string;
}
export interface Hero {
title: string;
backgroundImage: string;
shapeImage: string;
breadcrumb: BreadcrumbItem[];
}
export interface PricingSection {
subtitle: string;
heading: string;
description: string;
}
export interface Plan {
name: string;
price: string;
period: string;
currency: string;
buttonText: string;
buttonLink: string;
buttonIcon: string;
style: "default" | "style-2";
features: string[];
}
export interface Plans {
monthly: Plan[];
yearly: Plan[];
}
export interface TestimonialItem {
name: string;
role: string;
rating: number;
content: string;
}
export interface Testimonials {
subtitle: string;
heading: string;
buttonText: string;
buttonLink: string;
buttonIcon: string;
image: string;
items: TestimonialItem[];
}
export interface PricingData {
hero: Hero;
pricingSection: PricingSection;
plans: Plans;
testimonials: Testimonials;
}
export interface PricingAPIResponse {
success: boolean;
data: PricingData;
}