mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2025-10-29 01:05:32 +00:00
BUGFIX: Paginierung Bände
This commit is contained in:
@@ -212,29 +212,36 @@
|
||||
{{- if $model.parameters.IsBaendeSearch -}}
|
||||
<div class="container-normal" id="searchresults">
|
||||
<div class="border-b border-zinc-300 flex flex-row justify-between">
|
||||
<div>
|
||||
<div class="flex flex-row">
|
||||
<div class="inline-block">
|
||||
<i class="ri-hourglass-2-fill request-indicator spinning"></i>
|
||||
</div>
|
||||
<div class="request-indicator">·</div>
|
||||
{{ if $model.parameters.Query -}}
|
||||
Suche nach <b>»{{ $model.parameters.Query }}«</b> ·
|
||||
{{- end -}}
|
||||
{{- if $isAlm -}}
|
||||
Almanach-Nummer <b>»{{ $model.parameters.AlmString }}«</b> ·
|
||||
{{- end -}}
|
||||
<i class="ri-book-line"></i>
|
||||
{{ if eq $model.result.Count 1 -}}
|
||||
Ein Band
|
||||
{{ else -}}
|
||||
{{ $model.result.Count }} Bände
|
||||
{{- end }}
|
||||
in
|
||||
{{ if eq ($model.result.Series | len) 1 -}}
|
||||
einer Reihe
|
||||
{{ else -}}
|
||||
{{ $model.result.Series | len }} Reihen
|
||||
<div>
|
||||
{{ if $model.parameters.Query -}}
|
||||
Suche nach <b>»{{ $model.parameters.Query }}«</b> ·
|
||||
{{- end -}}
|
||||
{{- if $isAlm -}}
|
||||
Almanach-Nummer <b>»{{ $model.parameters.AlmString }}«</b> ·
|
||||
{{- end -}}
|
||||
<i class="ri-book-line"></i>
|
||||
{{ if eq $model.result.Count 1 -}}
|
||||
Ein Band
|
||||
{{ else -}}
|
||||
{{ $model.result.Count }} Bände
|
||||
{{- end }}
|
||||
in
|
||||
{{ if eq ($model.result.Series | len) 1 -}}
|
||||
einer Reihe
|
||||
{{ else -}}
|
||||
{{ $model.result.Series | len }} Reihen
|
||||
{{- end -}}
|
||||
</div>
|
||||
|
||||
{{- if gt (len $model.result.Pages) 1 }}
|
||||
<div> · </div>
|
||||
{{- end -}}
|
||||
{{ template "_pagination" Arr $model "baende" }}
|
||||
</div>
|
||||
|
||||
{{- if not $isAlm -}}
|
||||
@@ -295,6 +302,13 @@
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if $model.result.Hits -}}
|
||||
<div class="flex flex-row justify-end items-start border-t border-zinc-300 pt-4">
|
||||
{{- template "_pagination" Arr $model "baende" -}}
|
||||
</div>
|
||||
{{- else -}}
|
||||
<div class="container-normal">Keine Bände gefunden.</div>
|
||||
{{- end -}}
|
||||
|
||||
<script type="module">
|
||||
let elements = document.querySelectorAll('.search-text');
|
||||
@@ -307,8 +321,4 @@
|
||||
}, 200);
|
||||
</script>
|
||||
</div>
|
||||
|
||||
{{- if not $model.result.Hits -}}
|
||||
<div class="container-normal">Keine Bände gefunden.</div>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
|
||||
{{- if $model.result.Hits -}}
|
||||
<div class="flex flex-row justify-end items-start border-t border-zinc-300 pt-4">
|
||||
{{- template "pagination" $model -}}
|
||||
{{- template "_pagination" Arr $model "beitraege" -}}
|
||||
</div>
|
||||
{{- else -}}
|
||||
<div class="mt-4">Kein Beitrag gefunden.</div>
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
{{ $model := . }}
|
||||
{{- if gt (len $model.result.Pages) 1 }}
|
||||
<div class="[&>_a]:no-underline">
|
||||
{{ if gt $model.parameters.Page 1 -}}
|
||||
<a
|
||||
href="{{- $model.parameters.ToQueryParamsBeitraege -}}&page={{ $model.parameters.Prev }}"
|
||||
hx-indicator="body"
|
||||
class="mr-1.5 text-stone-500 hover:text-slate-900">
|
||||
<i class="ri-arrow-left-long-line"></i>
|
||||
</a>
|
||||
{{- end -}}
|
||||
Seite
|
||||
<b>{{ $model.parameters.Page }} / {{ $model.result.PagesCount }}</b>
|
||||
{{ if lt $model.parameters.Page ($model.result.PagesCount) -}}
|
||||
<a
|
||||
href="{{- $model.parameters.ToQueryParamsBeitraege -}}&page={{ $model.parameters.Next }}"
|
||||
hx-indicator="body"
|
||||
class="ml-1.5 text-stone-500 hover:text-slate-900">
|
||||
<i class="ri-arrow-right-long-line"></i>
|
||||
</a>
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
@@ -49,7 +49,7 @@
|
||||
{{- if gt (len $model.result.Pages) 1 }}
|
||||
<div>·</div>
|
||||
{{- end -}}
|
||||
{{ template "pagination" $model }}
|
||||
{{ template "_pagination" Arr $model "beitraege" }}
|
||||
</div>
|
||||
|
||||
{{- if not $isAlm -}}
|
||||
|
||||
37
views/routes/suche/components/_pagination.gohtml
Normal file
37
views/routes/suche/components/_pagination.gohtml
Normal file
@@ -0,0 +1,37 @@
|
||||
{{ $model := index . 0 }}
|
||||
{{ $type := index . 1 }}
|
||||
|
||||
{{ $queryParams := "./" }}
|
||||
{{ if eq $type "baende" }}
|
||||
{{ $queryParams = $model.parameters.ToQueryParamsBaende }}
|
||||
{{ else }}
|
||||
{{ $queryParams = $model.parameters.ToQueryParamsBeitraege }}
|
||||
{{ end }}
|
||||
|
||||
{{ $filterParams := "" }}
|
||||
{{ if $model.filters }}
|
||||
{{ $filterParams = $model.filters.ToQueryParams }}
|
||||
{{ end }}
|
||||
|
||||
{{- if gt (len $model.result.Pages) 1 }}
|
||||
<div class="[&>_a]:no-underline">
|
||||
{{ if gt $model.parameters.Page 1 -}}
|
||||
<a
|
||||
href="{{- $queryParams -}}{{- $filterParams -}}{{- $model.parameters.SortToQueryParams -}}&page={{ $model.parameters.Prev }}"
|
||||
hx-indicator="body"
|
||||
class="mr-1.5 text-stone-500 hover:text-slate-900">
|
||||
<i class="ri-arrow-left-long-line"></i>
|
||||
</a>
|
||||
{{- end -}}
|
||||
Seite
|
||||
<b>{{ $model.parameters.Page }} / {{ $model.result.PagesCount }}</b>
|
||||
{{ if lt $model.parameters.Page ($model.result.PagesCount) -}}
|
||||
<a
|
||||
href="{{- $queryParams -}}{{- $filterParams -}}{{- $model.parameters.SortToQueryParams -}}&page={{ $model.parameters.Next }}"
|
||||
hx-indicator="body"
|
||||
class="ml-1.5 text-stone-500 hover:text-slate-900">
|
||||
<i class="ri-arrow-right-long-line"></i>
|
||||
</a>
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
Reference in New Issue
Block a user