diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index fac4856..4e252cc 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,6 @@ # These are supported funding model platforms -github: L-Sophat +github: pphatdev patreon: # Replace with a single Patreon username open_collective: pphat ko_fi: #sophat diff --git a/src/app/api/contact/route.ts b/src/app/api/contact/route.ts index 0339572..5ba2e23 100644 --- a/src/app/api/contact/route.ts +++ b/src/app/api/contact/route.ts @@ -1,6 +1,6 @@ import { NextRequest, NextResponse } from 'next/server'; import { sendContactEmail } from '@lib/utils/email-service'; -import { CONTACT_EMAIL } from '@lib/constants'; +import { CONTACT_EMAIL } from '../../../lib/constants'; // Simple rate limiting for spam prevention const RATE_LIMIT_WINDOW = 60 * 1000; // 1 minute diff --git a/src/app/contact/metadata.ts b/src/app/contact/metadata.ts index 70f0f02..70264c3 100644 --- a/src/app/contact/metadata.ts +++ b/src/app/contact/metadata.ts @@ -1,5 +1,5 @@ import { Metadata } from "next"; -import { appName, NEXT_PUBLIC_APP_URL } from "@lib/constants"; +import { appName, NEXT_PUBLIC_APP_URL } from "../../lib/constants"; import { getOgImageMetadata } from "@lib/utils/og-image"; const contactDescription = "Get in touch with me. I'm always open to discussing new projects, creative ideas or opportunities to be part of your vision."; diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index cb34f00..0adc6e9 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -13,6 +13,7 @@ import { BorderBeam } from "@components/ui/border-beam"; import { GridPattern } from "@components/ui/grid-pattern"; import { Ripple } from "@components/ui/ripple"; import { ContactHero } from "@components/heros/contact-hero"; +import { cn } from "@lib/utils"; export default function ContactPage() { // Form state @@ -133,7 +134,7 @@ export default function ContactPage() { <> -
+
- +
{/* Contact Form */}
- + {submitted ? ( -
-
- +
+
+
-

Message Sent!

+

Message Sent!

Thank you for reaching out. Your message has been sent to:

info.sophat@gmail.com

I'll get back to you as soon as possible.

@@ -185,7 +186,7 @@ export default function ContactPage() { required value={formData.name} onChange={handleChange} - className={formErrors.name ? "border-destructive ring-primary" : ""} + className={cn(formErrors.name ? "border-destructive ring-primary" : "", "rounded-xl bg-transparent")} aria-invalid={Boolean(formErrors.name)} /> {formErrors.name && ( @@ -205,7 +206,7 @@ export default function ContactPage() { required value={formData.email} onChange={handleChange} - className={formErrors.email ? "border-destructive ring-primary" : ""} + className={cn(formErrors.name ? "border-destructive ring-primary" : "", "rounded-xl bg-transparent")} aria-invalid={Boolean(formErrors.email)} /> {formErrors.email && ( @@ -226,7 +227,7 @@ export default function ContactPage() { required value={formData.subject} onChange={handleChange} - className={formErrors.subject ? "border-destructive ring-primary" : ""} + className={cn(formErrors.name ? "border-destructive ring-primary" : "", "rounded-xl bg-transparent")} aria-invalid={Boolean(formErrors.subject)} /> {formErrors.subject && ( @@ -247,7 +248,7 @@ export default function ContactPage() { required value={formData.message} onChange={handleChange} - className={formErrors.message ? "border-destructive ring-primary" : ""} + className={cn(formErrors.name ? "border-destructive ring-primary" : "", "rounded-xl bg-transparent")} aria-invalid={Boolean(formErrors.message)} /> {formErrors.message && ( diff --git a/src/components/about-structured-data.tsx b/src/components/about-structured-data.tsx index 5730d86..d068f2c 100644 --- a/src/components/about-structured-data.tsx +++ b/src/components/about-structured-data.tsx @@ -1,5 +1,3 @@ -'use client'; - import React from 'react'; import { appName, diff --git a/src/components/breadcrumb-structured-data.tsx b/src/components/breadcrumb-structured-data.tsx index a883878..4a794a3 100644 --- a/src/components/breadcrumb-structured-data.tsx +++ b/src/components/breadcrumb-structured-data.tsx @@ -1,5 +1,3 @@ -'use client'; - import React from 'react'; import { NEXT_PUBLIC_APP_URL } from '@lib/constants'; diff --git a/src/components/home-person-structured-data.tsx b/src/components/home-person-structured-data.tsx index 7bc61ac..e454f4f 100644 --- a/src/components/home-person-structured-data.tsx +++ b/src/components/home-person-structured-data.tsx @@ -1,5 +1,3 @@ -'use client'; - import React from 'react'; import { NEXT_PUBLIC_APP_URL, @@ -95,7 +93,7 @@ export default function HomePersonStructuredData() {