public/index.html aktualisiert
This commit is contained in:
parent
41812c93f5
commit
a22a773e0a
|
@ -1,297 +1,298 @@
|
||||||
<!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</title>
|
<title>Viper-Plex</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Logo separat einfügen -->
|
<!-- Logo separat einfügen -->
|
||||||
<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>
|
||||||
<div class="movies-box">
|
<div class="movies-box">
|
||||||
<h2>Neueste Filme</h2>
|
<h2>Neueste Filme</h2>
|
||||||
<ul id="movies-list"></ul>
|
<ul id="movies-list"></ul>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<aside class="sidebar">
|
<aside class="sidebar">
|
||||||
<div class="newsletter-box">
|
<div class="newsletter-box">
|
||||||
<h2>Newsletter Anmeldung</h2>
|
<h2>Newsletter Anmeldung</h2>
|
||||||
<form id="subscribe-form">
|
<form id="subscribe-form">
|
||||||
<input type="email" id="email" placeholder="E-Mail-Adresse" required>
|
<input type="email" id="email" placeholder="E-Mail-Adresse" required>
|
||||||
<input type="text" id="username" placeholder="Benutzername" required>
|
<input type="text" id="username" placeholder="Benutzername" required>
|
||||||
<button type="submit">Anmelden</button>
|
<button type="submit">Anmelden</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="gitea-box">
|
<div class="gitea-box">
|
||||||
<p>Sieh dir den Code auf <a href="https://git.viper.ipv64.net/M_Viper/Plex-Telegram-Bot" target="_blank">Gitea</a> an!</p>
|
<p>Sieh dir den Code auf <a href="https://git.viper.ipv64.net/M_Viper/Plex-Telegram-Bot" target="_blank">Gitea</a> an!</p>
|
||||||
<p>Aktuelle Version: <span id="bot-version"></span></p>
|
<p>Aktuelle Version: <span id="bot-version"></span></p>
|
||||||
<div class="telegram-connect-box">
|
<div class="telegram-connect-box">
|
||||||
<p>Verbinde dich mit unserem Telegram-Bot!</p>
|
<p>Verbinde dich mit unserem Telegram-Bot!</p>
|
||||||
<a id="telegram-link" href="#" target="_blank">Jetzt verbinden</a>
|
<a id="telegram-link" href="#" target="_blank">Jetzt verbinden</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<p>© 2024 Viper-Plex. Alle Rechte vorbehalten.</p>
|
<p>© 2024 Viper-Plex. Alle Rechte vorbehalten.</p>
|
||||||
<span id="changelog-icon" style="cursor: pointer;">❓</span>
|
<span id="changelog-icon" style="cursor: pointer;">❓</span>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<div id="changelog-popup" class="popup">
|
<div id="changelog-popup" class="popup">
|
||||||
<div class="popup-content">
|
<div class="popup-content">
|
||||||
<span class="close" id="close-popup">×</span>
|
<span class="close" id="close-popup">×</span>
|
||||||
<h2>Changelog</h2>
|
<h2>Changelog</h2>
|
||||||
<ul id="changelog-list"></ul>
|
<ul id="changelog-list"></ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Funktion, um die Umgebungsvariablen abzurufen
|
// Funktion, um die Umgebungsvariablen abzurufen
|
||||||
const fetchEnvVariables = async () => {
|
const fetchEnvVariables = async () => {
|
||||||
const response = await fetch('/api/env');
|
const response = await fetch('/api/env');
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
||||||
document.getElementById('bot-alias').textContent = data.botAlias;
|
document.getElementById('bot-alias').textContent = data.botAlias;
|
||||||
document.getElementById('telegram-link').href = data.telegramLink;
|
document.getElementById('telegram-link').href = data.telegramLink;
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
fetch('/api/telegram-link') // API-Endpunkt zum Abrufen des Telegram-Links
|
fetch('/api/telegram-link') // API-Endpunkt zum Abrufen des Telegram-Links
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const telegramLink = document.getElementById('telegram-link');
|
const telegramLink = document.getElementById('telegram-link');
|
||||||
telegramLink.href = data.link; // Setze den Link im Anchor-Tag
|
telegramLink.href = data.link; // Setze den Link im Anchor-Tag
|
||||||
})
|
})
|
||||||
.catch(error => console.error('Fehler beim Abrufen des Telegram-Links:', error));
|
.catch(error => console.error('Fehler beim Abrufen des Telegram-Links:', error));
|
||||||
|
|
||||||
// Version abrufen
|
// Version abrufen
|
||||||
fetch('/api/bot-version')
|
fetch('/api/bot-version')
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const botVersion = document.getElementById('bot-version');
|
const botVersion = document.getElementById('bot-version');
|
||||||
botVersion.textContent = data.version; // Setze die Versionsnummer
|
botVersion.textContent = data.version; // Setze die Versionsnummer
|
||||||
})
|
})
|
||||||
.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
|
// 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 das Bild zur Liste hinzu
|
||||||
listItem.appendChild(coverImage);
|
listItem.appendChild(coverImage);
|
||||||
moviesList.appendChild(listItem);
|
moviesList.appendChild(listItem);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Animation für das Einblenden der Filme
|
// Animation für das Einblenden der Filme
|
||||||
requestAnimationFrame(() => {
|
requestAnimationFrame(() => {
|
||||||
moviesList.childNodes.forEach((item, index) => {
|
moviesList.childNodes.forEach((item, index) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
item.style.opacity = 1; // Opazität für sanftes Einblenden
|
item.style.opacity = 1; // Opazität für sanftes Einblenden
|
||||||
}, index * 100); // Verzögerung für jeden Film
|
}, index * 100); // Verzögerung für jeden Film
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Fehler beim Abrufen der Filme:', error);
|
console.error('Fehler beim Abrufen der Filme:', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const email = document.getElementById('email').value;
|
const email = document.getElementById('email').value;
|
||||||
const username = document.getElementById('username').value;
|
const username = document.getElementById('username').value;
|
||||||
|
|
||||||
// Generiere eine Dummy-Chat-ID
|
// Generiere eine Dummy-Chat-ID
|
||||||
const chatId = Math.floor(Math.random() * 1000000); // Zufällige Zahl zwischen 0 und 999999
|
const chatId = Math.floor(Math.random() * 1000000); // Zufällige Zahl zwischen 0 und 999999
|
||||||
|
|
||||||
fetch('/subscribe', {
|
fetch('/subscribe', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ email, chatId, username })
|
body: JSON.stringify({ email, chatId, username })
|
||||||
})
|
})
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(data => alert(data))
|
.then(data => alert(data))
|
||||||
.catch(error => alert('Fehler: ' + error));
|
.catch(error => alert('Fehler: ' + error));
|
||||||
});
|
});
|
||||||
|
|
||||||
// Darkmode umschalten
|
// Darkmode umschalten
|
||||||
const toggle = document.getElementById('dark-mode-toggle');
|
const toggle = document.getElementById('dark-mode-toggle');
|
||||||
|
|
||||||
// Darkmode-Zustand beim Laden der Seite überprüfen und anwenden
|
// Darkmode-Zustand beim Laden der Seite überprüfen und anwenden
|
||||||
const darkModeEnabled = localStorage.getItem('darkMode') === 'true';
|
const darkModeEnabled = localStorage.getItem('darkMode') === 'true';
|
||||||
toggle.checked = darkModeEnabled;
|
toggle.checked = darkModeEnabled;
|
||||||
if (darkModeEnabled) {
|
if (darkModeEnabled) {
|
||||||
document.body.classList.add('dark-mode');
|
document.body.classList.add('dark-mode');
|
||||||
}
|
}
|
||||||
|
|
||||||
toggle.addEventListener('change', () => {
|
toggle.addEventListener('change', () => {
|
||||||
const isChecked = toggle.checked;
|
const isChecked = toggle.checked;
|
||||||
document.body.classList.toggle('dark-mode', isChecked);
|
document.body.classList.toggle('dark-mode', isChecked);
|
||||||
// Speichere den Zustand in localStorage
|
// Speichere den Zustand in localStorage
|
||||||
localStorage.setItem('darkMode', isChecked);
|
localStorage.setItem('darkMode', isChecked);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Beim Laden der Seite die neuesten Filme abrufen
|
// Beim Laden der Seite die neuesten Filme abrufen
|
||||||
window.onload = fetchLatestMovies;
|
window.onload = fetchLatestMovies;
|
||||||
|
|
||||||
// Aktualisiere die Filme jede Minute (60000 Millisekunden)
|
// Aktualisiere die Filme jede Minute (60000 Millisekunden)
|
||||||
setInterval(fetchLatestMovies, 60000);
|
setInterval(fetchLatestMovies, 60000);
|
||||||
|
|
||||||
// Changelog-Daten
|
// Changelog-Daten
|
||||||
const changelogData = {
|
const changelogData = {
|
||||||
"changelog": [
|
"changelog": [
|
||||||
{
|
{
|
||||||
"version": "1.8.4",
|
"version": "1.8.4",
|
||||||
"date": "2024-10-17",
|
"date": "2024-10-17",
|
||||||
"changes": [
|
"changes": [
|
||||||
"Backups Passwort schutz"
|
"Backups Passwort schutz",
|
||||||
]
|
"Verbesserter Passwort schutz für Frontend"
|
||||||
},
|
]
|
||||||
{
|
},
|
||||||
"version": "1.8.3",
|
{
|
||||||
"date": "2024-10-17",
|
"version": "1.8.3",
|
||||||
"changes": [
|
"date": "2024-10-17",
|
||||||
"Logout Timer hinzugefügt.",
|
"changes": [
|
||||||
"Automatisches Logout bei Inaktivität",
|
"Logout Timer hinzugefügt.",
|
||||||
"Login-Seite überarbeitet für bessere Benutzerfreundlichkeit.",
|
"Automatisches Logout bei Inaktivität",
|
||||||
"Darkmode im Adminbereich hinzugefügt."
|
"Login-Seite überarbeitet für bessere Benutzerfreundlichkeit.",
|
||||||
]
|
"Darkmode im Adminbereich hinzugefügt."
|
||||||
},
|
]
|
||||||
{
|
},
|
||||||
"version": "1.8.2",
|
{
|
||||||
"date": "2024-10-16",
|
"version": "1.8.2",
|
||||||
"changes": [
|
"date": "2024-10-16",
|
||||||
"Neue FAQ-Seite für Benutzer hinzugefügt.",
|
"changes": [
|
||||||
"Benutzerfreundliche Darstellung der FAQs.",
|
"Neue FAQ-Seite für Benutzer hinzugefügt.",
|
||||||
"Verbesserte Performance bei der Datenabfrage.",
|
"Benutzerfreundliche Darstellung der FAQs.",
|
||||||
"Diverse kleinere Fehlerbehebungen."
|
"Verbesserte Performance bei der Datenabfrage.",
|
||||||
]
|
"Diverse kleinere Fehlerbehebungen."
|
||||||
},
|
]
|
||||||
{
|
},
|
||||||
"version": "1.8.1",
|
{
|
||||||
"date": "2024-10-16",
|
"version": "1.8.1",
|
||||||
"changes": [
|
"date": "2024-10-16",
|
||||||
"Bugfix mit Darkmode.",
|
"changes": [
|
||||||
"Dev-Report hinzugefügt (Bug-Report & Funktionswünsche)."
|
"Bugfix mit Darkmode.",
|
||||||
]
|
"Dev-Report hinzugefügt (Bug-Report & Funktionswünsche)."
|
||||||
},
|
]
|
||||||
{
|
},
|
||||||
"version": "1.8.0",
|
{
|
||||||
"date": "2024-10-14",
|
"version": "1.8.0",
|
||||||
"changes": [
|
"date": "2024-10-14",
|
||||||
"Neue Funktionen hinzugefügt.",
|
"changes": [
|
||||||
"Verbesserte Benutzeroberfläche für die Admin-Seite.",
|
"Neue Funktionen hinzugefügt.",
|
||||||
"Optimierungen im Bot für schnellere Reaktionen."
|
"Verbesserte Benutzeroberfläche für die Admin-Seite.",
|
||||||
]
|
"Optimierungen im Bot für schnellere Reaktionen."
|
||||||
},
|
]
|
||||||
{
|
},
|
||||||
"version": "1.7.9",
|
{
|
||||||
"date": "2024-10-10",
|
"version": "1.7.9",
|
||||||
"changes": [
|
"date": "2024-10-10",
|
||||||
"Fehlerbehebungen und Optimierungen.",
|
"changes": [
|
||||||
"Verbesserte Sicherheit der Benutzerdaten.",
|
"Fehlerbehebungen und Optimierungen.",
|
||||||
"Aktualisierte Dokumentation."
|
"Verbesserte Sicherheit der Benutzerdaten.",
|
||||||
]
|
"Aktualisierte Dokumentation."
|
||||||
}
|
]
|
||||||
]
|
}
|
||||||
};
|
]
|
||||||
|
};
|
||||||
|
|
||||||
// Changelog im Popup anzeigen
|
|
||||||
const changelogList = document.getElementById('changelog-list');
|
// Changelog im Popup anzeigen
|
||||||
|
const changelogList = document.getElementById('changelog-list');
|
||||||
changelogData.changelog.forEach(entry => {
|
|
||||||
const changelogItem = document.createElement('div');
|
changelogData.changelog.forEach(entry => {
|
||||||
changelogItem.classList.add('changelog-entry'); // Füge eine Klasse für das Styling hinzu
|
const changelogItem = document.createElement('div');
|
||||||
|
changelogItem.classList.add('changelog-entry'); // Füge eine Klasse für das Styling hinzu
|
||||||
changelogItem.innerHTML = `
|
|
||||||
<strong>Version ${entry.version} (${entry.date}):</strong>
|
changelogItem.innerHTML = `
|
||||||
<ul>
|
<strong>Version ${entry.version} (${entry.date}):</strong>
|
||||||
${entry.changes.map(change => `<li>${change}</li>`).join('')}
|
<ul>
|
||||||
</ul>
|
${entry.changes.map(change => `<li>${change}</li>`).join('')}
|
||||||
`;
|
</ul>
|
||||||
changelogList.appendChild(changelogItem);
|
`;
|
||||||
});
|
changelogList.appendChild(changelogItem);
|
||||||
|
});
|
||||||
// Changelog-Popup-Elemente
|
|
||||||
const changelogIcon = document.getElementById('changelog-icon');
|
// Changelog-Popup-Elemente
|
||||||
const popup = document.getElementById('changelog-popup');
|
const changelogIcon = document.getElementById('changelog-icon');
|
||||||
const closePopup = document.getElementById('close-popup');
|
const popup = document.getElementById('changelog-popup');
|
||||||
|
const closePopup = document.getElementById('close-popup');
|
||||||
// Popup öffnen
|
|
||||||
changelogIcon.addEventListener('click', () => {
|
// Popup öffnen
|
||||||
popup.style.display = 'block';
|
changelogIcon.addEventListener('click', () => {
|
||||||
document.body.classList.toggle('dark-mode', toggle.checked); // Darkmode bei Popup-Anzeige aktivieren
|
popup.style.display = 'block';
|
||||||
});
|
document.body.classList.toggle('dark-mode', toggle.checked); // Darkmode bei Popup-Anzeige aktivieren
|
||||||
|
});
|
||||||
// Popup schließen
|
|
||||||
closePopup.addEventListener('click', () => {
|
// Popup schließen
|
||||||
popup.style.display = 'none';
|
closePopup.addEventListener('click', () => {
|
||||||
document.body.classList.toggle('dark-mode', toggle.checked); // Darkmode wieder zurücksetzen
|
popup.style.display = 'none';
|
||||||
});
|
document.body.classList.toggle('dark-mode', toggle.checked); // Darkmode wieder zurücksetzen
|
||||||
|
});
|
||||||
// Klick außerhalb des Popups schließt es
|
|
||||||
window.addEventListener('click', (event) => {
|
// Klick außerhalb des Popups schließt es
|
||||||
if (event.target === popup) {
|
window.addEventListener('click', (event) => {
|
||||||
popup.style.display = 'none';
|
if (event.target === popup) {
|
||||||
document.body.classList.toggle('dark-mode', toggle.checked); // Darkmode wieder zurücksetzen
|
popup.style.display = 'none';
|
||||||
}
|
document.body.classList.toggle('dark-mode', toggle.checked); // Darkmode wieder zurücksetzen
|
||||||
});
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
</script>
|
|
||||||
</body>
|
</script>
|
||||||
</html>
|
</body>
|
||||||
|
</html>
|
||||||
|
|
Loading…
Reference in New Issue