This commit is contained in:
Jordi Enric
2024-10-28 19:56:02 +01:00
parent 70c52e12de
commit aa6dd83e37
4 changed files with 41 additions and 2 deletions
+2 -1
View File
@@ -19,6 +19,7 @@ import {
PRICING_PLANS,
PricingPlanInterval,
PricingPlanTier,
TRIAL_PERIOD_DAYS,
} from "@/lib/pricing.constants";
const UnauthorizedError = (c: Context) => {
@@ -164,7 +165,7 @@ const api = new Hono()
success_url: `${BASE_URL}/account?success=true`,
cancel_url: `${BASE_URL}/account?canceled=true`,
subscription_data: {
trial_period_days: 14,
trial_period_days: TRIAL_PERIOD_DAYS,
metadata: {
plan_id: selectedPlan.id,
},
+28
View File
@@ -0,0 +1,28 @@
import Footer from "@/components/Footer";
import Navigation from "@/components/marketing/Navigation";
export default function ContactPage() {
return (
<div>
<Navigation />
<div className="prose mx-auto min-h-screen max-w-4xl">
<h1>Contact</h1>
<p>
If you have any questions, feedback, or issues, please feel free to
contact us by email.
</p>
<p className="font-mono">
Email: <a href="mailto:support@zenblog.com">support@zenblog.com</a>
</p>
<p className="font-mono">
Twitter: <a href="https://twitter.com/zenbloghq">@zenbloghq</a>
</p>
<p>
Please make sure to include all relevant information so we can get
back to you.
</p>
</div>
<Footer />
</div>
);
}
+8
View File
@@ -19,6 +19,14 @@ const Footer = (props: Props) => {
label: "Privacy",
href: "/privacy",
},
{
label: "Contact",
href: "/contact",
},
{
label: "Pricing",
href: "/pricing",
},
];
return (
+3 -1
View File
@@ -1,5 +1,7 @@
import { z } from "zod";
export const TRIAL_PERIOD_DAYS = 30;
export const PricingPlanTier = z.enum(["hobby", "pro"]);
export type PricingPlanTierType = z.infer<typeof PricingPlanTier>;
export const isPricingPlanTier = (
@@ -33,7 +35,7 @@ export const PRICING_PLANS: PricingPlan[] = [
title: "Zenblog Hobby Plan",
description: "For personal blogs and small projects",
monthlyPrice: 9,
yearlyPrice: 72,
yearlyPrice: 72, // will be divided by 12 in pricing page
features: [
"1 blog",
"Unlimited posts",