diff --git a/frontend/src/components/PicoBadge.tsx b/frontend/src/components/PicoBadge.tsx
index f5d173d..a43f392 100644
--- a/frontend/src/components/PicoBadge.tsx
+++ b/frontend/src/components/PicoBadge.tsx
@@ -1,4 +1,4 @@
-import PricingDialog from "./payments/PricingDialog";
+import PricingDialog from "./hosted/payments/PricingDialog";
export function PicoBadge() {
return (
diff --git a/frontend/src/components/hosted/PricingPage.tsx b/frontend/src/components/hosted/PricingPage.tsx
new file mode 100644
index 0000000..d1411ab
--- /dev/null
+++ b/frontend/src/components/hosted/PricingPage.tsx
@@ -0,0 +1,55 @@
+import React from "react";
+import Footer from "./LandingPage/Footer";
+
+const PricingPage: React.FC = () => {
+ return (
+
+
Pricing
+
+ {/* Basic Plan */}
+
+
Basic
+
$9.99/mo
+
+ - Feature 1
+ - Feature 2
+ - Feature 3
+
+
+
+ {/* Pro Plan */}
+
+
Pro
+
$19.99/mo
+
+ - All Basic features
+ - Feature 4
+ - Feature 5
+
+
+
+ {/* Enterprise Plan */}
+
+
Enterprise
+
Custom
+
+ - All Pro features
+ - Custom integrations
+ - Dedicated support
+
+
+
+
+
+
+
+ );
+};
+
+export default PricingPage;
diff --git a/frontend/src/components/payments/PricingDialog.tsx b/frontend/src/components/hosted/payments/PricingDialog.tsx
similarity index 98%
rename from frontend/src/components/payments/PricingDialog.tsx
rename to frontend/src/components/hosted/payments/PricingDialog.tsx
index c03034a..126df86 100644
--- a/frontend/src/components/payments/PricingDialog.tsx
+++ b/frontend/src/components/hosted/payments/PricingDialog.tsx
@@ -6,12 +6,12 @@ import {
DialogHeader,
DialogTitle,
DialogTrigger,
-} from "../ui/dialog";
+} from "../../ui/dialog";
import { FaCheckCircle } from "react-icons/fa";
-import Spinner from "../custom-ui/Spinner";
+import Spinner from "../../custom-ui/Spinner";
import useStripeCheckout from "./useStripeCheckout";
-import { Button } from "../ui/button";
-import { useStore } from "../../store/store";
+import { Button } from "../../ui/button";
+import { useStore } from "../../../store/store";
const LOGOS = ["microsoft", "amazon", "mit", "stanford", "bytedance", "baidu"];
diff --git a/frontend/src/components/payments/useStripeCheckout.ts b/frontend/src/components/hosted/payments/useStripeCheckout.ts
similarity index 93%
rename from frontend/src/components/payments/useStripeCheckout.ts
rename to frontend/src/components/hosted/payments/useStripeCheckout.ts
index 52b72eb..277058d 100644
--- a/frontend/src/components/payments/useStripeCheckout.ts
+++ b/frontend/src/components/hosted/payments/useStripeCheckout.ts
@@ -1,9 +1,9 @@
import { useEffect, useState } from "react";
import toast from "react-hot-toast";
-import { SAAS_BACKEND_URL, STRIPE_PUBLISHABLE_KEY } from "../../config";
-import { addEvent } from "../../lib/analytics";
+import { SAAS_BACKEND_URL, STRIPE_PUBLISHABLE_KEY } from "../../../config";
+import { addEvent } from "../../../lib/analytics";
import { Stripe, loadStripe } from "@stripe/stripe-js";
-import { useAuthenticatedFetch } from "../hosted/useAuthenticatedFetch";
+import { useAuthenticatedFetch } from "../useAuthenticatedFetch";
interface CreateCheckoutSessionResponse {
sessionId: string;
diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx
index b9946d3..3e51f97 100644
--- a/frontend/src/main.tsx
+++ b/frontend/src/main.tsx
@@ -7,6 +7,7 @@ import EvalsPage from "./components/evals/EvalsPage.tsx";
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import { CLERK_PUBLISHABLE_KEY } from "./config.ts";
import "./index.css";
+import PricingPage from "./components/hosted/PricingPage.tsx";
ReactDOM.createRoot(document.getElementById("root")!).render(
@@ -21,6 +22,7 @@ ReactDOM.createRoot(document.getElementById("root")!).render(
} />
} />
+ } />