Personen DB Abfragen + Seiten

This commit is contained in:
Simon Martens
2025-02-15 23:33:15 +01:00
parent 0aa8511ef0
commit e8edefa4b4
28 changed files with 949 additions and 65 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1 +1,4 @@
<div class="flex flex-row justify-center mt-8"></div>
<div class="flex flex-row justify-center mt-8 gap-x-2">
<a href="/reihen">Reihen</a>
<a href="/personen/">Personen</a>
</div>

View File

@@ -0,0 +1,3 @@
{{ $model := . }}
{{ $model.entry.TitleStmt }}

View File

@@ -0,0 +1 @@
<title>Musenalm - Reihen</title>

View File

@@ -0,0 +1,21 @@
{{ $model := index . 0 }}
{{ $r := index . 1 }}
<a href="/reihe/{{ $r.MusenalmID }}">{{ $r.Title }}</a>
<div>
{{ Safe $r.Annotation }}
</div>
<div>
{{ $bds := index $model.relations $r.Id }}
{{ if $bds }}
{{ range $_, $rel := $bds }}
{{ $bd := index $model.entries $rel.Entry }}
{{ if $bd }}
<div>
<a href="/almanach/{{ $bd.MusenalmID }}">{{ $bd.Year }}</a>
</div>
{{ end }}
{{ end }}
{{ end }}
</div>

View File

@@ -0,0 +1,4 @@
<h1>Die Seite konnte nicht gefunden werden!</h1>
{{ if .Error }}
<p>{{ .Error }}</p>
{{ end }}

View File

View File

@@ -0,0 +1,22 @@
{{ $model := . }}
{{ if .entries }}
<h2>Bände nach Riehentiteln</h2>
{{ range $id, $r := .series }}
<div>
{{ template "_reihe" (Arr $model $r) }}
</div>
{{ end }}
{{ else }}
<div>Keine Bände</div>
{{ end }}
{{ if .contents }}
<h2>Inhalte</h2>
{{ range $id, $c := .contents }}
<div>
{{ $c.PreferredTitle }}
{{ $c.Numbering }}
</div>
{{ end }}
{{ end }}

View File

View File

@@ -0,0 +1,92 @@
{{ $model := . }}
{{ range $count, $letter := $model.letters }}
<a href="/personen?letter={{ $letter }}{{ if $model.filter }}&filter={{ $model.filter }}{{ end }}"
>{{ $letter }}</a
>
{{ end }}
<input
class="form-control"
type="search"
name="search"
placeholder="Suche"
hx-get="/personen"
hx-trigger="input changed delay:200ms, keyup[key=='Enter']"
hx-select="#agents"
hx-target="#agents" />
<div>
<a href="/personen{{ if .letter }}?letter={{ .letter }}{{ end }}">Alle</a>
<a href="/personen?filter=org{{ if .letter }}&letter={{ .letter }}{{ end }}"
>Verlage u. Druckereien</a
>
<a href="/personen?filter=noorg{{ if .letter }}&letter={{ .letter }}{{ end }}">Personen</a>
<a href="/personen?filter=musik{{ if .letter }}&letter={{ .letter }}{{ end }}">Musiker:innen</a>
<a href="/personen?filter=autor{{ if .letter }}&letter={{ .letter }}{{ end }}">Autor:innen</a>
<a href="/personen?filter=graphik{{ if .letter }}&letter={{ .letter }}{{ end }}"
>Graphiker:innen</a
>
<a href="/personen?filter=hrsg{{ if .letter }}&letter={{ .letter }}{{ end }}"
>Herausgeber:innen</a
>
</div>
<div id="agents">
{{ if or .agents .altagents }}
{{ if .agents }}
<table class="w-full [&_td]:!align-top">
{{ range $count, $agent := .agents }}
<tr>
<td>
<a href="/person/{{ $agent.Id }}">
{{ $agent.Name }}
{{ if $agent.Pseudonyms }}
<br />
({{ $agent.Pseudonyms }})
{{ end }}
</a>
</td>
<td>
{{ if $agent.CorporateBody }}
Körperschaft
{{ else }}
{{ $agent.Profession }},
{{ $agent.BiographicalData }}
{{ end }}
</td>
<td>{{ $agent.References }}</td>
</tr>
{{ end }}
</table>
{{ end }}
{{ if .altagents }}
<table class="w-full mt-6">
{{ range $count, $agent := .altagents }}
<tr>
<td>
{{ $agent.Name }}
{{ if $agent.Pseudonyms }}
<br />
({{ $agent.Pseudonyms }})
{{ end }}
</td>
<td>
{{ if $agent.CorporateBody }}
Körperschaft
{{ else }}
{{ $agent.Profession }},
{{ $agent.BiographicalData }}
{{ end }}
</td>
<td>{{ $agent.References }}</td>
</tr>
{{ end }}
</table>
{{ end }}
{{ else }}
<p>Keine Personen gefunden.</p>
{{ end }}
</div>

View File

View File

@@ -1,3 +1,5 @@
{{ $model := . }}
{{ if .letters }}
<div>
{{ range $id, $r := .letters }}
@@ -6,30 +8,44 @@
</div>
{{ end }}
{{ range $id, $r := .series }}
<div>
<a href="/reihe/{{ $r.MusenalmID }}">{{ $r.Title }}</a>
<div>
{{ Safe $r.Annotation }}
</div>
</div>
{{ end }}
<input
class="form-control"
type="search"
name="search"
placeholder="Suche"
hx-get="/reihen"
hx-trigger="input changed delay:=200ms, keyup[key=='Enter']"
hx-select="#series"
hx-target="#series" />
<div class="flex flex-row">
{{ if .search }}
<div class="mt-8">
{{ range $id, $r := .altseries }}
<div>
<a href="/reihe/{{ $r.MusenalmID }}">{{ $r.Title }}</a>
<div>
{{ Safe $r.Annotation }}
<div id="series">
{{ if or .series .altseries }}
{{ range $id, $r := .series }}
<div class="mb-1.5">
{{ template "_reihe" (Arr $model $r) }}
</div>
{{ end }}
{{ if .search }}
<div class="mt-8">
{{ range $id, $r := .altseries }}
<div class="mb-1.5">
{{ template "_reihe" (Arr $model $r) }}
</div>
</div>
{{ end }}
{{ end }}
</div>
{{ end }}
{{ else }}
<div class="mt-8">
Keine Reihen
{{ if .search }}für {{ .search }}{{ end }}
gefunden.
</div>
{{ end }}
</div>
<div class="flex flex-row">
{{ if .agents }}
<div class="mt-8">
{{ range $id, $r := .agents }}
@@ -65,5 +81,4 @@
{{ end }}
</div>
{{ end }}
</div>