club-builder/templates/base.html

160 lines
6.2 KiB
HTML

<!doctype html>
<html lang="{{ page.language or 'de' }}">
<head>
<meta charset="utf-8">
<title>{{ page.title }} | Club Daguerre e.V.</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Optional: legacy Jimdo theme CSS (can be removed later if desired) -->
<link rel="stylesheet" href="/static/dg_theme_base.css">
<link rel="stylesheet" href="/static/dg_theme_ab12c3.css">
<!-- Our main theme -->
<link rel="stylesheet" href="/static/css/site.css">
</head>
<body>
<!-- HEADER -->
<header class="cd-header">
<div class="cd-header-inner">
<a href="/" class="cd-logo">
<img src="/static/logo.png" alt="Club Daguerre" class="cd-logo-image">
<span class="cd-site-title">CLUB DAGUERRE E.V.</span>
</a>
<button class="cd-nav-toggle" type="button"
aria-expanded="false"
aria-controls="cd-nav">
<span class="cd-nav-toggle-bar"></span>
<span class="cd-nav-toggle-bar"></span>
<span class="cd-nav-toggle-bar"></span>
</button>
<nav class="cd-nav" id="cd-nav">
<ul class="cd-nav-list">
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'index' else '' }}">
<a href="/">Home</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'der-club' else '' }}">
<a href="/der-club/">Der Club</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'photo-antiquaria' else '' }}">
<a href="/photo-antiquaria/">Photo Antiquaria</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'regionaltreffen' else '' }}">
<a href="/regionaltreffen/">Regionaltreffen</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'jahrestreffen' else '' }}">
<a href="/jahrestreffen/">Jahrestreffen</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'sammlerwissen-kompakt' else '' }}">
<a href="/sammlerwissen-kompakt/">Sammlerwissen kompakt</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'mitglied-werden' else '' }}">
<a href="/mitglied-werden/">Mitglied werden</a>
</li>
<!-- DESKTOP: Mehr as dropdown. MOBILE: items appear inline. -->
<li class="cd-nav-item cd-nav-more">
<span class="cd-nav-more-label">Mehr</span>
<ul class="cd-nav-more-menu">
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'bewahren' else '' }}">
<a href="/bewahren/">Bewahren</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'workshops' else '' }}">
<a href="/workshops/">Workshops</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'nachrichten' else '' }}">
<a href="/nachrichten/">Nachrichten</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'sammelsurium' else '' }}">
<a href="/sammelsurium/">Sammelsurium</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'club-intern' else '' }}">
<a href="/club-intern/">Club intern</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'digitale-dienste' else '' }}">
<a href="/digitale-dienste/">Digitale Dienste</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'ehrenvorsitzender-ehrenmitglieder' else '' }}">
<a href="/ehrenvorsitzender-ehrenmitglieder/">
Ehrenvorsitzender / Ehrenmitglieder
</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'english-language-summary' else '' }}">
<a href="/english-language-summary/">English Language Summary</a>
</li>
<li class="cd-nav-item {{ 'cd-nav-active' if page.slug == 'kontakte' else '' }}">
<a href="/kontakte/">Kontakt</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</header>
<!-- MAIN CONTENT -->
<main class="cd-main">
{% block content %}{% endblock %}
</main>
<!-- FOOTER -->
<footer class="cd-footer">
<div class="cd-footer-inner">
<div>© {{ current_year }} Club Daguerre e.V.</div>
<div class="cd-footer-links">
<a href="/impressum/">Impressum</a>
<a href="/datenschutz/">Datenschutz</a>
<a href="/cookie-einstellungen/">Cookie-Einstellungen</a>
</div>
</div>
</footer>
<script>
(function () {
function init() {
// Mark shell as ready for fade-in (slight delay so initial state is applied)
requestAnimationFrame(function () {
document.body.classList.add('cd-ready');
});
// Mobile nav toggle
var btn = document.querySelector('.cd-nav-toggle');
if (btn) {
btn.addEventListener('click', function () {
var isOpen = document.body.classList.toggle('cd-nav-open');
btn.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
});
}
// Hero image fade-in
var hero = document.querySelector('.block-full-width-image');
if (hero && 'IntersectionObserver' in window) {
var ob = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (entry.isIntersecting) {
hero.classList.add('cd-visible');
ob.disconnect();
}
});
}, { threshold: 0.3 });
ob.observe(hero);
} else if (hero) {
hero.classList.add('cd-visible');
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})();
</script>
</body>
</html>