111 lines
5.7 KiB
JavaScript
111 lines
5.7 KiB
JavaScript
import { mergeProps, createVNode, resolveDynamicComponent, useSSRContext } from 'vue';
|
|
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrRenderClass, ssrRenderVNode, ssrInterpolate, ssrRenderStyle } from 'vue/server-renderer';
|
|
import { Sun, CloudRain, Dumbbell, Utensils, Wifi, Droplets } 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: "Facilities",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
const facilities = [
|
|
{
|
|
icon: Sun,
|
|
title: "8 Tischtennisplatten",
|
|
description: "Hochwertige Wettkampftische für optimales Spielvergnügen",
|
|
color: "from-yellow-400 to-orange-500"
|
|
},
|
|
{
|
|
icon: CloudRain,
|
|
title: "Klimatisierte Halle",
|
|
description: "Optimale Bedingungen bei jedem Wetter in unserer modernen Halle",
|
|
color: "from-blue-400 to-blue-600"
|
|
},
|
|
{
|
|
icon: Dumbbell,
|
|
title: "Trainingsbereich",
|
|
description: "Ballmaschinen und Trainingsgeräte für gezieltes Training",
|
|
color: "from-red-400 to-red-600"
|
|
},
|
|
{
|
|
icon: Utensils,
|
|
title: "Clubhaus",
|
|
description: "Gemütliches Clubhaus mit Aufenthaltsraum und Küche",
|
|
color: "from-green-400 to-green-600"
|
|
},
|
|
{
|
|
icon: Wifi,
|
|
title: "Kostenloses WLAN",
|
|
description: "Schnelles Internet auf der gesamten Anlage",
|
|
color: "from-purple-400 to-purple-600"
|
|
},
|
|
{
|
|
icon: Droplets,
|
|
title: "Umkleiden & Duschen",
|
|
description: "Moderne, saubere Umkleideräume mit Duschen",
|
|
color: "from-cyan-400 to-cyan-600"
|
|
}
|
|
];
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<section${ssrRenderAttrs(mergeProps({
|
|
id: "facilities",
|
|
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"> Unsere Anlagen </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"> Moderne Ausstattung und erstklassige Einrichtungen für ein perfektes Tischtenniserlebnis </p></div><div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-16"><!--[-->`);
|
|
ssrRenderList(facilities, (facility) => {
|
|
_push(`<div class="group relative bg-white rounded-2xl shadow-lg hover:shadow-2xl transition-all duration-300 overflow-hidden border border-gray-100"><div class="${ssrRenderClass(["absolute top-0 left-0 right-0 h-1 bg-gradient-to-r opacity-0 group-hover:opacity-100 transition-opacity", facility.color])}"></div><div class="p-8"><div class="${ssrRenderClass(["w-16 h-16 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform", facility.color])}">`);
|
|
ssrRenderVNode(_push, createVNode(resolveDynamicComponent(facility.icon), {
|
|
size: 32,
|
|
class: "text-white"
|
|
}, null), _parent);
|
|
_push(`</div><h3 class="text-2xl font-display font-bold text-gray-900 mb-3">${ssrInterpolate(facility.title)}</h3><p class="text-gray-600 leading-relaxed">${ssrInterpolate(facility.description)}</p></div></div>`);
|
|
});
|
|
_push(`<!--]--></div><div class="grid md:grid-cols-2 gap-6"><div class="relative h-[300px] rounded-2xl overflow-hidden shadow-xl group"><div class="w-full h-full bg-cover bg-center group-hover:scale-110 transition-transform duration-700" style="${ssrRenderStyle({ "background-image": "url('https://images.unsplash.com/photo-1534438097545-77fef53fe2e8?q=80&w=2070')" })}"></div><div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent flex items-end"><p class="text-white font-semibold text-xl p-6">Hochwertige Wettkampftische</p></div></div><div class="relative h-[300px] rounded-2xl overflow-hidden shadow-xl group"><div class="w-full h-full bg-cover bg-center group-hover:scale-110 transition-transform duration-700" style="${ssrRenderStyle({ "background-image": "url('https://images.unsplash.com/photo-1611004275469-8583ed5d7b8d?q=80&w=2070')" })}"></div><div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent flex items-end"><p class="text-white font-semibold text-xl p-6">Moderne Tischtennishalle</p></div></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/Facilities.vue");
|
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
};
|
|
const _sfc_main = {
|
|
__name: "anlagen",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
useHead({
|
|
title: "Anlagen - 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/anlagen.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
|
|
export { _sfc_main as default };
|
|
//# sourceMappingURL=anlagen-tpcA4Hv2.mjs.map
|