Social_Cooking/my_profil.html
2026-04-21 21:57:57 +02:00

170 lines
7.1 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mein Profil | Invité</title>
<!-- Stylesheet für diese Seite -->
<link rel="stylesheet" href="css/my_profil.css">
<!-- Globales Stylesheet -->
<link rel="stylesheet" href="css/stylesheet_global.css">
<script src="js/navigation.js" defer></script>
</head>
<body>
<header class="top-nav-wrap">
<div class="top-nav">
<a class="brand" href="index.html" aria-label="Zur Startseite">
<img src="assets/logo_invite.svg" alt="Invite Logo">
</a>
<nav class="nav-tab-links" aria-label="Hauptnavigation">
<button id="logout-button" class="button-small profile-logout" type="button">
Logout
</button>
<a class="button-small" href="login.html" aria-label="Login">
Login
</a>
</nav>
</div>
</header>
<main class="layout-wide">
<section class="profile-hero" aria-label="Profilübersicht">
<div>
<p class="badge">Mein Bereich</p>
<h1 id="headline">Mein Profil</h1>
<p id="profile-subline" class="profile-subline">Hier findest du deine Events, deine Anmeldungen und kannst deine Profildaten verwalten.</p>
</div>
</section>
<section id="logged-out-state" class="profile-panel hidden" aria-live="polite">
<h2 class="panel-title">Du bist noch nicht eingeloggt</h2>
<p>Melde dich an, damit wir deine Events und Anmeldungen anzeigen können.</p>
<div class="profile-cta-row">
<a class="button-primary" href="login.html">Zum Login</a>
<a class="button-primary profile-button-secondary" href="signup.html">Konto erstellen</a>
</div>
</section>
<section id="logged-in-content" class="profile-grid">
<nav class="category-items" aria-label="Profilbereiche">
<button type="button" class="category-item is-active category-item-profile" data-category-item="hosting">
Meine Events <span class="btn-count" id="btn-my-events-count">0</span>
</button>
<button type="button"
class="category-item category-item-profile" data-category-item="teilnehmen">
Meine Anmeldungen <span class="btn-count" id="btn-my-registrations-count">0</span>
</button>
<button type="button" class="category-item category-item-profile" data-category-item="einstellungen">Profil-Einstellungen</button>
</nav>
<article data-profile-panel="hosting">
<div class="panel-head">
<span id="my-events-count" class="panel-count">0</span>
</div>
<div id="my-events-list" class="profile-card-list"></div>
</article>
<article data-profile-panel="teilnehmen">
<div class="panel-head">
<span id="my-registrations-count" class="panel-count">0</span>
</div>
<div id="my-registrations-list" class="profile-card-list"></div>
</article>
<article class="profile-panel profile-panel-form hidden" data-profile-panel="einstellungen">
<h2 class="panel-title">Profil verwalten</h2>
<form id="profile-form" novalidate>
<div class="form-grid">
<div class="form-group">
<label for="vorname">Vorname</label>
<input type="text" id="vorname" name="vorname" required>
<p class="input-error" id="vorname-error">Bitte gib deinen Vornamen ein.</p>
</div>
<div class="form-group">
<label for="nachname">Nachname</label>
<input type="text" id="nachname" name="nachname" required>
<p class="input-error" id="nachname-error">Bitte gib deinen Nachnamen ein.</p>
</div>
</div>
<div class="form-group">
<label for="email">E-Mail</label>
<input type="email" id="email" name="email" required>
<p class="input-error" id="email-error">Bitte gib eine gültige E-Mail-Adresse ein.</p>
</div>
<div class="form-group">
<label for="passwort">Passwort</label>
<input type="password" id="passwort" name="passwort" minlength="6" placeholder="Mindestens 6 Zeichen">
<p class="input-hint">Nur ausfüllen, wenn du dein Passwort ändern möchtest.</p>
<p class="input-error" id="passwort-error">Das Passwort muss mindestens 6 Zeichen lang sein.</p>
</div>
<button class="button-primary" type="submit">Profil speichern</button>
<p id="profile-feedback" class="profile-feedback" aria-live="polite"></p>
</form>
</article>
</section>
</main>
<!-- Logout Confirmation Modal -->
<div id="logoutModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<button class="close-btn" onclick="closeLogoutModal()">&times;</button>
<h2>Abmelden?</h2>
</div>
<p class="modal-body">
Bist du sicher, dass du dich abmelden möchtest?
</p>
<div class="modal-footer">
<button class="button-primary button--outline" type="button" onclick="closeLogoutModal()">Abbrechen</button>
<button class="button-primary" type="button" onclick="confirmLogout()">Abmelden</button>
</div>
</div>
</div>
<!-- Snackbar: Feedback bei Abmeldung von Events -->
<div class="snackbar" id="snackbar"></div>
<!-- Event-Absage Confirmation Modal -->
<div id="cancelEventModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<button class="close-btn" onclick="closeCancelEventModal()">&times;</button>
<h2>Event absagen?</h2>
</div>
<p class="modal-body">
Bist du sicher, dass du dieses Event absagen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.
</p>
<div class="modal-footer">
<button class="button-secondary" type="button" onclick="closeCancelEventModal()">Abbrechen</button>
<button class="button-primary-abmelden" type="button" id="confirmCancelEventBtn";>Event absagen</button>
</div>
</div>
</div>
<div class="footer">
<div class="footer-left">
<p class="p-small inline">© <img src="assets/logo_invite.svg" alt="Invité Logo" class="footer-invite_logo" /></p>
</div>
<div class="footer-center">
<a href="https://www.instagram.com" target="_blank" rel="noopener noreferrer" class="instagram-invite__link">
<img src="assets/Icon_instagram.png" alt="Instagram" class="instagram-invite_icon" />
</a>
</div>
<div class="footer-right footer-links">
<a href="impressum.html" class="link-text-footer">Impressum</a>
<a href="datenschutz.html" class="link-text-footer">Datenschutz</a>
</div>
</div>
<script src="js/my_profil.js"></script>
</body>
</html>