public/report.html aktualisiert

This commit is contained in:
M_Viper 2024-10-18 13:01:44 +00:00
parent 6ad4d3f485
commit 70fca1f6f2
1 changed files with 118 additions and 124 deletions

View File

@ -1,124 +1,118 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/styles.css"> <link rel="stylesheet" href="css/styles.css">
<link rel="icon" type="image/png" href="img/Viper-plex-logo.png"> <link rel="icon" type="image/png" href="img/Viper-plex-logo.png">
<title>Viper-Plex - Meldung von Bugs und Funktionswünschen</title> <title>Viper-Plex - Meldung von Bugs und Funktionswünschen</title>
</head> </head>
<body> <body>
<div class="logo-container"> <div class="logo-container">
<a href="index.html"> <a href="index.html">
<img src="img/Viper-plex-logo.png" alt="Viper-Plex Logo" class="logo"> <img src="img/Viper-plex-logo.png" alt="Viper-Plex Logo" class="logo">
</a> </a>
</div> </div>
<div class="welcome-box"> <div class="welcome-box">
<h1>Willkommen bei Viper-Plex</h1> <h1>Willkommen bei Viper-Plex</h1>
<nav class="navbar"> <nav class="navbar">
<div class="navbar-container"> <div class="navbar-container">
<a href="index.html" class="navbar-link">Home</a> <a href="index.html" class="navbar-link">Home</a>
<a href="wunsch.html" class="navbar-link">Film & Serien Wunsch</a> <a href="wunsch.html" class="navbar-link">Film & Serien Wunsch</a>
<a href="anleitung.html" class="navbar-link">Anleitung</a> <a href="anleitung.html" class="navbar-link">Anleitung</a>
<a href="funktionen.html" class="navbar-link">Funktionen</a> <a href="funktionen.html" class="navbar-link">Funktionen</a>
<a href="faq.html" class="navbar-link">FAQs</a> <a href="faq.html" class="navbar-link">FAQs</a>
<a href="kontakt.html" class="navbar-link">Kontakt</a> <a href="kontakt.html" class="navbar-link">Kontakt</a>
<a href="link.html" class="navbar-link">Links</a> <a href="link.html" class="navbar-link">Links</a>
<a href="report.html" class="navbar-link">Meldungen</a> <a href="report.html" class="navbar-link">Meldungen</a>
<a href="admin.html" class="navbar-link">Admin</a> <a href="admin.html" class="navbar-link">Admin</a>
</div> </div>
</nav> </nav>
<label class="switch"> <label class="switch">
<input type="checkbox" id="dark-mode-toggle"> <input type="checkbox" id="dark-mode-toggle">
<span class="slider"></span> <span class="slider"></span>
</label> </label>
</div> </div>
<div class="container"> <div class="container">
<main> <main>
<h2>Bug oder Funktionswunsch melden</h2> <h2>Bug, Funktionswunsch oder Film Report melden</h2>
<form id="report-form"> <form id="report-form">
<label for="report-type">Typ:</label> <label for="report-type">Typ:</label>
<select id="report-type" required> <select id="report-type" required>
<option value="Bug">Bug</option> <option value="Bug">Bug</option>
<option value="Funktionswunsch">Funktionswunsch</option> <option value="Funktionswunsch">Funktionswunsch</option>
</select> <option value="Film Report">Film Report</option>
</select>
<label for="username">Benutzername:</label>
<input type="text" id="username" placeholder="Benutzername" required> <label for="username">Benutzername:</label>
<input type="text" id="username" placeholder="Benutzername" required>
<label for="message">Nachricht:</label>
<textarea id="message" placeholder="Beschreibe den Bug oder den Funktionswunsch" required></textarea> <label for="message">Nachricht:</label>
<textarea id="message" placeholder="Beschreibe den Bug, den Funktionswunsch oder den Film Report" required></textarea>
<button type="submit">Melden</button>
</form> <button type="submit">Melden</button>
</form>
<!-- Bestätigungsmeldung -->
<div id="confirmation" style="display: none; margin-top: 20px;"> <!-- Bestätigungsmeldung -->
<p>Vielen Dank! Deine Nachricht wurde erfolgreich gesendet.</p> <div id="confirmation" style="display: none; margin-top: 20px;">
</div> <p>Vielen Dank! Deine Nachricht wurde erfolgreich gesendet.</p>
</main> </div>
</div> </main>
</div>
<footer class="footer">
<p>&copy; 2024 Viper-Plex. Alle Rechte vorbehalten.</p> <footer class="footer">
</footer> <p>&copy; 2024 Viper-Plex. Alle Rechte vorbehalten.</p>
</footer>
<div id="changelog-popup" class="popup">
<div class="popup-content"> <script>
<span class="close" id="close-popup">&times;</span> document.getElementById('report-form').addEventListener('submit', function(event) {
<h2>Changelog</h2> event.preventDefault();
<ul id="changelog-list"></ul>
</div> const type = document.getElementById('report-type').value;
</div> const user = { name: document.getElementById('username').value };
const message = document.getElementById('message').value;
<script>
document.getElementById('report-form').addEventListener('submit', function(event) { fetch('/api/submit-report', {
event.preventDefault(); method: 'POST',
headers: { 'Content-Type': 'application/json' },
const type = document.getElementById('report-type').value; body: JSON.stringify({ type, user, message })
const user = { name: document.getElementById('username').value }; })
const message = document.getElementById('message').value; .then(response => response.json())
.then(data => {
fetch('/api/submit-report', { // Bestätigung anzeigen
method: 'POST', document.getElementById('confirmation').style.display = 'block';
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ type, user, message }) // Formular leeren
}) document.getElementById('report-form').reset();
.then(response => response.json())
.then(data => { // Bestätigung nach 5 Sekunden ausblenden
// Bestätigung anzeigen setTimeout(() => {
document.getElementById('confirmation').style.display = 'block'; document.getElementById('confirmation').style.display = 'none';
}, 5000);
// Formular leeren })
document.getElementById('report-form').reset(); .catch(error => {
console.error('Fehler beim Übermitteln des Berichts:', error);
// Bestätigung nach 5 Sekunden ausblenden alert('Es gab ein Problem beim Senden des Berichts. Bitte versuche es später erneut.');
setTimeout(() => { });
document.getElementById('confirmation').style.display = 'none'; });
}, 5000);
}) // Darkmode umschalten
.catch(error => { const toggle = document.getElementById('dark-mode-toggle');
console.error('Fehler beim Übermitteln des Berichts:', error);
alert('Es gab ein Problem beim Senden des Berichts. Bitte versuche es später erneut.'); // Darkmode-Zustand beim Laden der Seite überprüfen und anwenden
}); const darkModeEnabled = localStorage.getItem('darkMode') === 'true';
}); toggle.checked = darkModeEnabled;
// Darkmode umschalten if (darkModeEnabled) {
const toggle = document.getElementById('dark-mode-toggle'); document.body.classList.add('dark-mode');
}
// Darkmode-Zustand beim Laden der Seite überprüfen und anwenden
const darkModeEnabled = localStorage.getItem('darkMode') === 'true'; toggle.addEventListener('change', () => {
toggle.checked = darkModeEnabled; const isChecked = toggle.checked;
if (darkModeEnabled) { document.body.classList.toggle('dark-mode', isChecked);
document.body.classList.add('dark-mode'); // Speichere den Zustand in localStorage
} localStorage.setItem('darkMode', isChecked);
});
toggle.addEventListener('change', () => { </script>
const isChecked = toggle.checked; </body>
document.body.classList.toggle('dark-mode', isChecked); </html>
// Speichere den Zustand in localStorage
localStorage.setItem('darkMode', isChecked);
});
</script>
</body>
</html>