151 lines
7.7 KiB
Vue
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>
|
|
|