import { r as __toESM } from "../_runtime.mjs"; import { n as require_jsx_runtime, r as require_react } from "../_libs/react+tanstack__react-query.mjs"; import { t as PageHero } from "./PageHero-JlNjeanC.mjs"; import { b as CircleCheck, c as Phone, m as Mail, p as MapPin } from "../_libs/lucide-react.mjs"; import { t as company } from "./router-eHxkqfmM.mjs"; import { t as hero1_default } from "./hero1-B6ZL9Cko.mjs"; //#region node_modules/.nitro/vite/services/ssr/assets/contact-C2ANVzDE.js var import_react = /* @__PURE__ */ __toESM(require_react()); var import_jsx_runtime = require_jsx_runtime(); var initialValues = { name: "", email: "", phone: "", subject: "", message: "" }; var fieldClass = "w-full rounded-md border border-input bg-background px-3.5 py-2.5 text-sm text-navy outline-none transition-colors focus:border-gold focus:ring-2 focus:ring-gold/30"; /** Frontend-only contact form; connect to a backend/email service later. */ function ContactForm() { const [values, setValues] = (0, import_react.useState)(initialValues); const [errors, setErrors] = (0, import_react.useState)({}); const [submitted, setSubmitted] = (0, import_react.useState)(false); const update = (event) => { const { name, value } = event.target; setValues((prev) => ({ ...prev, [name]: value })); }; const handleSubmit = (event) => { event.preventDefault(); const next = {}; if (!values.name.trim()) next.name = "Please enter your name."; if (!values.email.trim()) next.email = "Please enter an email address."; else if (!/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(values.email.trim())) next.email = "Please enter a valid email address."; if (!values.message.trim()) next.message = "Please enter a message."; setErrors(next); if (Object.keys(next).length === 0) setSubmitted(true); }; if (submitted) return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-lg border border-border border-l-4 border-l-gold bg-background p-8 shadow-sm", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleCheck, { className: "h-9 w-9 text-gold", "aria-hidden": "true" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "mt-4 text-xl font-bold text-navy", children: "Message received" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "mt-3 text-sm leading-relaxed text-muted-foreground", children: "Thank you for reaching out to RG Global Logistix LLP. Our team will review your message and respond shortly." }) ] }); return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", { onSubmit: handleSubmit, noValidate: true, className: "rounded-lg border border-border bg-background p-6 shadow-sm sm:p-8", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-xl font-bold text-navy", children: "Send us a message" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "gold-rule mt-3", "aria-hidden": "true" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-6 grid gap-5 sm:grid-cols-2", children: [[ { id: "name", label: "Full Name", type: "text", required: true }, { id: "email", label: "Email", type: "email", required: true }, { id: "phone", label: "Phone Number", type: "tel", required: false }, { id: "subject", label: "Subject", type: "text", required: false } ].map((field) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { htmlFor: field.id, className: "text-sm font-medium text-navy", children: [ field.label, " ", field.required ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-gold", children: "*" }) : null ] }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { id: field.id, name: field.id, type: field.type, value: values[field.id], onChange: update, "aria-invalid": errors[field.id] ? "true" : "false", "aria-describedby": errors[field.id] ? `${field.id}-error` : void 0, className: `mt-1.5 ${fieldClass}` }), errors[field.id] ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { id: `${field.id}-error`, className: "mt-1.5 text-xs text-destructive", children: errors[field.id] }) : null ] }, field.id)), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col sm:col-span-2", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { htmlFor: "message", className: "text-sm font-medium text-navy", children: ["Message ", /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-gold", children: "*" })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("textarea", { id: "message", name: "message", rows: 5, value: values.message, onChange: update, "aria-invalid": errors.message ? "true" : "false", "aria-describedby": errors.message ? "message-error" : void 0, className: `mt-1.5 ${fieldClass}` }), errors.message ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { id: "message-error", className: "mt-1.5 text-xs text-destructive", children: errors.message }) : null ] })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { type: "submit", className: "mt-7 inline-flex w-full items-center justify-center rounded-md bg-navy px-6 py-3.5 text-sm font-semibold text-white transition-colors hover:bg-gold hover:text-navy-deep sm:w-auto", children: "Send Message" }) ] }); } var mapQuery = encodeURIComponent("Plot No. 62, Sree Nagar Colony, Ambedkar Nagar, Near MRO Office, Alwal, Secunderabad 500010"); function ContactPage() { return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PageHero, { title: "Contact Us", subtitle: "Get in touch with RG Global Logistix LLP for logistics, courier, transportation and supply chain enquiries.", image: hero1_default, breadcrumb: "Contact Us" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", { className: "section-pad bg-surface", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mx-auto grid max-w-7xl gap-10 px-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]", children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-3xl font-bold text-navy sm:text-4xl", children: "Get in touch" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "gold-rule mt-4", "aria-hidden": "true" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("ul", { className: "mt-8 space-y-5", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { className: "flex gap-4 rounded-lg border border-border bg-background p-5", children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Phone, { className: "mt-0.5 h-5 w-5 shrink-0 text-gold", "aria-hidden": "true" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "min-w-0", children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "text-sm font-semibold text-navy", children: "Phone" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: company.phoneHref, className: "text-sm text-muted-foreground hover:text-gold", children: company.phone })] })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { className: "flex gap-4 rounded-lg border border-border bg-background p-5", children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mail, { className: "mt-0.5 h-5 w-5 shrink-0 text-gold", "aria-hidden": "true" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "min-w-0", children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "text-sm font-semibold text-navy", children: "Email" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: `mailto:${company.email}`, className: "break-all text-sm text-muted-foreground hover:text-gold", children: company.email })] })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { className: "flex gap-4 rounded-lg border border-border bg-background p-5", children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "mt-0.5 h-5 w-5 shrink-0 text-gold", "aria-hidden": "true" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "min-w-0", children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "text-sm font-semibold text-navy", children: "Office Address" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("address", { className: "text-sm not-italic text-muted-foreground", children: company.addressLines.map((line) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "block", children: line }, line)) })] })] }) ] }) ] }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContactForm, {})] }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", { className: "pb-16 lg:pb-20", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mx-auto max-w-7xl px-6", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-2xl font-bold text-navy sm:text-3xl", children: "Our Location" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "gold-rule mt-4", "aria-hidden": "true" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mt-6 overflow-hidden rounded-lg border border-border", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("iframe", { title: "RG Global Logistix LLP office location map", src: `https://www.google.com/maps?q=${mapQuery}&output=embed`, className: "h-[380px] w-full border-0", loading: "lazy", referrerPolicy: "no-referrer-when-downgrade" }) }) ] }) }) ] }); } //#endregion export { ContactPage as component };