Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 46s
This commit modifies the Navigation component and the CMS index page to replace the "Mitglieder" link with "Mitgliederverwaltung" and updates the corresponding route. Additionally, it removes the outdated "mitgliedschaftsantraege" page, streamlining the CMS structure and improving user navigation.
175 lines
6.2 KiB
Vue
175 lines
6.2 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">
|
|
Content Management System
|
|
</h1>
|
|
<div class="w-24 h-1 bg-primary-600 mb-8" />
|
|
|
|
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
|
|
<!-- Inhalte (gruppiert) -->
|
|
<NuxtLink
|
|
to="/cms/inhalte"
|
|
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
|
|
>
|
|
<div class="flex items-center mb-4">
|
|
<div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center group-hover:bg-indigo-600 transition-colors">
|
|
<Newspaper
|
|
:size="24"
|
|
class="text-indigo-600 group-hover:text-white"
|
|
/>
|
|
</div>
|
|
<h2 class="ml-4 text-xl font-semibold text-gray-900">
|
|
Inhalte
|
|
</h2>
|
|
</div>
|
|
<p class="text-gray-600">
|
|
Über uns, Geschichte, TT-Regeln & Satzung
|
|
</p>
|
|
</NuxtLink>
|
|
<!-- News -->
|
|
<NuxtLink
|
|
to="/mitgliederbereich/news"
|
|
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
|
|
>
|
|
<div class="flex items-center mb-4">
|
|
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center group-hover:bg-blue-600 transition-colors">
|
|
<Newspaper
|
|
:size="24"
|
|
class="text-blue-600 group-hover:text-white"
|
|
/>
|
|
</div>
|
|
<h2 class="ml-4 text-xl font-semibold text-gray-900">
|
|
News
|
|
</h2>
|
|
</div>
|
|
<p class="text-gray-600">
|
|
News erstellen und verwalten (intern und öffentlich)
|
|
</p>
|
|
</NuxtLink>
|
|
|
|
<!-- Sportbetrieb (gruppiert) -->
|
|
<NuxtLink
|
|
to="/cms/sportbetrieb"
|
|
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
|
|
>
|
|
<div class="flex items-center mb-4">
|
|
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center group-hover:bg-green-600 transition-colors">
|
|
<Calendar
|
|
:size="24"
|
|
class="text-green-600 group-hover:text-white"
|
|
/>
|
|
</div>
|
|
<h2 class="ml-4 text-xl font-semibold text-gray-900">
|
|
Sportbetrieb
|
|
</h2>
|
|
</div>
|
|
<p class="text-gray-600">
|
|
Termine, Mannschaften & Spielpläne
|
|
</p>
|
|
</NuxtLink>
|
|
|
|
<!-- Mitgliederverwaltung (gruppiert) -->
|
|
<NuxtLink
|
|
to="/cms/mitgliederverwaltung"
|
|
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
|
|
>
|
|
<div class="flex items-center mb-4">
|
|
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center group-hover:bg-purple-600 transition-colors">
|
|
<Users
|
|
:size="24"
|
|
class="text-purple-600 group-hover:text-white"
|
|
/>
|
|
</div>
|
|
<h2 class="ml-4 text-xl font-semibold text-gray-900">
|
|
Mitgliederverwaltung
|
|
</h2>
|
|
</div>
|
|
<p class="text-gray-600">
|
|
Mitgliederliste & Mitgliedschaftsanträge
|
|
</p>
|
|
</NuxtLink>
|
|
|
|
<!-- Startseite -->
|
|
<NuxtLink
|
|
to="/cms/startseite"
|
|
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
|
|
>
|
|
<div class="flex items-center mb-4">
|
|
<div class="w-12 h-12 bg-cyan-100 rounded-lg flex items-center justify-center group-hover:bg-cyan-600 transition-colors">
|
|
<Layout
|
|
:size="24"
|
|
class="text-cyan-600 group-hover:text-white"
|
|
/>
|
|
</div>
|
|
<h2 class="ml-4 text-xl font-semibold text-gray-900">
|
|
Startseite
|
|
</h2>
|
|
</div>
|
|
<p class="text-gray-600">
|
|
Reihenfolge der Startseiten-Elemente konfigurieren
|
|
</p>
|
|
</NuxtLink>
|
|
|
|
<!-- Einstellungen -->
|
|
<NuxtLink
|
|
to="/cms/einstellungen"
|
|
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
|
|
>
|
|
<div class="flex items-center mb-4">
|
|
<div class="w-12 h-12 bg-orange-100 rounded-lg flex items-center justify-center group-hover:bg-orange-600 transition-colors">
|
|
<Settings
|
|
:size="24"
|
|
class="text-orange-600 group-hover:text-white"
|
|
/>
|
|
</div>
|
|
<h2 class="ml-4 text-xl font-semibold text-gray-900">
|
|
Einstellungen
|
|
</h2>
|
|
</div>
|
|
<p class="text-gray-600">
|
|
Training, Trainer, Mitgliedschaft & Vorstand
|
|
</p>
|
|
</NuxtLink>
|
|
|
|
<!-- Benutzerverwaltung (Admin ODER Vorstand) -->
|
|
<NuxtLink
|
|
v-if="authStore.hasAnyRole('admin', 'vorstand')"
|
|
to="/cms/benutzer"
|
|
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"
|
|
>
|
|
<div class="flex items-center mb-4">
|
|
<div class="w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center group-hover:bg-yellow-600 transition-colors">
|
|
<UserCog
|
|
:size="24"
|
|
class="text-yellow-600 group-hover:text-white"
|
|
/>
|
|
</div>
|
|
<h2 class="ml-4 text-xl font-semibold text-gray-900">
|
|
Benutzerverwaltung
|
|
</h2>
|
|
</div>
|
|
<p class="text-gray-600">
|
|
Benutzer freischalten und verwalten
|
|
</p>
|
|
</NuxtLink>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { Newspaper, Calendar, Users, UserCog, Settings, Layout } from 'lucide-vue-next'
|
|
|
|
const authStore = useAuthStore()
|
|
|
|
definePageMeta({
|
|
middleware: 'auth',
|
|
layout: 'default'
|
|
})
|
|
|
|
useHead({
|
|
title: 'CMS - Harheimer TC',
|
|
})
|
|
</script>
|