diff --git a/packages/web/app/src/components/organization/billing/BillingPlanPicker.tsx b/packages/web/app/src/components/organization/billing/BillingPlanPicker.tsx
index e0e6aec9b..64f4bc81b 100644
--- a/packages/web/app/src/components/organization/billing/BillingPlanPicker.tsx
+++ b/packages/web/app/src/components/organization/billing/BillingPlanPicker.tsx
@@ -35,7 +35,7 @@ const planCollection: {
'Schema Registry',
'Detection of breaking changes based on usage reports',
'GitHub and Slack integrations',
- '90 days of usage data retention',
+ '180 days of usage data retention',
Schema Policy Checks {comingSoon}
,
ESLint integration {comingSoon}
,
],
diff --git a/packages/web/landing-page/components/pricing.tsx b/packages/web/landing-page/components/pricing.tsx
new file mode 100644
index 000000000..76793ca54
--- /dev/null
+++ b/packages/web/landing-page/components/pricing.tsx
@@ -0,0 +1,136 @@
+import React from 'react';
+import 'twin.macro';
+
+function Plan(plan: {
+ name: string;
+ description: string;
+ price: number | string;
+ features: Array;
+ footer?: React.ReactNode;
+}) {
+ return (
+
+
+
+
{plan.name}
+
+ {typeof plan.price === 'string' ? (
+ plan.price
+ ) : (
+ <>
+ {'$'}
+ {plan.price}
+ /mo
+ >
+ )}
+
+
{plan.description}
+
+
+ {plan.features.map((feature, i) => {
+ return (
+
+ {feature}
+
+ );
+ })}
+
+
+
+ {plan.footer && (
+
+ )}
+
+
+ );
+}
+
+export function Pricing() {
+ return (
+
+
+
Pricing
+
Available in the application
+
+
+
+ Schema Policy Checks (coming soon)
+ ,
+
+ ESLint integration (coming soon)
+
,
+ ]}
+ footer={
+ <>
+
Free 14-day trial period
+
$15 for additional 1M operations
+
$1 for additional 10 schema pushes
+ >
+ }
+ />
+
+ Schema Policy Checks (coming soon)
+ ,
+
+ ESLint integration (coming soon)
+
,
+ 'SAML (coming soon)',
+
+ Support from
+
+ The Guild
+
+ ,
+ ]}
+ footer={<>Shape a custom plan for your business>}
+ />
+
+
+
+ );
+}
diff --git a/packages/web/landing-page/pages/_document.tsx b/packages/web/landing-page/pages/_document.tsx
index e44d2ff10..411588599 100644
--- a/packages/web/landing-page/pages/_document.tsx
+++ b/packages/web/landing-page/pages/_document.tsx
@@ -84,7 +84,7 @@ export default class MyDocument extends Document {
diff --git a/packages/web/landing-page/pages/index.tsx b/packages/web/landing-page/pages/index.tsx
index 34ae2f519..3c4c76d4b 100644
--- a/packages/web/landing-page/pages/index.tsx
+++ b/packages/web/landing-page/pages/index.tsx
@@ -4,6 +4,7 @@ import Head from 'next/head';
import { GlobalStyles } from 'twin.macro';
import { css } from 'twin.macro';
import { Header, FooterExtended, GlobalStyles as TGCStyles, ThemeProvider } from '@theguild/components';
+import { Pricing } from '../components/pricing';
const CookiesConsent: React.FC = () => {
const [show, setShow] = React.useState(typeof window !== 'undefined' && localStorage.getItem('cookies') === null);
@@ -12,11 +13,6 @@ const CookiesConsent: React.FC = () => {
setShow(false);
localStorage.setItem('cookies', 'true');
}, [setShow]);
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- const close = React.useCallback(() => {
- setShow(false);
- localStorage.setItem('cookies', 'false');
- }, [setShow]);
if (!show) {
return null;
@@ -130,7 +126,7 @@ export default function Index() {