public/js/script.js aktualisiert

This commit is contained in:
M_Viper 2024-10-22 16:27:30 +00:00
parent b1cecc7baf
commit 8244ac1858
1 changed files with 424 additions and 395 deletions

View File

@ -41,50 +41,77 @@ document.addEventListener('DOMContentLoaded', () => {
}) })
.catch(error => console.error('Fehler beim Abrufen der Bot-Version:', error)); .catch(error => console.error('Fehler beim Abrufen der Bot-Version:', error));
// Funktion, um die neuesten Filme abzurufen async function fetchLatestMovies() {
async function fetchLatestMovies() { try {
try { const response = await fetch('/api/latest-movies'); // API-URL
const response = await fetch('/api/latest-movies'); // API-URL const movies = await response.json(); // Filme abrufen
const movies = await response.json(); // Filme abrufen const moviesList = document.getElementById('movies-list');
const moviesList = document.getElementById('movies-list');
// Leere die Liste, bevor du neue Filme hinzufügst // Leere die Liste, bevor du neue Filme hinzufügst
moviesList.innerHTML = ''; moviesList.innerHTML = '';
// Füge die neuesten Filme zur Liste hinzu // Füge die neuesten Filme zur Liste hinzu
movies.forEach(movie => { movies.forEach(movie => {
const listItem = document.createElement('li'); const listItem = document.createElement('li');
listItem.classList.add('movie-item'); // Füge Klasse hinzu für CSS listItem.classList.add('movie-item'); // Füge Klasse hinzu für CSS
// Erstelle das Coverbild // Erstelle das Coverbild
const coverImage = document.createElement('img'); const coverImage = document.createElement('img');
coverImage.src = movie.coverImage; // URL des Coverbilds coverImage.src = movie.coverImage; // URL des Coverbilds
coverImage.alt = movie.title; // Alternativtext für das Bild coverImage.alt = movie.title; // Alternativtext für das Bild
// Überprüfen, ob das Bild geladen werden kann // Überprüfen, ob das Bild geladen werden kann
coverImage.onerror = () => { coverImage.onerror = () => {
console.error(`Konnte das Bild für ${movie.title} nicht laden: ${coverImage.src}`); console.error(`Konnte das Bild für ${movie.title} nicht laden: ${coverImage.src}`);
coverImage.src = 'fallback-image-url.jpg'; // Fallback-Bild, wenn das Bild nicht geladen werden kann coverImage.src = 'fallback-image-url.jpg'; // Fallback-Bild, wenn das Bild nicht geladen werden kann
}; };
// Füge das Bild zur Liste hinzu // Füge ein Klick-Event hinzu, um das Popup zu öffnen
listItem.appendChild(coverImage); coverImage.addEventListener('click', () => {
moviesList.appendChild(listItem); openMoviePopup(movie); // Popup mit Filminformationen öffnen
}); });
// Animation für das Einblenden der Filme // Füge das Bild zur Liste hinzu
requestAnimationFrame(() => { listItem.appendChild(coverImage);
moviesList.childNodes.forEach((item, index) => { moviesList.appendChild(listItem);
setTimeout(() => {
item.style.opacity = 1; // Opazität für sanftes Einblenden
}, index * 100); // Verzögerung für jeden Film
}); });
});
} catch (error) { // Animation für das Einblenden der Filme
console.error('Fehler beim Abrufen der Filme:', error); requestAnimationFrame(() => {
moviesList.childNodes.forEach((item, index) => {
setTimeout(() => {
item.style.opacity = 1; // Opazität für sanftes Einblenden
}, index * 100); // Verzögerung für jeden Film
});
});
} catch (error) {
console.error('Fehler beim Abrufen der Filme:', error);
}
} }
}
// Funktion zum Öffnen des Popups mit Filmdetails
function openMoviePopup(movie) {
document.getElementById('popup-title').innerText = movie.title; // Titel
document.getElementById('popup-cover').src = movie.coverImage; // Cover
document.getElementById('popup-summary').innerText = movie.summary || "Keine Zusammenfassung verfügbar."; // Zusammenfassung
// Popup anzeigen
document.getElementById('movie-popup').style.display = 'block';
}
// Event Listener zum Schließen des Popups
document.getElementById('close-popup').addEventListener('click', () => {
document.getElementById('movie-popup').style.display = 'none';
});
// Event Listener zum Schließen des Popups, wenn außerhalb des Inhalts geklickt wird
window.addEventListener('click', (event) => {
const popup = document.getElementById('movie-popup');
if (event.target === popup) {
popup.style.display = 'none';
}
});
// Event-Listener für das Formular // Event-Listener für das Formular
document.getElementById('subscribe-form').addEventListener('submit', function(event) { document.getElementById('subscribe-form').addEventListener('submit', function(event) {
@ -130,55 +157,57 @@ document.addEventListener('DOMContentLoaded', () => {
// Changelog-Daten // Changelog-Daten
const changelogData = { const changelogData = {
"changelog": [ "changelog": [
{ {
"version": "1.8.5", "version": "1.8.8", // Hinzugefügte Version
"date": "2024-10-18", "date": "2024-10-21", // Aktuelles Datum
"changes": [ "changes": [
"Dev-Report Filme können jetzt gemeldet werden", "Mehrere Bugfix",
"Backend Notification für Dev-Melungen hinzugefügt", "Genre im Profil hinzugefügt",
"Diverse kleinere Bugfix", "Nachtmodus Zeit in Profil eingebaut"
"Darkmode Bugfix" ]
] },
}, {
{ "version": "1.8.7", // Hinzugefügte Version
"version": "1.8.4", "date": "2024-10-20", // Aktuelles Datum
"date": "2024-10-17", "changes": [
"changes": [ "Fehlerbehebung mit Profil.",
"Backups Passwort schutz", "Nachtmodus komplett überarbeitet.",
"Verbesserter Passwort schutz für Admin Bereich" "Fehler beim Wunsch behoben.",
] "Benutzerlevel erweitert"
}, ]
{ },
"version": "1.8.3", {
"date": "2024-10-17", "version": "1.8.6", // Neue Version hinzufügen
"changes": [ "date": "2024-10-19", // Aktuelles Datum
"Logout Timer hinzugefügt.", "changes": [
"Automatisches Logout bei Inaktivität", "Neue Popup-Funktionalität für Filmcover hinzugefügt.",
"Login-Seite überarbeitet für bessere Benutzerfreundlichkeit.", "Cursor wechselt zu Handzeiger über Filmcover.",
"Darkmode im Adminbereich hinzugefügt." "Rahmenfarbe für das Popup hinzugefügt.",
] "Verschiedene kleinere Bugfixes."
}, ]
{ },
"version": "1.8.2", {
"date": "2024-10-16", "version": "1.8.5",
"changes": [ "date": "2024-10-18",
"Neue FAQ-Seite für Benutzer hinzugefügt.", "changes": [
"Benutzerfreundliche Darstellung der FAQs.", "Dev-Report Filme können jetzt gemeldet werden",
"Verbesserte Performance bei der Datenabfrage.", "Backend Notification für Dev-Melungen hinzugefügt",
"Diverse kleinere Fehlerbehebungen." "Diverse kleinere Bugfix",
] "Darkmode Bugfix"
}, ]
{ },
"version": "1.8.1", {
"date": "2024-10-16", "version": "1.8.4",
"changes": [ "date": "2024-10-17",
"Bugfix mit Darkmode.", "changes": [
"Dev-Report hinzugefügt (Bug-Report & Funktionswünsche)." "Backups Passwort schutz",
] "Verbesserter Passwort schutz für Admin Bereich"
} ]
] }
}; ]
};
// Changelog im Popup anzeigen // Changelog im Popup anzeigen
@ -224,7 +253,6 @@ document.addEventListener('DOMContentLoaded', () => {
}); });
//wunsch html //wunsch html
@ -393,3 +421,4 @@ toggle.addEventListener('change', () => {
//link html --> keine Scripte //link html --> keine Scripte
//funktionen html --> keine Scripte //funktionen html --> keine Scripte