Compare commits

...

2 Commits

Author SHA1 Message Date
khondokartowsif171 9a5c01b31b 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:50:17 +06:00
khondokar fa95c6e482 fix: add explicit docker-compose.yaml with Traefik labels for auraajenticai.cloud 2026-06-15 17:10:02 +00:00
2 changed files with 40 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;
setStatus("sending");
try {
await fetch("https://n8n.auraajenticai.cloud/webhook/contact", {
const resp = await fetch("https://formsubmit.co/ajax/khondokartowsif171@gmail.com", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(form),
headers: { "Content-Type": "application/json", "Accept": "application/json" },
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");
} catch {
setStatus("idle");
setErrors({ message: "Network error — please email us directly." });
setErrors({ message: "Network error — please email us directly at hello@auraajenticai.cloud" });
}
};