diff --git a/.gemini/settings.json b/.gemini/settings.json deleted file mode 100644 index 315b265..0000000 --- a/.gemini/settings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "mcpServers": { - "context7": { - "command": "npx", - "args": ["-y", "@upstash/context7-mcp", "--api-key", "ctx7sk-200afd5d-1a75-4c28-a3fb-3f3a26a721a0"] - } - } -} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index c1b23b3..7b3b7fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ # runner — lean runtime: production deps + dist + a plain Node server # (no build tooling ships in the final image) -ARG NODE_VERSION=24 +ARG NODE_VERSION=26 # ── deps ──────────────────────────────────────────────────── FROM node:${NODE_VERSION}-trixie-slim AS deps @@ -24,7 +24,7 @@ RUN npm run build # ── runner ────────────────────────────────────────────────── FROM node:${NODE_VERSION}-trixie-slim AS runner LABEL org.opencontainers.image.title="Mozimo" \ - org.opencontainers.image.description="Mozimo — luxury chocolate storefront (TanStack Start + Vite)" + org.opencontainers.image.description="Mozimo — luxury chocolate storefront (TanStack Start + Vite)" WORKDIR /app ENV NODE_ENV=production \ @@ -47,7 +47,7 @@ USER node EXPOSE 3000 HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \ - CMD node -e "fetch('http://127.0.0.1:'+(process.env.PORT||3000)+'/',{redirect:'manual'}).then(r=>process.exit(r.status<500?0:1)).catch(()=>process.exit(1))" + CMD node -e "fetch('http://127.0.0.1:'+(process.env.PORT||3000)+'/',{redirect:'manual'}).then(r=>process.exit(r.status<500?0:1)).catch(()=>process.exit(1))" # Exec form: node runs as PID 1 and server.mjs handles SIGTERM gracefully. CMD ["node", "server.mjs"] diff --git a/src/app/bespoke.tsx b/src/app/bespoke.tsx index 384a949..155e5c3 100644 --- a/src/app/bespoke.tsx +++ b/src/app/bespoke.tsx @@ -4,6 +4,7 @@ import Footer from "@/components/Footer"; import PageHero from "@/components/PageHero"; import Reveal from "@/components/Reveal"; import Marquee from "@/components/Marquee"; +import ContactForm from "@/components/ContactForm"; export const Route = createFileRoute("/bespoke")({ component: BespokePage }); @@ -49,12 +50,7 @@ function BespokePage() { >
- + Start an Enquiry @@ -123,17 +119,65 @@ function BespokePage() { ))} - + Start an Enquiry
+ + {/* enquiry form */} +
+
+
+ +

Bulk & bespoke gifting

+
+ +

+ Start the{" "} + conversation +

+
+ +

+ Tell us the occasion and the scale — corporate hampers, + wedding favours, a brand collaboration or packaging that is + entirely yours. Our chocolatiers reply within one working + day, with samples where it helps. +

+
+ +
+

Prefer to talk?

+ + 0172-404 5414 + +

+ For standard quantities, the{" "} + + bulk-ordering portal + {" "} + is always open. +

+
+
+
+ +
+ +
+
+
+