Feature: Termine-Anzeige auf der Startseite

- Neue CSV-Datei backend/data/termine.csv für Termine-Speicherung
- Backend-Controller und Router für /api/termine Endpoint
- TermineWidget Component zur Anzeige von bevorstehenden Terminen
- Integration in LoggedInView (Startseite für eingeloggte User)
- Zeigt Datum, Titel, Beschreibung, Ort und Uhrzeit an
- Sortiert nach Datum, filtert automatisch vergangene Termine
This commit is contained in:
Torsten Schulz (local)
2025-10-20 22:27:35 +02:00
parent 47f5def67c
commit ccd8bfba0d
6 changed files with 259 additions and 5 deletions

View File

@@ -1,17 +1,25 @@
<template>
<div>
<h1>Welcome to Home (Logged In)</h1>
<p>Here are your exclusive features.</p>
<button @click="handleLogout">Logout</button>
<div class="home-logged-in">
<h1>Willkommen zurück!</h1>
<p>Schön, dass du wieder da bist.</p>
<TermineWidget />
<div class="actions">
<button @click="handleLogout" class="logout-btn">Logout</button>
</div>
</div>
</template>
<script>
import { mapActions } from 'vuex';
import TermineWidget from '@/components/TermineWidget.vue';
export default {
name: 'HomeLoggedInView',
components: {
TermineWidget
},
methods: {
...mapActions(['logout']),
handleLogout() {
@@ -22,4 +30,38 @@ export default {
</script>
<style scoped>
.home-logged-in {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.home-logged-in h1 {
color: #333;
margin-bottom: 10px;
}
.home-logged-in p {
color: #666;
margin-bottom: 20px;
}
.actions {
margin-top: 30px;
text-align: center;
}
.logout-btn {
background: #dc3545;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
font-size: 1em;
}
.logout-btn:hover {
background: #c82333;
}
</style>