diff --git a/apps/web/app/(marketing)/page.tsx b/apps/web/app/(marketing)/page.tsx index 666bc5d..ce23811 100644 --- a/apps/web/app/(marketing)/page.tsx +++ b/apps/web/app/(marketing)/page.tsx @@ -1,28 +1,14 @@ -import { Button } from "@openstarter/ui"; -import { LuChevronRight } from "react-icons/lu"; +import Hero from "@/components/marketing/hero"; +import LogoCloud from "@/components/marketing/logo-cloud"; +import Pricing from "@/components/marketing/pricing"; const Home = () => { return ( -
-
-
-

- Open Source Next.js 14 SaaS Starter Kit -

-

- Never pay for Starter Kits anymore. Save time on your business with - this scalable OpenSource and production-ready SaaS boilerplate. -

-
- - -
-
-
-
+ <> + + + + ); }; diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index 3640b06..c1b6e16 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -80,4 +80,7 @@ "rlig" 1, "calt" 1; } + html { + @apply scroll-smooth; + } } diff --git a/apps/web/components/layout/navigation.tsx b/apps/web/components/layout/navigation.tsx index ac48625..285df7e 100644 --- a/apps/web/components/layout/navigation.tsx +++ b/apps/web/components/layout/navigation.tsx @@ -20,6 +20,10 @@ const navItems = [ name: "Features", href: "/#features", }, + { + name: "Pricing", + href: "/#pricing", + }, { name: "Documentation", href: "/documentation", diff --git a/apps/web/components/marketing/hero.tsx b/apps/web/components/marketing/hero.tsx new file mode 100644 index 0000000..f49021d --- /dev/null +++ b/apps/web/components/marketing/hero.tsx @@ -0,0 +1,29 @@ +import { Button } from "@openstarter/ui"; +import { LuChevronRight } from "react-icons/lu"; + +const Hero = () => { + return ( +
+
+
+

+ Open Source Next.js 14 SaaS Starter Kit +

+

+ Never pay for Starter Kits anymore. Save time on your business with + this scalable OpenSource and production-ready SaaS boilerplate. +

+
+ + +
+
+
+
+ ); +}; + +export default Hero; diff --git a/apps/web/components/marketing/logo-cloud.tsx b/apps/web/components/marketing/logo-cloud.tsx new file mode 100644 index 0000000..2ae5898 --- /dev/null +++ b/apps/web/components/marketing/logo-cloud.tsx @@ -0,0 +1,52 @@ +import Image from "next/image"; + +const LogoCloud = () => { + return ( +
+
+

+ Trusted by the world's most innovative teams +

+
+ Transistor + Reform + Tuple + SavvyCal + Statamic +
+
+
+ ); +}; + +export default LogoCloud; diff --git a/apps/web/components/marketing/pricing.tsx b/apps/web/components/marketing/pricing.tsx new file mode 100644 index 0000000..42f1ec7 --- /dev/null +++ b/apps/web/components/marketing/pricing.tsx @@ -0,0 +1,159 @@ +import { buttonVariants, cn } from "@openstarter/ui"; +import Link from "next/link"; +import { LuCheckCircle } from "react-icons/lu"; + +const tiers = [ + { + name: "Hobby", + id: "tier-hobby", + href: "#", + priceMonthly: "$19", + description: + "The perfect plan if you're just getting started with our product.", + features: [ + "25 products", + "Up to 10,000 subscribers", + "Advanced analytics", + "24-hour support response time", + ], + featured: false, + }, + { + name: "Enterprise", + id: "tier-enterprise", + href: "#", + priceMonthly: "$49", + description: "Dedicated support and infrastructure for your company.", + features: [ + "Unlimited products", + "Unlimited subscribers", + "Advanced analytics", + "Dedicated support representative", + "Marketing automations", + "Custom integrations", + ], + featured: true, + }, +]; + +const Pricing = () => { + return ( +
+ + ); +}; + +export default Pricing;