Files
harheimertc/.output/server/chunks/build/kontakt-DXDMYVtx.mjs
2025-10-21 14:35:21 +02:00

140 lines
8.8 KiB
JavaScript

import { mergeProps, ref, createVNode, resolveDynamicComponent, unref, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrRenderClass, ssrRenderVNode, ssrInterpolate, ssrRenderStyle, ssrRenderAttr, ssrIncludeBooleanAttr } from 'vue/server-renderer';
import { MapPin, Phone, Mail, Clock, CheckCircle, AlertCircle, Send } from 'lucide-vue-next';
import { u as useHead } from './composables-CK-Mp9jS.mjs';
import './server.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import '../routes/renderer.mjs';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/utils';
import 'pinia';
import 'vue-router';
const _sfc_main$1 = {
__name: "Contact",
__ssrInlineRender: true,
setup(__props) {
const formData = ref({
name: "",
email: "",
phone: "",
subject: "",
message: ""
});
const isSubmitting = ref(false);
const submitStatus = ref(null);
const submitMessage = ref("");
const contactInfo = [
{
icon: MapPin,
title: "Trainingsort",
content: ["Sporthalle der Grundschule Harheim", "In den Schafgärten 25", "60437 Frankfurt/Main"],
color: "from-red-500 to-pink-500"
},
{
icon: Phone,
title: "Telefon",
content: ["06101-4992227"],
color: "from-green-500 to-emerald-500"
},
{
icon: Mail,
title: "E-Mail",
content: ["j.dichmann@gmx.de"],
color: "from-blue-500 to-cyan-500"
},
{
icon: Clock,
title: "Trainingszeiten",
content: ["Dienstag: 19:30 - 22:30 Uhr", "Donnerstag: 19:30 - 22:30 Uhr"],
color: "from-purple-500 to-indigo-500"
}
];
return (_ctx, _push, _parent, _attrs) => {
_push(`<section${ssrRenderAttrs(mergeProps({
id: "contact",
class: "py-16 sm:py-20 bg-white"
}, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center mb-16"><h2 class="text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"> Kontakt </h2><div class="w-24 h-1 bg-primary-600 mx-auto mb-6"></div><p class="text-xl text-gray-600 max-w-3xl mx-auto"> Wir freuen uns auf Ihre Nachricht - Kontaktieren Sie uns! </p></div><div class="grid lg:grid-cols-2 gap-12 items-start"><div class="space-y-6"><!--[-->`);
ssrRenderList(contactInfo, (info) => {
_push(`<div class="flex items-start space-x-4 bg-gray-50 p-6 rounded-xl hover:shadow-lg transition-shadow"><div class="${ssrRenderClass(["flex-shrink-0 w-12 h-12 bg-gradient-to-br rounded-lg flex items-center justify-center", info.color])}">`);
ssrRenderVNode(_push, createVNode(resolveDynamicComponent(info.icon), {
size: 24,
class: "text-white"
}, null), _parent);
_push(`</div><div><h3 class="font-display font-bold text-gray-900 mb-2">${ssrInterpolate(info.title)}</h3><!--[-->`);
ssrRenderList(info.content, (line, i) => {
_push(`<p class="text-gray-600">${ssrInterpolate(line)}</p>`);
});
_push(`<!--]--></div></div>`);
});
_push(`<!--]--><div class="space-y-4"><div class="rounded-2xl overflow-hidden shadow-xl h-64"><iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2554.5!2d8.660947!3d50.187044!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47bd0e5e5e5e5e5e%3A0x5e5e5e5e5e5e5e5e!2sIn%20den%20Schafg%C3%A4rten%2025%2C%2060437%20Frankfurt%20am%20Main!5e0!3m2!1sde!2sde!4v1234567890" width="100%" height="100%" style="${ssrRenderStyle({ "border": "0" })}" loading="lazy" allowfullscreen referrerpolicy="no-referrer-when-downgrade" title="Sporthalle der Grundschule Harheim"></iframe></div><a href="https://www.google.com/maps/search/?api=1&amp;query=In+den+Schafgärten+25+60437+Frankfurt" target="_blank" class="block text-center px-4 py-3 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg transition-colors"> In Google Maps öffnen </a></div></div><div class="bg-gradient-to-br from-primary-50 to-primary-100/50 rounded-2xl p-8 shadow-xl"><h3 class="text-2xl font-display font-bold text-gray-900 mb-6"> Senden Sie uns eine Nachricht </h3><form class="space-y-4"><div><label for="name" class="block text-sm font-medium text-gray-700 mb-1"> Name * </label><input type="text" id="name"${ssrRenderAttr("value", formData.value.name)} required class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all" placeholder="Ihr Name"></div><div><label for="email" class="block text-sm font-medium text-gray-700 mb-1"> E-Mail * </label><input type="email" id="email"${ssrRenderAttr("value", formData.value.email)} required class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all" placeholder="ihre@email.de"></div><div><label for="phone" class="block text-sm font-medium text-gray-700 mb-1"> Telefon </label><input type="tel" id="phone"${ssrRenderAttr("value", formData.value.phone)} class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all" placeholder="+49 123 456789"></div><div><label for="subject" class="block text-sm font-medium text-gray-700 mb-1"> Betreff * </label><input type="text" id="subject"${ssrRenderAttr("value", formData.value.subject)} required class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all" placeholder="Worum geht es?"></div><div><label for="message" class="block text-sm font-medium text-gray-700 mb-1"> Nachricht * </label><textarea id="message" required rows="5" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all resize-none" placeholder="Ihre Nachricht...">${ssrInterpolate(formData.value.message)}</textarea></div>`);
if (submitStatus.value) {
_push(`<div class="${ssrRenderClass([submitStatus.value === "success" ? "bg-green-50 border border-green-200" : "bg-red-50 border border-red-200", "p-4 rounded-lg"])}"><div class="flex items-center">`);
if (submitStatus.value === "success") {
_push(ssrRenderComponent(unref(CheckCircle), {
size: 20,
class: "text-green-600 mr-2"
}, null, _parent));
} else {
_push(ssrRenderComponent(unref(AlertCircle), {
size: 20,
class: "text-red-600 mr-2"
}, null, _parent));
}
_push(`<p class="${ssrRenderClass([submitStatus.value === "success" ? "text-green-800" : "text-red-800", "text-sm font-medium"])}">${ssrInterpolate(submitMessage.value)}</p></div></div>`);
} else {
_push(`<!---->`);
}
_push(`<button type="submit"${ssrIncludeBooleanAttr(isSubmitting.value) ? " disabled" : ""} class="w-full px-6 py-4 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 disabled:cursor-not-allowed text-white font-semibold rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 flex items-center justify-center">`);
if (!isSubmitting.value) {
_push(ssrRenderComponent(unref(Send), {
size: 20,
class: "mr-2"
}, null, _parent));
} else {
_push(`<div class="animate-spin rounded-full h-5 w-5 border-b-2 border-white mr-2"></div>`);
}
_push(` ${ssrInterpolate(isSubmitting.value ? "Wird gesendet..." : "E-Mail senden")}</button><p class="text-sm text-gray-600 text-center"> * Pflichtfelder </p></form><p class="mt-4 text-sm text-gray-600 text-center"> Ihre Nachricht wird direkt an j.dichmann@gmx.de gesendet </p></div></div></div></section>`);
};
}
};
const _sfc_setup$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Contact.vue");
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const _sfc_main = {
__name: "kontakt",
__ssrInlineRender: true,
setup(__props) {
useHead({
title: "Kontakt - Harheimer TC"
});
return (_ctx, _push, _parent, _attrs) => {
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-screen" }, _attrs))}>`);
_push(ssrRenderComponent(_sfc_main$1, null, null, _parent));
_push(`</div>`);
};
}
};
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/kontakt.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=kontakt-DXDMYVtx.mjs.map