chore: add support email

This commit is contained in:
Vasily Zubarev
2025-04-24 17:02:14 +02:00
parent abd5ad8403
commit fd142762af
8 changed files with 43 additions and 17 deletions

View File

@@ -33,7 +33,7 @@ export default async function ChoosePlanPage() {
)}
</CardContent>
<div className="text-center text-muted-foreground">
<Link href="mailto:me@vas3k.com" className="hover:text-primary transition-colors">
<Link href={`mailto:${config.app.supportEmail}`} className="hover:text-primary transition-colors">
Contact us for custom plans
</Link>
</div>

View File

@@ -1,3 +1,5 @@
import config from "@/lib/config"
export default async function AI() {
return (
<div className="prose prose-slate max-w-none">
@@ -7,8 +9,8 @@ export default async function AI() {
<strong className="text-slate-700">Effective Date</strong>: April 22, 2025
<br />
<strong className="text-slate-700">Contact Email</strong>:{" "}
<a href="mailto:me@vas3k.com" className="text-blue-600 hover:text-blue-800">
me@vas3k.com
<a href={`mailto:${config.app.supportEmail}`} className="text-blue-600 hover:text-blue-800">
{config.app.supportEmail}
</a>
<br />
<strong className="text-slate-700">Domain</strong>:{" "}

View File

@@ -1,3 +1,5 @@
import config from "@/lib/config"
export default async function Cookie() {
return (
<div className="prose prose-slate max-w-none">
@@ -11,8 +13,8 @@ export default async function Cookie() {
</a>
<br />
<strong className="text-slate-700">Contact:</strong>{" "}
<a href="mailto:me@vas3k.com" className="text-blue-600 hover:text-blue-800">
me@vas3k.com
<a href={`mailto:${config.app.supportEmail}`} className="text-blue-600 hover:text-blue-800">
{config.app.supportEmail}
</a>
</p>
@@ -132,8 +134,8 @@ export default async function Cookie() {
<h2 className="text-2xl font-semibold text-slate-800 mb-4">6. Contact</h2>
<p className="text-slate-700 mb-6 leading-relaxed">
For questions about our cookie usage, please contact us at{" "}
<a href="mailto:me@vas3k.com" className="text-blue-600 hover:text-blue-800">
me@vas3k.com
<a href={`mailto:${config.app.supportEmail}`} className="text-blue-600 hover:text-blue-800">
{config.app.supportEmail}
</a>
.
</p>

View File

@@ -1,3 +1,5 @@
import config from "@/lib/config"
export default async function PrivacyPolicy() {
return (
<div className="prose prose-slate max-w-none">
@@ -14,8 +16,8 @@ export default async function PrivacyPolicy() {
<strong className="text-slate-700">Effective Date</strong>: April 22, 2025
<br />
<strong className="text-slate-700">Contact Email</strong>:{" "}
<a href="mailto:me@vas3k.com" className="text-blue-600 hover:text-blue-800">
me@vas3k.com
<a href={`mailto:${config.app.supportEmail}`} className="text-blue-600 hover:text-blue-800">
{config.app.supportEmail}
</a>
<br />
<strong className="text-slate-700">Domain</strong>:{" "}
@@ -179,8 +181,8 @@ export default async function PrivacyPolicy() {
<p className="text-slate-700 mb-6 leading-relaxed">
To exercise your rights, contact us at{" "}
<a href="mailto:me@vas3k.com" className="text-blue-600 hover:text-blue-800">
me@vas3k.com
<a href={`mailto:${config.app.supportEmail}`} className="text-blue-600 hover:text-blue-800">
{config.app.supportEmail}
</a>
.
</p>

View File

@@ -1,3 +1,5 @@
import config from "@/lib/config"
export default async function Terms() {
return (
<div className="prose prose-slate max-w-none">
@@ -11,8 +13,8 @@ export default async function Terms() {
</a>
<br />
<strong className="text-slate-700">Contact:</strong>{" "}
<a href="mailto:me@vas3k.com" className="text-blue-600 hover:text-blue-800">
me@vas3k.com
<a href={`mailto:${config.app.supportEmail}`} className="text-blue-600 hover:text-blue-800">
{config.app.supportEmail}
</a>
</p>

View File

@@ -1,5 +1,6 @@
import { NewsletterForm } from "@/app/landing/newsletter"
import { ColoredText } from "@/components/ui/colored-text"
import config from "@/lib/config"
import Image from "next/image"
import Link from "next/link"
@@ -437,6 +438,9 @@ export default function LandingPage() {
<section className="py-12 px-8">
<div className="max-w-7xl mx-auto">
<div className="flex flex-wrap gap-4 justify-center">
<Link href={`mailto:${config.app.supportEmail}`} className="text-sm text-gray-600 hover:text-gray-900">
Contact Us
</Link>
<Link href="/docs/terms" className="text-sm text-gray-600 hover:text-gray-900">
Terms of Service
</Link>

View File

@@ -3,12 +3,14 @@ import { User } from "@prisma/client"
import { PricingCard } from "@/components/auth/pricing-card"
import { Button } from "@/components/ui/button"
import { Card } from "@/components/ui/card"
import config from "@/lib/config"
import { PLANS } from "@/lib/stripe"
import { formatBytes, formatNumber } from "@/lib/utils"
import { formatDate } from "date-fns"
import { BrainCog, CalendarSync, HardDrive } from "lucide-react"
import Link from "next/link"
import { Badge } from "../ui/badge"
export function SubscriptionPlan({ user }: { user: User }) {
const plan = PLANS[user.membershipPlan as keyof typeof PLANS] || PLANS.unlimited
@@ -44,13 +46,24 @@ export function SubscriptionPlan({ user }: { user: User }) {
</span>
</div>
</div>
{user.stripeCustomerId && (
<div className="space-y-4 mt-6">
<div className="space-y-4 mt-6 text-center">
{user.stripeCustomerId && (
<Button asChild className="w-full">
<Link href="/api/stripe/portal">Manage Subscription</Link>
</Button>
</div>
)}
)}
{!user.stripeCustomerId && user.membershipExpiresAt && (
<Button asChild className="w-full">
<Link href="/cloud">Buy Subscription</Link>
</Button>
)}
<Link href={`mailto:${config.app.supportEmail}`} className="block text-sm text-muted-foreground">
Contact Us
</Link>
</div>
</Card>
</div>
</div>

View File

@@ -25,6 +25,7 @@ const config = {
description: "Your personal AI helper for taxes",
version: process.env.npm_package_version || "0.0.1",
baseURL: env.BASE_URL || `http://localhost:${env.PORT || "7331"}`,
supportEmail: "me@vas3k.com",
},
upload: {
acceptedMimeTypes: "image/*,.pdf,.doc,.docx,.xls,.xlsx",