first upload
This commit is contained in:
133
template.html
Executable file
133
template.html
Executable file
@@ -0,0 +1,133 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0">
|
||||
<title>Trashbox</title>
|
||||
<link rel="shortcut icon" href="/logo.png" type="image/png">
|
||||
<link rel="stylesheet" href="/cgi-bin/style.cgi">
|
||||
<meta property="og:image" content="https://home.mashup.su/og.png" />
|
||||
<meta property="og:image:width" content="600" />
|
||||
<meta property="og:image:height" content="315" />
|
||||
<meta property="og:locale" content="ru_RU" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Файлопомойка от RomkaZVO" />
|
||||
<meta property="og:description" content="Моя личная помоечка" />
|
||||
<meta property="og:url" content="https://home.mashup.su/" />
|
||||
<meta property="og:site_name" content="Помойка от RomkaZVO" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="Файлопомойка от RomkaZVO" />
|
||||
<meta name="twitter:description" content="Моя личная помоечка" />
|
||||
<meta name="twitter:image" content="https://home.mashup.su/og.png" />
|
||||
<meta name="description" content="Моя личная помоечка" />
|
||||
<meta name="keywords" content="файлы, обмен, скачать, загрузить" />
|
||||
|
||||
<script>
|
||||
function getCookie(name) {
|
||||
const value = `; ${document.cookie}`;
|
||||
const parts = value.split(`; ${name}=`);
|
||||
if (parts.length === 2) return parts.pop().split(';').shift();
|
||||
}
|
||||
|
||||
(function() {
|
||||
const savedTheme = getCookie('theme');
|
||||
if (savedTheme === 'dark') {
|
||||
document.documentElement.classList.add('dark-theme');
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<button class="theme-toggle" onclick="toggleTheme()">🌙</button>
|
||||
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h1>Trashbox</h1>
|
||||
<div style="margin-top: 0.5rem; opacity: 0.9; font-size: 1.1rem;">
|
||||
Моя личная помоечка
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<!--BREADCRUMB-->
|
||||
<!--CONTENT-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-content">
|
||||
<span>Навайбкодил с любовью ❤️</span>
|
||||
<a href="https://romkazvo.ru" target="_blank" class="footer-link">RomkaZVO</a><br>
|
||||
Сделано при помощи BusyBox httpd и nginx для SSL<br>
|
||||
Боже, храни Китай партия за DeepSeek
|
||||
</div>
|
||||
|
||||
<div id="status" style="margin-top: 1rem; font-size: 0.8rem; opacity: 0.7; line-height: 1.4;">
|
||||
Загрузка статистики...
|
||||
</div>
|
||||
|
||||
<script>
|
||||
fetch('/cgi-bin/status.cgi')
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
document.getElementById('status').innerHTML = data;
|
||||
})
|
||||
.catch(err => {
|
||||
document.getElementById('status').innerHTML = 'Ошибка загрузки статуса';
|
||||
});
|
||||
</script>
|
||||
</footer>
|
||||
|
||||
<button class="scroll-top" onclick="scrollToTop()">↑</button>
|
||||
|
||||
<script>
|
||||
function scrollToTop() {
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener('scroll', function() {
|
||||
const scrollBtn = document.querySelector('.scroll-top');
|
||||
if (window.scrollY > 300) {
|
||||
scrollBtn.classList.add('visible');
|
||||
} else {
|
||||
scrollBtn.classList.remove('visible');
|
||||
}
|
||||
});
|
||||
|
||||
function toggleTheme() {
|
||||
const isDark = document.body.classList.contains('dark-theme');
|
||||
const newTheme = isDark ? 'light' : 'dark';
|
||||
|
||||
document.body.classList.toggle('dark-theme');
|
||||
document.documentElement.classList.toggle('dark-theme');
|
||||
|
||||
const button = document.querySelector('.theme-toggle');
|
||||
button.textContent = isDark ? '🌙' : '☀️';
|
||||
|
||||
const date = new Date();
|
||||
date.setFullYear(date.getFullYear() + 1);
|
||||
document.cookie = `theme=${newTheme}; expires=${date.toUTCString()}; path=/`;
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const savedTheme = getCookie('theme');
|
||||
const button = document.querySelector('.theme-toggle');
|
||||
|
||||
if (savedTheme === 'dark') {
|
||||
document.body.classList.add('dark-theme');
|
||||
button.textContent = '☀️';
|
||||
} else {
|
||||
document.body.classList.remove('dark-theme');
|
||||
button.textContent = '🌙';
|
||||
}
|
||||
|
||||
document.body.classList.add('loaded');
|
||||
});
|
||||
|
||||
document.addEventListener('touchstart', function() {}, { passive: true });
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user