mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2026-02-04 18:45:31 +00:00
267 lines
8.8 KiB
Plaintext
267 lines
8.8 KiB
Plaintext
{{ $model := . }}
|
|
{{/* .result:
|
|
type AlmanachResult struct {
|
|
Entry *dbmodels.Entry
|
|
Places []*dbmodels.Place
|
|
Series []*dbmodels.Series
|
|
Contents []*dbmodels.Content
|
|
Items []*dbmodels.Item
|
|
Agents map[string]*dbmodels.Agent // <- Key is agent id
|
|
EntriesSeries map[string]*dbmodels.REntriesSeries // <- Key is series id
|
|
EntriesAgents []*dbmodels.REntriesAgents
|
|
ContentsAgents map[string][]*dbmodels.RContentsAgents // <- Key is content id
|
|
}
|
|
*/}}
|
|
{{ $isGer := false }}
|
|
{{ $isFra := false }}
|
|
{{ $isEng := false }}
|
|
|
|
{{- $hasContents := $model.result.HasContents -}}
|
|
|
|
|
|
<div class="container-oversize mt-12 pb-0 mb-0">
|
|
<div class="pb-1.5 mx-32 flex flex-row items-center justify-between gap-2">
|
|
<div><i class="ri-book-line"></i> Almanach</div>
|
|
<div class="flex items-center gap-6">
|
|
<!-- Alphabetical Navigation (visible to all users) -->
|
|
<div class="flex items-center gap-3">
|
|
{{- if $model.result.PrevByTitle -}}
|
|
<tool-tip position="top" class="!inline">
|
|
<div class="data-tip">{{ $model.result.PrevByTitle.PreferredTitle }}</div>
|
|
<a
|
|
href="/almanach/{{ $model.result.PrevByTitle.MusenalmID }}/"
|
|
class="text-gray-700 hover:text-slate-950 no-underline">
|
|
<i class="ri-arrow-left-s-line"></i>
|
|
</a>
|
|
</tool-tip>
|
|
{{- end -}}
|
|
<span class="text-gray-800 font-bold no-underline">
|
|
A - Z
|
|
</span>
|
|
{{- if $model.result.NextByTitle -}}
|
|
<tool-tip position="top" class="!inline">
|
|
<div class="data-tip">{{ $model.result.NextByTitle.PreferredTitle }}</div>
|
|
<a
|
|
href="/almanach/{{ $model.result.NextByTitle.MusenalmID }}/"
|
|
class="text-gray-700 hover:text-slate-950 no-underline">
|
|
<i class="ri-arrow-right-s-line"></i>
|
|
</a>
|
|
</tool-tip>
|
|
{{- end -}}
|
|
</div>
|
|
<!-- Edit Button (admin/editor only) -->
|
|
{{- if (IsAdminOrEditor $model.request.user) -}}
|
|
<div>
|
|
<i class="ri-edit-line"></i>
|
|
<a href="/almanach/{{ $model.result.Entry.MusenalmID }}/edit/">Bearbeiten</a>
|
|
</div>
|
|
<div>
|
|
<i class="ri-file-edit-line"></i>
|
|
<a href="/almanach/{{ $model.result.Entry.MusenalmID }}/contents/edit">Beiträge bearbeiten</a>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
<div class="pt-0 {{ if $hasContents -}}contentsentrydata{{- end -}}" id="entrydata">
|
|
<div class="container-normal !py-8">
|
|
<div class="flex flex-col">
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Almanach-Nummer</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.MusenalmID }}</div>
|
|
</div>
|
|
{{- if $model.request.user -}}
|
|
{{ template "_status_display" (Arr $model.result.Entry "almanach") }}
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.PreferredTitle -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Kurztitel</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.PreferredTitle }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.TitleStmt -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Titel</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.TitleStmt }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.ParallelTitle -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Paralleltitel</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.ParallelTitle }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.SubtitleStmt -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Untertitel</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.SubtitleStmt }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.VariantTitle -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Titelvarianten</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.VariantTitle }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.IncipitStmt -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Incipit</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.IncipitStmt }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Jahr</div>
|
|
<div class="fieldvalue">
|
|
{{- if $model.result.Entry.Year -}}
|
|
<a href="/reihen?year={{ $model.result.Entry.Year }}&hidden=true"
|
|
>{{ $model.result.Entry.Year }}</a
|
|
>
|
|
{{- else -}}
|
|
[keine Angabe]
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- if $model.result.Entry.ResponsibilityStmt -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Herausgeberangabe</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.ResponsibilityStmt }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.PublicationStmt -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Publikationsangabe</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.PublicationStmt }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.PlaceStmt -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Ortsangabe</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.PlaceStmt }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.Edition -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Ausgabebezeichnung</div>
|
|
<div class="fieldvalue">{{ $model.result.Entry.Edition }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.Extent -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Umfang</div>
|
|
<div class="fieldvalue">
|
|
<abbrev-tooltips data-text="{{ $model.result.Entry.Extent }}"></abbrev-tooltips>
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.Language -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Sprache</div>
|
|
<div class="fieldvalue">
|
|
{{- range $i, $lang := $model.result.Entry.Language -}}
|
|
{{- if $i }}, {{ end -}}
|
|
{{- $name := LanguageNameGerman $lang -}}
|
|
{{- if $name -}}
|
|
{{ $name }}
|
|
{{- else -}}
|
|
{{ $lang }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.References -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Nachweise</div>
|
|
<div class="fieldvalue">
|
|
{{- $model.result.Entry.References -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Series -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Reihen</div>
|
|
<div class="fieldvalue">
|
|
{{- range $i, $s := $model.result.Series -}}
|
|
<div>
|
|
{{- $rel := index $model.result.EntriesSeries $s.Id -}}
|
|
{{- if $rel -}}
|
|
{{- if not (eq $rel.Type "Bevorzugter Reihentitel") -}}
|
|
<span class="text-sm font-sans mr-2">
|
|
{{- if eq $rel.Type "Früherer Reihentitel" -}}
|
|
hat Titelauflage s.a.
|
|
{{- else if eq $rel.Type "Späterer Reihentitel" -}}
|
|
ist Titelauflage von, s.a.
|
|
{{- else if eq $rel.Type "In anderer Sprache" -}}
|
|
{{- if $isFra -}}
|
|
In deutscher Sprache s.a.
|
|
{{- else -}}
|
|
In französischer Sprache s.a.
|
|
{{- end -}}
|
|
{{- else if eq $rel.Type "Alternatives Titelblatt" -}}
|
|
alternatives Titelblatt, s.a.
|
|
{{- end -}}
|
|
</span>
|
|
{{- end -}}
|
|
{{- end -}}
|
|
<a href="/reihe/{{ $s.MusenalmID }}">{{ $s.Title }}</a>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Places -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Orte</div>
|
|
<div class="fieldvalue">
|
|
{{- range $i, $p := $model.result.Places -}}
|
|
<div>
|
|
<a href="/reihen?place={{ $p.Id }}&hidden=true">{{ $p.Name }}</a>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.EntriesAgents -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Personen</div>
|
|
<div class="fieldvalue">
|
|
{{- range $i, $r := $model.result.EntriesAgents -}}
|
|
{{- $a := index $model.result.Agents $r.Agent -}}
|
|
{{- if $a -}}
|
|
<div>
|
|
<a href="/person/{{ $a.Id }}">
|
|
{{ $a.Name }}
|
|
</a>
|
|
<span
|
|
class="ml-2 px-2 py-0.5 rounded text-sm font-sans bg-slate-200 inline-block">
|
|
{{- $r.Type -}}
|
|
</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $model.result.Entry.Annotation -}}
|
|
<div class="entryrow">
|
|
<div class="fieldlabel">Anmerkungen</div>
|
|
<div class="fieldvalue annotation-content">
|
|
{{- Safe (ReplaceSlashParen $model.result.Entry.Annotation) -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="module">
|
|
let abbrevs = {{- data "abkuerzungen" | SafeJS -}};
|
|
let ats = document.querySelectorAll('abbrev-tooltips');
|
|
if (ats) {
|
|
ats.forEach((at) => {
|
|
at.setAbbrevMap(abbrevs);
|
|
});
|
|
}
|
|
|
|
</script>
|