From 862c819150a723ae2ded43fc1c286281e0096be7 Mon Sep 17 00:00:00 2001 From: akdeb Date: Sun, 25 May 2025 18:55:08 +0100 Subject: [PATCH] update pricing section --- .../components/LandingPage/PricingSection.tsx | 98 +++++++++++++++++++ .../app/components/Nav/LeftNavbarButtons.tsx | 5 +- frontend-nextjs/app/page.tsx | 55 ++--------- 3 files changed, 110 insertions(+), 48 deletions(-) create mode 100644 frontend-nextjs/app/components/LandingPage/PricingSection.tsx diff --git a/frontend-nextjs/app/components/LandingPage/PricingSection.tsx b/frontend-nextjs/app/components/LandingPage/PricingSection.tsx new file mode 100644 index 0000000..2ca9466 --- /dev/null +++ b/frontend-nextjs/app/components/LandingPage/PricingSection.tsx @@ -0,0 +1,98 @@ +import { Button } from "@/components/ui/button"; +import { CheckCircle } from "lucide-react"; +import Link from "next/link"; + + +const pricingTiers = [ + { + name: "Basic", + price: "Free", + usage: "60 minutes of usage per month", + features: [ + "Basic AI characters", + "Limited voice interactions" + ], + popular: false + }, + { + name: "Plus", + price: "$10", + period: "/month", + usage: "60 minutes of usage per day", + features: [ + "All AI characters", + "Enhanced voice quality", + "Character customization" + ], + popular: true, + link: "https://buy.stripe.com/14k6or0r00j900geV7", + }, + { + name: "Pro", + price: "$30", + period: "/month", + usage: "Unlimited usage", + features: [ + "All Plus features", + "Advanced AI capabilities", + "Priority support" + ], + popular: false, + link: "https://buy.stripe.com/14k28b6Po7LB14k3cq" + } + ]; + + +export const PricingSection = () => { + return ( +
+ {pricingTiers.map((tier, index) => ( +
+ {tier.name === 'Plus' && ( +
+ Most Popular +
+ )} + {tier.name === 'Pro' && ( +
+ Best Value +
+ )} +

{tier.name}

+
{tier.price}{tier.period || ''}
+

{tier.usage}

+
    + {tier.features.map((feature, featureIndex) => ( +
  • + + {feature} +
  • + ))} +
+ {tier.name === 'Pro' && ( +
+ Perfect for serious collectors and enthusiasts +
+ )} + + {tier.name === 'Basic' ? ( + + ) : ( + + + + )} +
+ ))} +
+ ) +} \ No newline at end of file diff --git a/frontend-nextjs/app/components/Nav/LeftNavbarButtons.tsx b/frontend-nextjs/app/components/Nav/LeftNavbarButtons.tsx index 4b95cff..30e3972 100644 --- a/frontend-nextjs/app/components/Nav/LeftNavbarButtons.tsx +++ b/frontend-nextjs/app/components/Nav/LeftNavbarButtons.tsx @@ -1,5 +1,5 @@ import { Button } from "@/components/ui/button"; -import { Home, Sparkle, ChevronDown, Dog, Bird, Hop, Plus, Blocks, Gamepad2 } from "lucide-react"; +import { Home, Sparkle, ChevronDown, Dog, Bird, Hop, Plus, Blocks, Gamepad2, Link } from "lucide-react"; import { DropdownMenuSeparator, DropdownMenu, @@ -42,7 +42,8 @@ export default function LeftNavbarButtons({ user }: LeftNavbarButtonsProps) { title="Click to go to Home page" > - + + Main Website

Elato

diff --git a/frontend-nextjs/app/page.tsx b/frontend-nextjs/app/page.tsx index efb85cb..f5347ac 100644 --- a/frontend-nextjs/app/page.tsx +++ b/frontend-nextjs/app/page.tsx @@ -10,6 +10,7 @@ import ProductsSection from "./components/LandingPage/ProductsSection"; import Image from "next/image"; import { fetchGithubStars } from "./actions"; import YoutubeDemo from "./components/LandingPage/YoutubeDemo"; +import { PricingSection } from "./components/LandingPage/PricingSection"; export default async function LandingPage() { const supabase = createClient(); @@ -173,53 +174,15 @@ export default async function LandingPage() { {/* Pricing */}
-
-
-
-

Get Your Elato Today!

-
-
${DEVICE_COST}
-
- One-time purchase - + ${SUBSCRIPTION_COST}/month after first FREE month
(or use your own OpenAI API key)
-
-
- -
-
-
- -
- Works with ANY toy or plushie -
-
-
- -
- Create unlimited AI characters -
-
-
- -
- First month subscription FREE -
-
-
- -
- Easy to set up in minutes -
-
- - -
-
-
+
+
+
+

Our Pricing

+ +
+
+
- {/* FAQ */} {/*