From f2ae56e7a2f0e499550ff7d8361e35ae209d8cc3 Mon Sep 17 00:00:00 2001 From: John Doe Date: Mon, 11 Sep 2023 17:44:27 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=9F=20Added=20subscription=20pricing?= =?UTF-8?q?=20component=20=F0=9F=93=8A=20Implemented=20pricing=20items=20a?= =?UTF-8?q?nd=20features=20=F0=9F=8E=A8=20Styled=20the=20pricing=20section?= =?UTF-8?q?=20=F0=9F=9A=80=20Ready=20to=20showcase=20subscription=20option?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/subscription/page.tsx | 129 ++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 src/app/subscription/page.tsx diff --git a/src/app/subscription/page.tsx b/src/app/subscription/page.tsx new file mode 100644 index 0000000..a42a0a3 --- /dev/null +++ b/src/app/subscription/page.tsx @@ -0,0 +1,129 @@ +import { CheckIcon } from "@heroicons/react/24/solid"; +import React, { FC } from "react"; +import ButtonPrimary from "@/shared/ButtonPrimary"; +import ButtonSecondary from "@/shared/ButtonSecondary"; + +export interface PageSubcriptionProps {} + +export interface PricingItem { + isPopular: boolean; + name: string; + pricing: string; + desc: string; + per: string; + features: string[]; +} + +const pricings: PricingItem[] = [ + { + isPopular: false, + name: "Starter", + pricing: "$5", + per: "/mo", + features: ["Automated Reporting", "Faster Processing", "Customizations"], + desc: ` Literally you probably haven't heard of them jean shorts.`, + }, + { + isPopular: true, + name: "Basic", + pricing: "$15", + per: "/mo", + features: [ + "Everything in Starter", + "100 Builds", + "Progress Reports", + "Premium Support", + ], + desc: ` Literally you probably haven't heard of them jean shorts.`, + }, + { + isPopular: false, + name: "Plus", + pricing: "$25", + per: "/mo", + features: [ + "Everything in Basic", + "Unlimited Builds", + "Advanced Analytics", + "Company Evaluations", + ], + desc: ` Literally you probably haven't heard of them jean shorts.`, + }, +]; + +const PageSubcription: FC = () => { + const renderPricingItem = (pricing: PricingItem, index: number) => { + return ( +
+ {pricing.isPopular && ( + + POPULAR + + )} +
+

+ {pricing.name} +

+

+ {pricing.pricing} + + {pricing.per} + +

+
+ +
+ {pricing.isPopular ? ( + Submit + ) : ( + + Submit + + )} +

+ {pricing.desc} +

+
+
+ ); + }; + + return ( +
+
+

+ 💎 + Subscription +

+ + Pricing to fit the needs of any companie size. + +
+
+
+ {pricings.map(renderPricingItem)} +
+
+
+ ); +}; + +export default PageSubcription;