tijl.dev-core/web/views/services.html

78 lines
3.2 KiB
HTML
Raw Permalink Normal View History

2024-09-08 01:01:29 +02:00
<div class="z-[99] mt-4 flex justify-center">
<div class="flex gap-2">
{{range .Services}}
<a href="#{{.Slug}}" id="service-{{.Slug}}" class="group"
onmouseover="this.querySelector('img').style.transform='scale({{incfloat .Scale 1.1}})';"
onmouseout="this.querySelector('img').style.transform='scale({{incfloat .Scale 1}})';">
<div class="relative w-24 h-24 rounded-3xl shadow-2xl" style="background-color: {{.Color}};">
<div class="absolute inset-0 flex items-center justify-center">
<img alt="{{.Name}} logo"
class="text-white transform transition-transform duration-300 drop-shadow-2xl"
style="transform: scale({{incfloat .Scale 1}});" src="/static/assets/{{.Slug}}.svg" />
2024-09-05 00:06:08 +02:00
</div>
2024-09-08 01:01:29 +02:00
</div>
<div id="service-{{.Slug}}-label"
class="w-24 text-center mt-2 -mb-[2px] border-2 border-base-300 rounded-2xl rounded-b-none py-1">
{{.Name}}
</div>
</a>
{{end}}
2024-08-22 23:11:23 +02:00
</div>
2024-09-08 01:01:29 +02:00
</div>
2024-08-31 17:42:51 +02:00
2024-09-08 01:01:29 +02:00
<div class="bg-base-100 rounded-2xl border-base-300 border-2" id="services-info">
{{range .Services}}
<div class="card-body hidden" id="service-{{.Slug}}-info">
<h2 class="card-title">{{.Name}}</h2>
<p>{{.Description}}</p>
<div class="card-actions justify-end">
<a href="/service/{{.Slug}}/info" class="btn">{{$.T.info}}</a>
<a href="/service/{{.Slug}}" class="btn btn-primary">{{$.T.open}}</a>
2024-08-31 17:42:51 +02:00
</div>
2024-08-22 23:11:23 +02:00
</div>
2024-09-08 01:01:29 +02:00
{{end}}
2024-08-22 23:11:23 +02:00
</div>
2024-08-31 17:42:51 +02:00
<script>
function hashChange() {
if (window.location.hash) {
let button = document.getElementById("service-" + window.location.hash.slice(1))
document.querySelectorAll('div[id^="service-"][id$="-info"]').forEach(element => {
if (element.id == button.id + "-info") {
if (element.classList.contains("hidden")) {
element.classList.remove("hidden")
setTimeout(() => {
document.querySelectorAll('a[id^="service-"]').forEach(button2 => {
2024-09-05 00:06:08 +02:00
document.getElementById("service-" + button2.id.slice(8) + "-label").classList.remove("border-b-base-100")
2024-08-31 17:42:51 +02:00
button2.href = "#" + button2.id.slice(8)
})
2024-09-05 00:06:08 +02:00
document.getElementById("service-" + button.id.slice(8) + "-label").classList.add("border-b-base-100")
2024-08-31 17:42:51 +02:00
button.href = "/service/" + button.id.slice(8)
}, 0)
} else {
}
} else {
if (!element.classList.contains("hidden")) {
element.classList.add("hidden")
}
}
})
2024-09-05 20:42:17 +02:00
} else {
window.location = window.location + "#" + `{{.DefaultService}}`
hashChange()
2024-08-31 17:42:51 +02:00
}
}
document.querySelectorAll('a[id^="service-"]').forEach(button => {
button.addEventListener('click', function (event) {
})
})
window.addEventListener('hashchange', function () {
hashChange()
});
hashChange()
</script>