Files
harheimertc/pages/vorstand.vue
2025-10-21 16:47:55 +02:00

151 lines
7.7 KiB
Vue

<template>
<div class="min-h-full py-16 bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<h1 class="text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6">
Vorstand
</h1>
<div class="w-24 h-1 bg-primary-600 mb-8" />
<div class="prose prose-lg max-w-none">
<p class="text-xl text-gray-600 mb-8">
Unser engagiertes Vorstandsteam leitet den Harheimer TC mit Herz und Sachverstand.
</p>
<div v-if="config" class="grid md:grid-cols-2 gap-8 not-prose">
<!-- Vorsitzender -->
<div v-if="config.vorstand.vorsitzender.vorname" class="bg-white p-6 rounded-xl shadow-lg border border-gray-100">
<h3 class="text-xl font-display font-bold text-gray-900 mb-2">Vorsitzender</h3>
<h4 class="text-lg font-semibold text-primary-600 mb-3">
{{ config.vorstand.vorsitzender.vorname }} {{ config.vorstand.vorsitzender.nachname }}
</h4>
<div class="space-y-1 text-gray-600">
<p v-if="config.vorstand.vorsitzender.strasse">{{ config.vorstand.vorsitzender.strasse }}</p>
<p v-if="config.vorstand.vorsitzender.plz">{{ config.vorstand.vorsitzender.plz }} {{ config.vorstand.vorsitzender.ort }}</p>
<p v-if="config.vorstand.vorsitzender.telefon">Tel. {{ config.vorstand.vorsitzender.telefon }}</p>
<p v-if="config.vorstand.vorsitzender.email">
<a :href="`mailto:${config.vorstand.vorsitzender.email}`" class="text-primary-600 hover:underline">
{{ config.vorstand.vorsitzender.email }}
</a>
</p>
</div>
</div>
<!-- Stellvertreter -->
<div v-if="config.vorstand.stellvertreter.vorname" class="bg-white p-6 rounded-xl shadow-lg border border-gray-100">
<h3 class="text-xl font-display font-bold text-gray-900 mb-2">Stellvertreter</h3>
<h4 class="text-lg font-semibold text-primary-600 mb-3">
{{ config.vorstand.stellvertreter.vorname }} {{ config.vorstand.stellvertreter.nachname }}
</h4>
<div class="space-y-1 text-gray-600">
<p v-if="config.vorstand.stellvertreter.strasse">{{ config.vorstand.stellvertreter.strasse }}</p>
<p v-if="config.vorstand.stellvertreter.plz">{{ config.vorstand.stellvertreter.plz }} {{ config.vorstand.stellvertreter.ort }}</p>
<p v-if="config.vorstand.stellvertreter.telefon">Tel. {{ config.vorstand.stellvertreter.telefon }}</p>
<p v-if="config.vorstand.stellvertreter.email">
<a :href="`mailto:${config.vorstand.stellvertreter.email}`" class="text-primary-600 hover:underline">
{{ config.vorstand.stellvertreter.email }}
</a>
</p>
</div>
</div>
<!-- Kassenwart -->
<div v-if="config.vorstand.kassenwart.vorname" class="bg-white p-6 rounded-xl shadow-lg border border-gray-100">
<h3 class="text-xl font-display font-bold text-gray-900 mb-2">Kassenwart</h3>
<h4 class="text-lg font-semibold text-primary-600 mb-3">
{{ config.vorstand.kassenwart.vorname }} {{ config.vorstand.kassenwart.nachname }}
</h4>
<div class="space-y-1 text-gray-600">
<p v-if="config.vorstand.kassenwart.strasse">{{ config.vorstand.kassenwart.strasse }}</p>
<p v-if="config.vorstand.kassenwart.plz">{{ config.vorstand.kassenwart.plz }} {{ config.vorstand.kassenwart.ort }}</p>
<p v-if="config.vorstand.kassenwart.telefon">Tel. {{ config.vorstand.kassenwart.telefon }}</p>
<p v-if="config.vorstand.kassenwart.email">
<a :href="`mailto:${config.vorstand.kassenwart.email}`" class="text-primary-600 hover:underline">
{{ config.vorstand.kassenwart.email }}
</a>
</p>
</div>
</div>
<!-- Schriftführer -->
<div v-if="config.vorstand.schriftfuehrer.vorname" class="bg-white p-6 rounded-xl shadow-lg border border-gray-100">
<h3 class="text-xl font-display font-bold text-gray-900 mb-2">Schriftführer</h3>
<h4 class="text-lg font-semibold text-primary-600 mb-3">
{{ config.vorstand.schriftfuehrer.vorname }} {{ config.vorstand.schriftfuehrer.nachname }}
</h4>
<div class="space-y-1 text-gray-600">
<p v-if="config.vorstand.schriftfuehrer.strasse">{{ config.vorstand.schriftfuehrer.strasse }}</p>
<p v-if="config.vorstand.schriftfuehrer.plz">{{ config.vorstand.schriftfuehrer.plz }} {{ config.vorstand.schriftfuehrer.ort }}</p>
<p v-if="config.vorstand.schriftfuehrer.telefon">Tel. {{ config.vorstand.schriftfuehrer.telefon }}</p>
<p v-if="config.vorstand.schriftfuehrer.email">
<a :href="`mailto:${config.vorstand.schriftfuehrer.email}`" class="text-primary-600 hover:underline">
{{ config.vorstand.schriftfuehrer.email }}
</a>
</p>
</div>
</div>
<!-- Sportwart -->
<div v-if="config.vorstand.sportwart.vorname" class="bg-white p-6 rounded-xl shadow-lg border border-gray-100">
<h3 class="text-xl font-display font-bold text-gray-900 mb-2">Sportwart</h3>
<h4 class="text-lg font-semibold text-primary-600 mb-3">
{{ config.vorstand.sportwart.vorname }} {{ config.vorstand.sportwart.nachname }}
</h4>
<div class="space-y-1 text-gray-600">
<p v-if="config.vorstand.sportwart.strasse">{{ config.vorstand.sportwart.strasse }}</p>
<p v-if="config.vorstand.sportwart.plz">{{ config.vorstand.sportwart.plz }} {{ config.vorstand.sportwart.ort }}</p>
<p v-if="config.vorstand.sportwart.telefon">Tel. {{ config.vorstand.sportwart.telefon }}</p>
<p v-if="config.vorstand.sportwart.email">
<a :href="`mailto:${config.vorstand.sportwart.email}`" class="text-primary-600 hover:underline">
{{ config.vorstand.sportwart.email }}
</a>
</p>
</div>
</div>
<!-- Jugendwart -->
<div v-if="config.vorstand.jugendwart.vorname" class="bg-white p-6 rounded-xl shadow-lg border border-gray-100">
<h3 class="text-xl font-display font-bold text-gray-900 mb-2">Jugendwart</h3>
<h4 class="text-lg font-semibold text-primary-600 mb-3">
{{ config.vorstand.jugendwart.vorname }} {{ config.vorstand.jugendwart.nachname }}
</h4>
<div class="space-y-1 text-gray-600">
<p v-if="config.vorstand.jugendwart.strasse">{{ config.vorstand.jugendwart.strasse }}</p>
<p v-if="config.vorstand.jugendwart.plz">{{ config.vorstand.jugendwart.plz }} {{ config.vorstand.jugendwart.ort }}</p>
<p v-if="config.vorstand.jugendwart.telefon">Tel. {{ config.vorstand.jugendwart.telefon }}</p>
<p v-if="config.vorstand.jugendwart.email">
<a :href="`mailto:${config.vorstand.jugendwart.email}`" class="text-primary-600 hover:underline">
{{ config.vorstand.jugendwart.email }}
</a>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { ref, onMounted } from 'vue'
const config = ref(null)
const loadConfig = async () => {
try {
const response = await $fetch('/api/config')
config.value = response.config
} catch (error) {
console.error('Fehler beim Laden der Config:', error)
}
}
onMounted(() => {
loadConfig()
})
useHead({
title: 'Vorstand - Harheimer TC',
})
</script>