Skip to content
This repository was archived by the owner on Jul 31, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 11 additions & 22 deletions src/pages/pricing.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Link from "@docusaurus/Link";
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
import Layout from "@theme/Layout";
import React, { ReactNode, useEffect, useState } from "react";

Expand Down Expand Up @@ -57,6 +58,12 @@ const Feature = ({

const Pricing = () => {
const [annual, setAnnual] = useState(true);
const { siteConfig } = useDocusaurusContext();
const portalUrl = String(
siteConfig.customFields?.portalUrl ?? "https://my.easypanel.io"
);
const checkoutUrl = (planId: string) =>
`${portalUrl}/checkout?plan=${planId}&interval=${annual ? "yearly" : "monthly"}`;

return (
<section className="tw-py-12 tw-bg-black sm:tw-py-16 lg:tw-py-20 xl:tw-py-24">
Expand Down Expand Up @@ -167,13 +174,7 @@ const Pricing = () => {
</ul>
</div>

<Link
href={
annual
? "https://easypanel.lemonsqueezy.com/checkout/buy/6c721071-ee30-4aa7-bfba-3cd4cceecd36"
: "https://easypanel.lemonsqueezy.com/checkout/buy/b60df6f0-8857-4140-9960-6affa366eb1e"
}
>
<Link href={checkoutUrl("hobby")}>
<div className="tw-relative tw-flex tw-items-center tw-justify-center tw-mt-8 tw-group">
<div className="tw-absolute tw-transition-all tw-duration-200 tw-rounded-md tw--inset-px tw-bg-gradient-to-r tw-from-cyan-500 tw-to-emerald-500 group-hover:tw-shadow-lg group-hover:tw-shadow-cyan-500/50"></div>
<div
Expand Down Expand Up @@ -226,13 +227,7 @@ const Pricing = () => {
</ul>
</div>

<Link
href={
annual
? "https://easypanel.lemonsqueezy.com/checkout/buy/e8db0469-4d3d-4b94-8a15-307cfd7a2740"
: "https://easypanel.lemonsqueezy.com/checkout/buy/b2d97853-f338-49ae-9ed9-e2a29a33ab26"
}
>
<Link href={checkoutUrl("growth")}>
<div className="tw-relative tw-mt-8">
<div className="tw-inline-flex tw-items-center tw-justify-center tw-w-full tw-px-8 tw-py-4 tw-text-base tw-font-semibold tw-text-white tw-transition-all tw-duration-200 tw-rounded-md tw-bg-gradient-to-r tw-from-cyan-500 tw-to-emerald-500 hover:tw-contrast-150 tw-border-none">
Buy Your License
Expand Down Expand Up @@ -284,13 +279,7 @@ const Pricing = () => {
</ul>
</div>

<Link
href={
annual
? "https://easypanel.lemonsqueezy.com/checkout/buy/f80c4abc-fdb7-4710-abff-e42fb4a6969a"
: "https://easypanel.lemonsqueezy.com/checkout/buy/90c58596-7077-4426-9944-771b11967204"
}
>
<Link href={checkoutUrl("business")}>
<div className="tw-relative tw-flex tw-items-center tw-justify-center tw-mt-8 tw-group">
<div className="tw-absolute tw-transition-all tw-duration-200 tw-rounded-md tw--inset-px tw-bg-gradient-to-r tw-from-cyan-500 tw-to-emerald-500 group-hover:tw-shadow-lg group-hover:tw-shadow-cyan-500/50"></div>
<div
Expand Down Expand Up @@ -327,7 +316,7 @@ const faqItems = [
{
question: "What payment options do you have?",
answer:
"Our payments are processed by LemonSqueezy. They support cards (including Mastercard, Visa, Maestro, American Express, Discover, Diners Club, JCB, UnionPay, and Mada), PayPal, and others.",
"Our payments are processed by Polar. They support cards (including Mastercard, Visa, Maestro, American Express, Discover, Diners Club, JCB, UnionPay, and Mada) and others.",
},
{
question: "What happens if I cancel my subscription?",
Expand Down
98 changes: 98 additions & 0 deletions static/plans.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
{
"plans": [
{
"id": "hobby",
"name": "Hobby",
"description": "Move to the next level with your one-person operation",
"style": "default",
"monthly": { "price": 14.9, "polarProductId": "8bc6f8c3-0017-4db7-a446-a6516a0f4cd2" },
"yearly": { "price": 10.9, "polarProductId": "60b4932a-96e4-44d0-81ff-36ae5ab27148" },
"lemonProductId": 108137,
"features": [
"Unlimited projects",
"Unlimited services",
"Unlimited deployments",
"Basic Monitoring",
"Advanced Monitoring",
"Notifications",
"Database Backups",
"Custom Service Domain"
],
"supports": {
"advancedMonitoring": true,
"notifications": true,
"databaseBackups": true,
"customServiceDomain": true,
"multipleUsers": false,
"accessControl": false,
"branding": false,
"cluster": false
}
},
{
"id": "growth",
"name": "Growth",
"description": "Bring your whole team on board and work together",
"style": "highlight",
"monthly": { "price": 23.9, "polarProductId": "d284015a-cf48-4dde-bf18-3959be88fe00" },
"yearly": { "price": 16.9, "polarProductId": "83b3609e-1787-42b2-8bf6-4bb43de25a33" },
"lemonProductId": 108139,
"features": [
"Unlimited projects",
"Unlimited services",
"Unlimited deployments",
"Basic Monitoring",
"Advanced Monitoring",
"Notifications",
"Database Backups",
"Custom Service Domain",
"Multiple users",
"Access control"
],
"supports": {
"advancedMonitoring": true,
"notifications": true,
"databaseBackups": true,
"customServiceDomain": true,
"multipleUsers": true,
"accessControl": true,
"branding": false,
"cluster": false
}
},
{
"id": "business",
"name": "Business",
"description": "Get dedicated support for your amazing company",
"style": "default",
"monthly": { "price": 37.9, "polarProductId": "c748d0ba-2079-4a12-bd65-a58e10c1ac4c" },
"yearly": { "price": 29.9, "polarProductId": "193f8256-4cec-4159-afbe-444712cb641a" },
"lemonProductId": 108143,
"features": [
"Unlimited projects",
"Unlimited services",
"Unlimited deployments",
"Basic Monitoring",
"Advanced Monitoring",
"Notifications",
"Database Backups",
"Custom Service Domain",
"Multiple users",
"Access control",
"Cluster support (alpha)",
"White-labeling",
"Priority support"
],
"supports": {
"advancedMonitoring": true,
"notifications": true,
"databaseBackups": true,
"customServiceDomain": true,
"multipleUsers": true,
"accessControl": true,
"branding": true,
"cluster": true
}
}
]
}