summaryrefslogtreecommitdiff
path: root/views/pages/blog-catalogue.html
diff options
from:
to:
context:
space:
mode:
authorGravatar SayaAndy <montferrat@tuta.io> 2025-08-12 12:46:31 +0700
committerGravatar SayaAndy <montferrat@tuta.io> 2025-08-12 12:46:31 +0700
commit09cb8a09061d1a8d748ca456780a54a99e1decf3 (patch)
tree522354dd2f5ce90aa1b338f464613197a26c689d /views/pages/blog-catalogue.html
parent9c59f786ab7b4dd545f4e45e7866df2fcb7a9c48 (diff)
downloadweb-0.5.3.tar.gz
web-0.5.3.zip
fix: rm small gap (upper-right corner)v0.5.3
fix: correct overflow in blog catalogue fix: better handling of narrow height in blog catalogue feat: include tag count in blog catalogue feat: select all checkboxes on load when none are selected
Diffstat (limited to 'views/pages/blog-catalogue.html')
-rw-r--r--views/pages/blog-catalogue.html36
1 files changed, 19 insertions, 17 deletions
diff --git a/views/pages/blog-catalogue.html b/views/pages/blog-catalogue.html
index 6fe1c82..4cda19d 100644
--- a/views/pages/blog-catalogue.html
+++ b/views/pages/blog-catalogue.html
@@ -1,7 +1,7 @@
{{ define "body" }}
-<div class="flex flex-row ar-lt-0.8:flex-col flex-1 text-[1vmax]">
+<div class="flex flex-row ar-lt-0.8:flex-col max-h-[calc(100%-6vmax)] ar-lt-0.8:max-h-[80%] flex-1 text-[1vmax]">
<form hx-get="/api/v1/blog-search" hx-vals='{"lang": "{{ .Lang }}"}' hx-target=".blog-cards" hx-swap="innerHTML"
- class="tags-list ar-gt-0.8:min-w-[10vh] ar-gt-0.8:max-w-[20vh] ar-gt-0.8:w-fit ar-lt-0.8:w-[100%] flex shrink-0 flex-col ar-gt-0.8:mr-[1.2vmin]">
+ class="tags-list ar-gt-0.8:min-w-[10vh] ar-gt-0.8:max-w-[20vh] ar-gt-0.8:w-fit ar-lt-0.8:w-[100%] flex shrink-0 flex-col overflow-y-auto ar-gt-0.8:mr-[1.2vmin]">
<fieldset>
<legend class="font-bold w-[100%] text-center">{{ .L.BlogSearch.TagsHeader }}</legend>
<div class="flex flex-col ar-lt-0.8:grid grid-cols-5 grid-flow-row-dense gap-[5%]">
@@ -10,7 +10,7 @@
</div>
{{- range .Tags }}
<div>
- <label><input type="checkbox" id="tag{{ . }}Checkbox" name="tags[]" value="{{ . }}" onclick="contextAll();" {{ if contains $.QueryTags . }}checked{{ end }}> {{ . }}</label>
+ <label><input type="checkbox" id="tag{{ .Name }}Checkbox" name="tags[]" value="{{ .Name }}" onclick="contextAll();" {{ if contains $.QueryTags .Name }}checked{{ end }}> {{ .Name }} <span class="text-secondary italic">{{ .Count }}</span></label>
</div>
{{- end }}
</div>
@@ -60,20 +60,6 @@
<script src="https://f003.backblazeb2.com/file/sayana-static/libs/htmx/2.0.6/htmx.min.js"></script>
<script>
- const tagsContainers = document.querySelectorAll('form.tags-list');
- tagsContainers.forEach(tagsContainer => {
- const checkboxes = tagsContainer.querySelectorAll('input[type="checkbox"]');
- anyChecked = false;
- checkboxes.forEach(checkbox => {
- anyChecked = checkbox.checked ? true : anyChecked;
- });
- if (!anyChecked) {
- selectAll();
- }
- });
-</script>
-
-<script>
function selectAll() {
const tagsContainers = document.querySelectorAll('form.tags-list');
tagsContainers.forEach(tagsContainer => {
@@ -137,4 +123,20 @@
document.addEventListener('DOMContentLoaded', contextAll);
</script>
+<script>
+ const tagsContainers = document.querySelectorAll('form.tags-list');
+ tagsContainers.forEach(tagsContainer => {
+ const checkboxes = tagsContainer.querySelectorAll('input[type="checkbox"]');
+ anyChecked = false;
+ checkboxes.forEach(checkbox => {
+ anyChecked = checkbox.checked ? true : anyChecked;
+ });
+ if (!anyChecked) {
+ const selectAllCheckbox = tagsContainer.querySelector('#tagsAllCheckbox');
+ selectAllCheckbox.checked = true;
+ selectAll();
+ }
+ });
+</script>
+
{{ end }}