This major update introduces a complete system for visualizing protected areas on the OpenLayers map. It adds a new sync script to process area data and heavily modifies the frontend to support interactive, multi-layer display with custom popups. Additionally, data-sync scripts were refactored to run globally on all configured worlds, simplifying cron automation.
49 lines
2 KiB
Text
Executable file
49 lines
2 KiB
Text
Executable file
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>%%current_page_title%% - %%SITE_TITLE%%</title>
|
|
<link rel="stylesheet" href="%%relative_path_prefix%%/style.css?v=%%CACHE_BUSTER%%">
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v7.0.0/legacy/ol.css" type="text/css">
|
|
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v7.0.0/legacy/ol.js"></script>
|
|
|
|
<script src="https://unpkg.com/ol-layerswitcher@4.1.1"></script>
|
|
<link rel="stylesheet" href="https://unpkg.com/ol-layerswitcher@4.1.1/dist/ol-layerswitcher.css" />
|
|
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const scrollToTopBtn = document.getElementById('scrollToTopBtn');
|
|
if (scrollToTopBtn) {
|
|
window.addEventListener('scroll', function() {
|
|
window.requestAnimationFrame(function() {
|
|
if (window.scrollY > 300) {
|
|
scrollToTopBtn.classList.add('show');
|
|
} else {
|
|
scrollToTopBtn.classList.remove('show');
|
|
}
|
|
});
|
|
});
|
|
scrollToTopBtn.addEventListener('click', function(e) {
|
|
e.preventDefault();
|
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
});
|
|
}
|
|
});
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>%%SITE_TITLE%%</h1>
|
|
<div class="header-separator"></div>
|
|
<nav>
|
|
<ul>
|
|
<li class="%%active_class_home%%"><a href="%%relative_path_prefix%%/index.html">Startseite</a></li>
|
|
<li class="%%active_class_worlds%%"><a href="%%relative_path_prefix%%/worlds.html">Welten</a></li>
|
|
<li class="%%active_class_downloads%%"><a href="%%relative_path_prefix%%/downloads.html">Downloads</a></li>
|
|
</ul>
|
|
</nav>
|
|
</header>
|
|
<div class="header-banner"></div>
|
|
<div class="container">
|