"use client"; import React from "react"; import { IconCircleCheckFilled, IconMessageCircleQuestion, } from "@tabler/icons-react"; import { cn } from "@/lib/utils"; import { useState } from "react"; import { motion } from "motion/react"; export function PricingWithSwitchAndAddOn() { return (

Choose the plan that suits your needs

Pick a plan that suits your needs and get started instantly.

); } export function Pricing() { const [active, setActive] = useState("monthly"); const tabs = [ { name: "Monthly", value: "monthly" }, { name: "Yearly", value: "yearly" }, ]; return (
{tabs.map((tab) => ( ))}
{tiers.map((tier, tierIdx) => (

{tier.name}

{active === "monthly" ? tier.priceMonthly : tier.priceYearly}

{tier.description}

    {tier.features.map((feature) => (
  • ))}
))}
); } const AddOn = () => { return (

Buy for your team of{" "} 10 people{" "} and get {" "} pro upgrade absolutely free .

"This is the best product ever when it comes to shipping. Ten on ten recommended. I just can't wait to see what happens with this product."

Michael Scarn

Side projects builder

); }; const GridLineHorizontal = ({ className, offset, }: { className?: string; offset?: string; }) => { return (
); }; const GridLineVertical = ({ className, offset, }: { className?: string; offset?: string; }) => { return (
); }; export type Tier = { name: string; id: string; href: string; priceMonthly: string; priceYearly: string; description: string; features: string[]; featured: boolean; cta: string; onClick: () => void; }; export const tiers: Tier[] = [ { name: "Hobby", id: "tier-hobby", href: "#", priceMonthly: "$4/mo", priceYearly: "$30/yr", description: "Best for occasional listeners", features: [ "Stream music on 1 device", "Access to basic music library", "Standard audio quality", "Ad-supported listening", "Create and share playlists", ], featured: false, cta: "Get Started", onClick: () => {}, }, { name: "Professional", id: "tier-professional", href: "#", priceMonthly: "$8/mo", priceYearly: "$60/yr", description: "Best for regular listeners", features: [ "Stream music on up to 3 devices simultaneously", "Access to premium music library", "High-definition audio quality", "Ad-free listening experience", "Download music for offline listening", "Create and share unlimited playlists", "Access to exclusive content and early releases", ], featured: true, cta: "Get Started", onClick: () => {}, }, { name: "Enterprise", id: "tier-enterprise", href: "#", priceMonthly: "Contact Us", priceYearly: "Contact Us", description: "Best for big artists", features: [ "Stream music on unlimited devices", "Access to entire music library", "Ultra high-definition audio quality", "Ad-free listening experience", "Download unlimited music for offline listening", "Create and share unlimited playlists", "Access to exclusive content and early releases", "Priority customer support", ], featured: false, cta: "Contact Us", onClick: () => {}, }, ]; export const Icon = ({ className, ...rest }: React.SVGProps) => { return ( ); };