From 0c512c30c7b3a57ecfcb6dcc06416e96330f0de9 Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Fri, 22 May 2026 20:44:27 +0000 Subject: [PATCH 1/2] Bob AI: Add pricing page --- src/App.tsx | 2 + src/components/Layout.tsx | 4 +- src/pages/PricingPage.tsx | 119 ++++++++++++++++++++++++++++++++++++++ src/routes.ts | 1 + 4 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 src/pages/PricingPage.tsx diff --git a/src/App.tsx b/src/App.tsx index 33d15f9..9c6a8f8 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom'; import Layout from './components/Layout'; import HomePage from './pages/HomePage'; +import PricingPage from "@/pages/PricingPage"; export default function App() { return ( }> } /> + } /> ); diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index a4bbd8c..6bcb379 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -35,7 +35,9 @@ export default function Layout() { { "name": "Metrics", "href": "#metrics" - } + }, + { name: "Pricing", href: "/pricing" }, + ]; return ( diff --git a/src/pages/PricingPage.tsx b/src/pages/PricingPage.tsx new file mode 100644 index 0000000..86d1fc1 --- /dev/null +++ b/src/pages/PricingPage.tsx @@ -0,0 +1,119 @@ +import { routes } from "@/routes"; +import NavbarCentered from "@/components/ui/NavbarCentered"; +import PricingCenteredCards from "@/components/sections/pricing/PricingCenteredCards"; +import FeaturesComparison from "@/components/sections/features/FeaturesComparison"; +import FooterSimple from "@/components/sections/footer/FooterSimple"; + +export default function PricingPage() { + const pricingPlans = [ + { + name: "Basic", + price: "$19", + frequency: "/month", + description: "Essential features for individuals and small teams.", + features: [ + "5 projects", + "Basic analytics", + "Community support", + "1GB storage", + ], + buttonText: "Get Started", + buttonHref: "/signup", + highlighted: false, + }, + { + name: "Pro", + price: "$49", + frequency: "/month", + description: "Advanced tools for growing businesses. (Subscription)", + features: [ + "Unlimited projects", + "Advanced analytics", + "Priority support", + "10GB storage", + "Custom branding", + ], + buttonText: "Start Free Trial", + buttonHref: "/signup", + highlighted: true, + }, + { + name: "Enterprise", + price: "Custom", + frequency: "", + description: "Tailored solutions for large organizations.", + features: [ + "All Pro features", + "Dedicated account manager", + "SLA guarantee", + "Unlimited storage", + "On-premise deployment", + ], + buttonText: "Contact Sales", + buttonHref: "/contact", + highlighted: false, + }, + ]; + + const comparisonFeatures = [ + { + feature: "Projects", + tiers: ["5", "Unlimited", "Unlimited"], + }, + { + feature: "Analytics", + tiers: ["Basic", "Advanced", "Advanced"], + }, + { + feature: "Support", + tiers: ["Community", "Priority", "Dedicated"], + }, + { + feature: "Storage", + tiers: ["1GB", "10GB", "Unlimited"], + }, + { + feature: "Custom Branding", + tiers: ["❌", "✅", "✅"], + }, + { + feature: "SLA Guarantee", + tiers: ["❌", "❌", "✅"], + }, + ]; + + return ( +
+ ({ name: r.label, href: r.path }))} + ctaButton={{ text: "Get Started", href: "/contact" }} + /> +
+ + +
+ +
+ ); +} \ No newline at end of file diff --git a/src/routes.ts b/src/routes.ts index 362ecb5..ae18b1d 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -6,4 +6,5 @@ export interface Route { export const routes: Route[] = [ { path: '/', label: 'Home', pageFile: 'HomePage' }, + { path: '/pricing', label: 'Pricing', pageFile: 'PricingPage' }, ]; -- 2.49.1 From 8ce65992eca251e0a6aa2485f16b42b7f7069121 Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Fri, 22 May 2026 20:45:01 +0000 Subject: [PATCH 2/2] Bob AI: Populate src/pages/PricingPage.tsx (snippet builder, 2 sections) --- src/pages/PricingPage.tsx | 151 +++++++++----------------------------- 1 file changed, 36 insertions(+), 115 deletions(-) diff --git a/src/pages/PricingPage.tsx b/src/pages/PricingPage.tsx index 86d1fc1..001fcb9 100644 --- a/src/pages/PricingPage.tsx +++ b/src/pages/PricingPage.tsx @@ -1,119 +1,40 @@ -import { routes } from "@/routes"; -import NavbarCentered from "@/components/ui/NavbarCentered"; -import PricingCenteredCards from "@/components/sections/pricing/PricingCenteredCards"; -import FeaturesComparison from "@/components/sections/features/FeaturesComparison"; -import FooterSimple from "@/components/sections/footer/FooterSimple"; +import { Check } from "lucide-react"; +import Button from "@/components/ui/Button"; +import TextAnimation from "@/components/ui/TextAnimation"; +import GridOrCarousel from "@/components/ui/GridOrCarousel"; +import ScrollReveal from "@/components/ui/ScrollReveal"; +import { Check, X } from "lucide-react"; export default function PricingPage() { - const pricingPlans = [ - { - name: "Basic", - price: "$19", - frequency: "/month", - description: "Essential features for individuals and small teams.", - features: [ - "5 projects", - "Basic analytics", - "Community support", - "1GB storage", - ], - buttonText: "Get Started", - buttonHref: "/signup", - highlighted: false, - }, - { - name: "Pro", - price: "$49", - frequency: "/month", - description: "Advanced tools for growing businesses. (Subscription)", - features: [ - "Unlimited projects", - "Advanced analytics", - "Priority support", - "10GB storage", - "Custom branding", - ], - buttonText: "Start Free Trial", - buttonHref: "/signup", - highlighted: true, - }, - { - name: "Enterprise", - price: "Custom", - frequency: "", - description: "Tailored solutions for large organizations.", - features: [ - "All Pro features", - "Dedicated account manager", - "SLA guarantee", - "Unlimited storage", - "On-premise deployment", - ], - buttonText: "Contact Sales", - buttonHref: "/contact", - highlighted: false, - }, - ]; - - const comparisonFeatures = [ - { - feature: "Projects", - tiers: ["5", "Unlimited", "Unlimited"], - }, - { - feature: "Analytics", - tiers: ["Basic", "Advanced", "Advanced"], - }, - { - feature: "Support", - tiers: ["Community", "Priority", "Dedicated"], - }, - { - feature: "Storage", - tiers: ["1GB", "10GB", "Unlimited"], - }, - { - feature: "Custom Branding", - tiers: ["❌", "✅", "✅"], - }, - { - feature: "SLA Guarantee", - tiers: ["❌", "❌", "✅"], - }, - ]; - return ( -
- ({ name: r.label, href: r.path }))} - ctaButton={{ text: "Get Started", href: "/contact" }} - /> -
- - -
- -
+ <> +

Our Pricing

Monthly Care
$199/moRegular maintenance to keep your garden vibrant and healthy year-round with essential care.
Seasonal Pruning & Trimming
+
Basic Lawn & Turf Care
+
Irrigation System Checks
+
Pest & Disease Monitoring
+
Fertilization & Soil Health
+
Custom Design
From $2,500Transformative design and installation for a personalized outdoor oasis tailored to your dreams.
Initial Site Consultation
+
3D Landscape Design Renderings
+
Material & Plant Selection Guidance
+
Project Management & Oversight
+
Sustainable Planting Plan
+
Hardscaping Integration
+
Estate Excellence
Custom QuoteComprehensive, bespoke solutions for large estates requiring meticulous care and advanced design.
Master Landscape Planning
+
Advanced Irrigation Systems
+
Specialized Plant & Tree Care
+
Seasonal Rotations & Updates
+
Dedicated Project Manager
+
Smart Landscape Technology
+

Value Comparison

Limited design revision cycles
+
Standard material selection
+
No ongoing maintenance plan
+
Basic plant warranty
+
Limited post-installation support
Unlimited design revisions
+
Premium & sustainable material sourcing
+
Comprehensive ongoing maintenance
+
Extended plant and workmanship warranty
+
Dedicated project manager
+
Priority scheduling and support
+ ); -} \ No newline at end of file +} -- 2.49.1