mirror of
https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
synced 2025-10-29 17:15:31 +00:00
Schellfilter; bugfixes; Tagewerk; Anfang Ort Controller
This commit is contained in:
28
views/layouts/components/_head.gohtml
Normal file
28
views/layouts/components/_head.gohtml
Normal file
@@ -0,0 +1,28 @@
|
||||
<meta charset="UTF-8" />
|
||||
|
||||
{{ block "head" . }}
|
||||
<!-- Default Head elements -->
|
||||
{{ end }}
|
||||
|
||||
{{ if .isDev }}
|
||||
<link rel="icon" href="/assets/logo/dev_favicon.png" />
|
||||
{{ else }}
|
||||
<link rel="icon" href="/assets/logo/favicon.png" />
|
||||
{{ end }}
|
||||
|
||||
|
||||
<link href="/assets/css/remixicon.css" rel="stylesheet" />
|
||||
<script src="/assets/scripts.js" type="module"></script>
|
||||
<script src="/assets/js/htmx.min.js" defer></script>
|
||||
<script src="/assets/js/htmx-response-targets.js" defer></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
if (typeof htmx !== 'undefined') {
|
||||
htmx.config.scrollBehavior = 'instant';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script src="/assets/js/alpine.min.js" defer></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/css/fonts.css?v={{ .timestamp }}" />
|
||||
<link rel="stylesheet" type="text/css" href="/assets/style.css?v={{ .timestamp }}" />
|
||||
@@ -5,8 +5,12 @@
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<nav>
|
||||
<nav class="relative">
|
||||
{{ block "_menu" . }}
|
||||
{{ end }}
|
||||
</nav>
|
||||
|
||||
<!-- Filter Expansion Container -->
|
||||
<div id="filter-container" class="mt-6 hidden">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,14 @@
|
||||
<div class="flex flex-row justify-center mt-12 mb-8">
|
||||
<!-- Schnellfilter Button -->
|
||||
<div>
|
||||
<button
|
||||
id="filter-toggle"
|
||||
class="mr-2 text-lg border px-4 h-full hover:bg-slate-200 transition-colors cursor-pointer"
|
||||
title="Schnellfilter öffnen/schließen">
|
||||
<i class="ri-filter-2-line"></i> <div class="inline-block text-lg">Schnellauswahl</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="w-6/12">
|
||||
<input
|
||||
type="search"
|
||||
@@ -14,7 +24,7 @@
|
||||
|
||||
<div x-data="{ open: false }">
|
||||
<button
|
||||
class="ml-2 text-2xl border px-4 h-full"
|
||||
class="ml-2 text-2xl border px-4 h-full hover:bg-slate-200 transition-colors cursor-pointer"
|
||||
:class="open? 'open bg-slate-200' : 'closed'"
|
||||
@click="open = !open">
|
||||
<i class="ri-menu-line"></i>
|
||||
@@ -38,14 +48,3 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.body.addEventListener("htmx:configRequest", function (event) {
|
||||
console.log("Before request event triggered");
|
||||
let t = event.detail.elt; // Get the element triggering the request
|
||||
|
||||
if (t.id === "search" && t.value === "") {
|
||||
event.detail.parameters = {};
|
||||
event.detail.path = window.location.pathname + window.location.search;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -1,63 +1,31 @@
|
||||
<!doctype html>
|
||||
<html class="w-full h-full" {{ if .lang }}lang="{{ .lang }}"{{ end }}>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
||||
{{ block "head" . }}
|
||||
<!-- Default Head elements -->
|
||||
{{ end }}
|
||||
|
||||
{{ if .isDev }}
|
||||
<link rel="icon" href="/assets/logo/dev_favicon.png" />
|
||||
{{ else }}
|
||||
<link rel="icon" href="/assets/logo/favicon.png" />
|
||||
{{ end }}
|
||||
|
||||
|
||||
<link href="/assets/css/remixicon.css" rel="stylesheet" />
|
||||
<script>
|
||||
// Configure HTMX scroll behavior
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
if (typeof htmx !== 'undefined') {
|
||||
htmx.config.scrollBehavior = 'instant';
|
||||
}
|
||||
});
|
||||
// Fallback configuration
|
||||
window.addEventListener('load', function() {
|
||||
if (typeof htmx !== 'undefined') {
|
||||
htmx.config.scrollBehavior = 'instant';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script src="/assets/js/alpine.min.js" defer></script>
|
||||
<script src="/assets/js/htmx.min.js" defer></script>
|
||||
<script src="/assets/js/htmx-response-targets.js" defer></script>
|
||||
<script src="/assets/js/client-side-templates.js" defer></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/css/fonts.css?v=1.0" />
|
||||
<link rel="stylesheet" type="text/css" href="/assets/style.css?v=1.0" />
|
||||
|
||||
<script type="module">
|
||||
import { setup } from "/assets/scripts.js";
|
||||
setup();
|
||||
</script>
|
||||
{{ template "_head" . }}
|
||||
</head>
|
||||
|
||||
<body class="w-full" hx-ext="response-targets" hx-boost="true">
|
||||
<body class="w-full"
|
||||
hx-ext="response-targets"
|
||||
hx-boost="true"
|
||||
hx-swap="outerHTML show:window:top"
|
||||
hx-select="main"
|
||||
hx-target="main"
|
||||
hx-target-4="#error-content"
|
||||
hx-target-5="#error-content"
|
||||
>
|
||||
{{ template "_header" . }}
|
||||
<div class="container flex flex-col min-h-screen max-w-(--breakpoint-2xl) mx-auto">
|
||||
<main class="">
|
||||
{{ block "body" . }}
|
||||
<!-- Default app body... -->
|
||||
{{ end }}
|
||||
</main>
|
||||
</div>
|
||||
{{ block "_footer" . }}
|
||||
{{ end }}
|
||||
<main class="container flex flex-col min-h-screen max-w-(--breakpoint-2xl) mx-auto">
|
||||
{{ block "body" . }}
|
||||
<!-- Default app body... -->
|
||||
{{ end }}
|
||||
</main>
|
||||
{{ template "_footer" . }}
|
||||
|
||||
<!-- Scroll to Top Button -->
|
||||
<scroll-to-top-button></scroll-to-top-button>
|
||||
|
||||
{{ EmbedXSLT "xslt/transform-citation.xsl" }}
|
||||
<!-- Error Modal Web Component -->
|
||||
<error-modal></error-modal>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,35 +1,18 @@
|
||||
<!doctype html>
|
||||
<html class="w-full h-full" {{ if .lang }}lang="{{ .lang }}"{{ end }}>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
||||
{{ block "head" . }}
|
||||
<!-- Default Head elements -->
|
||||
{{ end }}
|
||||
|
||||
{{ if .isDev }}
|
||||
<link rel="icon" href="/assets/logo/dev_favicon.png" />
|
||||
{{ else }}
|
||||
<link rel="icon" href="/assets/logo/favicon.png" />
|
||||
{{ end }}
|
||||
|
||||
|
||||
<link href="/assets/css/remixicon.css" rel="stylesheet" />
|
||||
<script src="/assets/js/alpine.min.js" defer></script>
|
||||
<script src="/assets/js/htmx.min.js" defer></script>
|
||||
<script src="/assets/js/htmx-response-targets.js" defer></script>
|
||||
<script src="/assets/js/client-side-templates.js" defer></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/css/fonts.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/assets/style.css" />
|
||||
|
||||
<script type="module">
|
||||
import { setup } from "/assets/scripts.js";
|
||||
setup();
|
||||
</script>
|
||||
{{ template "_head" . }}
|
||||
</head>
|
||||
|
||||
<body class="w-full" hx-ext="response-targets" hx-boost="true">
|
||||
<body class="w-full"
|
||||
hx-ext="response-targets"
|
||||
hx-boost="true"
|
||||
hx-swap="outerHTML show:window:top"
|
||||
hx-select="main"
|
||||
hx-target="main"
|
||||
hx-target-4="#error-content"
|
||||
hx-target-5="#error-content"
|
||||
>
|
||||
<div class="flex flex-col min-h-screen">
|
||||
<!-- Header and menu with constrained width -->
|
||||
{{ template "_header" . }}
|
||||
@@ -42,15 +25,11 @@
|
||||
{{ end }}
|
||||
</main>
|
||||
|
||||
<!-- Footer with constrained width -->
|
||||
<div class="container max-w-(--breakpoint-2xl) mx-auto">
|
||||
<footer>
|
||||
{{ block "_footer" . }}
|
||||
{{ end }}
|
||||
</footer>
|
||||
</div>
|
||||
{{ template "_footer" . }}
|
||||
</div>
|
||||
|
||||
{{ EmbedXSLT "xslt/transform-citation.xsl" }}
|
||||
<!-- Error Modal Web Component -->
|
||||
<error-modal></error-modal>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user