Compare commits

...

3 Commits

Author SHA1 Message Date
khondokartowsif171 4b4bb49a29 feat: wire contact form to Formsubmit.co → khondokartowsif171@gmail.com
Replace non-existent n8n webhook with Formsubmit AJAX endpoint.
Zero backend required — first submission triggers Gmail verification,
after that all inquiries arrive as formatted table emails.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-15 06:57:03 +06:00
khondokar 48381d3965 fix: add explicit docker-compose.yaml with Traefik labels for auraajenticai.cloud 2026-07-15 06:57:02 +06:00
khondokar b179514084 Add vercel.json: static SPA routing for Vercel deployment 2026-06-15 22:42:23 +00:00
3 changed files with 57 additions and 4 deletions
+25
View File
@@ -0,0 +1,25 @@
services:
web:
build:
context: .
dockerfile: Dockerfile
networks:
- coolify
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
- "traefik.http.routers.auraajenticai-http.entrypoints=http"
- "traefik.http.routers.auraajenticai-http.rule=Host(`auraajenticai.cloud`)"
- "traefik.http.routers.auraajenticai-http.middlewares=redirect-to-https"
- "traefik.http.routers.auraajenticai-https.entrypoints=https"
- "traefik.http.routers.auraajenticai-https.rule=Host(`auraajenticai.cloud`)"
- "traefik.http.routers.auraajenticai-https.tls=true"
- "traefik.http.routers.auraajenticai-https.tls.certresolver=letsencrypt"
- "traefik.http.services.auraajenticai.loadbalancer.server.port=80"
- "coolify.managed=true"
restart: unless-stopped
networks:
coolify:
external: true
+15 -4
View File
@@ -141,15 +141,26 @@ const Contact = ({ lang = "en" }) => {
if (Object.keys(e).length) return; if (Object.keys(e).length) return;
setStatus("sending"); setStatus("sending");
try { try {
await fetch("https://n8n.auraajenticai.cloud/webhook/contact", { const resp = await fetch("https://formsubmit.co/ajax/khondokartowsif171@gmail.com", {
method: "POST", method: "POST",
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json", "Accept": "application/json" },
body: JSON.stringify(form), body: JSON.stringify({
_subject: `New Aura Inquiry — ${form.service}`,
_captcha: "false",
_template: "table",
name: form.name,
email: form.email,
service: form.service,
budget: form.budget || "Not specified",
message: form.message,
}),
}); });
const data = await resp.json();
if (!data.success) throw new Error("failed");
setStatus("sent"); setStatus("sent");
} catch { } catch {
setStatus("idle"); setStatus("idle");
setErrors({ message: "Network error — please email us directly." }); setErrors({ message: "Network error — please email us directly at hello@auraajenticai.cloud" });
} }
}; };
+17
View File
@@ -0,0 +1,17 @@
{
"cleanUrls": true,
"trailingSlash": false,
"rewrites": [
{ "source": "/(.*)", "destination": "/index.html" }
],
"headers": [
{
"source": "/(.*)",
"headers": [
{ "key": "X-Content-Type-Options", "value": "nosniff" },
{ "key": "X-Frame-Options", "value": "SAMEORIGIN" },
{ "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" }
]
}
]
}