Schellfilter; bugfixes; Tagewerk; Anfang Ort Controller

This commit is contained in:
Simon Martens
2025-09-24 18:00:33 +02:00
parent 6ddded953b
commit 209da5b509
28 changed files with 2019 additions and 514 deletions

View 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 }}" />

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>