Refactored Startpage

This commit is contained in:
Simon Martens
2025-02-26 16:06:29 +01:00
parent 8f664d24ca
commit cf6d4a59ed
15 changed files with 354 additions and 603 deletions

View File

@@ -44,156 +44,164 @@
{{- end -}}
</div>
<div class="container-normal mt-12" id="">
<div class="flex flex-col" id="entrydata">
<div class="entryrow">
<div class="fieldlabel">Almanach-Nummer</div>
<div class="fieldvalue">{{ $model.result.Entry.MusenalmID }}</div>
<div class="container-oversize mt-12">
<div class="pb-1.5 ml-32"><i class="ri-book-line"></i> Almanach</div>
<div class=" border relative pt-0">
<div class="ml-32 relative pt-2 bg-stone-50 mt-0 w-max flex flex-col">
</div>
{{- 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 -}}
<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]
<div class="container-normal !py-8" id="">
<div class="flex flex-col" id="entrydata">
<div class="entryrow">
<div class="fieldlabel">Almanach-Nummer</div>
<div class="fieldvalue">{{ $model.result.Entry.MusenalmID }}</div>
</div>
{{- 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 -}}
<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.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 -}}
{{- if eq $lang "ger" -}}
{{ $isGer = true }}
Deutsch
{{- else if eq $lang "eng" -}}
{{ $isEng = true }}
Englisch
{{- else if eq $lang "fre" -}}
{{ $isFra = true }}
Französisch
{{- else if eq $lang "ita" -}}
Italienisch
{{- else if eq $lang "lat" -}}
Latein
{{- 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">
{{- Safe (ReplaceSlashParen $model.result.Entry.Annotation) -}}
</div>
</div>
{{- end -}}
</div>
</div>
{{- if $model.result.Entry.ResponsibilityStmt -}}
<div class="entryrow">
<div class="fieldlabel">Herausgeber</div>
<div class="fieldvalue">{{ $model.result.Entry.ResponsibilityStmt }}</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 -}}
{{- if eq $lang "ger" -}}
{{ $isGer = true }}
Deutsch
{{- else if eq $lang "eng" -}}
{{ $isEng = true }}
Englisch
{{- else if eq $lang "fre" -}}
{{ $isFra = true }}
Französisch
{{- else if eq $lang "ita" -}}
Italienisch
{{- else if eq $lang "lat" -}}
Latein
{{- 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">
{{- Safe (ReplaceSlashParen $model.result.Entry.Annotation) -}}
</div>
</div>
{{- end -}}
</div>
</div>
@@ -207,3 +215,4 @@
}
</script>
</div>

View File

@@ -18,7 +18,7 @@
<div class="container-normal flex flex-col font-serif mt-12">
<div class="font-sans">
<svg
{{/* <svg
class="w-[0.9rem] h-[0.9rem] relative bottom-[0.04rem] inline-block"
width="65px"
height="65px"
@@ -30,15 +30,17 @@
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
<g id="SVGRepo_iconCarrier">
<g id="🔍-Product-Icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="ic_fluent_library_28_filled" fill="currentColor" fill-rule="nonzero">
<path
d="M5.9897,3 C7.0937,3 7.9897,3.896 7.9897,5 L7.9897,23 C7.9897,24.104 7.0937,25 5.9897,25 L4.0007,25 C2.8957,25 2.0007,24.104 2.0007,23 L2.0007,5 C2.0007,3.896 2.8957,3 4.0007,3 L5.9897,3 Z M12.9897,3 C14.0937,3 14.9897,3.896 14.9897,5 L14.9897,23 C14.9897,24.104 14.0937,25 12.9897,25 L10.9947,25 C9.8897,25 8.9947,24.104 8.9947,23 L8.9947,5 C8.9947,3.896 9.8897,3 10.9947,3 L12.9897,3 Z M22.0701,6.5432 L25.9301,22.0262 C26.1971,23.0972 25.5441,24.1832 24.4731,24.4512 L22.5101,24.9402 C21.4391,25.2072 20.3531,24.5552 20.0861,23.4832 L16.2261,8.0002 C15.9581,6.9282 16.6111,5.8432 17.6821,5.5752 L19.6451,5.0862 C20.7161,4.8182 21.8021,5.4712 22.0701,6.5432 Z"
id="🎨-Color"></path>
</g>
</g>
<g id="🔍-Product-Icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="ic_fluent_library_28_filled" fill="currentColor" fill-rule="nonzero">
<path
d="M5.9897,3 C7.0937,3 7.9897,3.896 7.9897,5 L7.9897,23 C7.9897,24.104 7.0937,25 5.9897,25 L4.0007,25 C2.8957,25 2.0007,24.104 2.0007,23 L2.0007,5 C2.0007,3.896 2.8957,3 4.0007,3 L5.9897,3 Z M12.9897,3 C14.0937,3 14.9897,3.896 14.9897,5 L14.9897,23 C14.9897,24.104 14.0937,25 12.9897,25 L10.9947,25 C9.8897,25 8.9947,24.104 8.9947,23 L8.9947,5 C8.9947,3.896 9.8897,3 10.9947,3 L12.9897,3 Z M22.0701,6.5432 L25.9301,22.0262 C26.1971,23.0972 25.5441,24.1832 24.4731,24.4512 L22.5101,24.9402 C21.4391,25.2072 20.3531,24.5552 20.0861,23.4832 L16.2261,8.0002 C15.9581,6.9282 16.6111,5.8432 17.6821,5.5752 L19.6451,5.0862 C20.7161,4.8182 21.8021,5.4712 22.0701,6.5432 Z"
id="🎨-Color"></path>
</g>
</svg>
</g>
</g>
</svg>
*/}}
<i class="ri-book-shelf-fill"></i>
Reihe
</div>
<div class="grow-0">

View File

@@ -23,7 +23,18 @@
// Only on place request
Place *dbmodels.Place
}
*/}}
// Parameters:
.letter
.search
.hidden
.record
.record.Image(Path)
.record.Text
.startpage
*/}}
{{ $model := . }}
{{ if and .startpage .record }}
@@ -86,7 +97,7 @@
</div>
{{ end }}
{{ if .series }}
{{ if $model.result.Series }}
<div class="border-b text-sm font-sans text-right pb-0.5">
Treffer in Reihentiteln &uarr;
</div>

View File

@@ -37,6 +37,7 @@
hx-trigger="input changed delay=1500ms, keyup[key=='Enter']"
hx-select="#searchcontent"
hx-target="#searchcontent"
hx-swap="outerHTML"
autocomplete="off"
{{ if $model.search }}disabled="true"{{ end }} />
</div>

View File

@@ -4,10 +4,26 @@
x-data="{ open: true }"
x-show="open">
<div class="container-extraoversize flex flex-row gap-x-8">
<div class="max-w-[52rem] font-serif text-lg hyphens-auto">
{{ Safe $model.record.Text }}
<div
class="max-w-[52rem] font-serif text-base hyphens-auto bg-gray-50 py-8 border-r
border-b">
<div class="px-8">
{{ Safe $model.record.Text }}
<div class="pt-3">
<a href="/edition/einfuehrung">Einführung</i></a>
<i class="ri-seedling-line px-1.5"></i>
<a href="/edition/dokumentation">Dokumentation </a>
</div>
<div class="mt-4 py-2 px-3 rounded bg-orange-100 border border-orange-200
text-orange-950 font-sans font-bold">
Bitte beachten Sie, dass es sich hier noch um eine öffentliche Testversion
handelt. Über Rückmeldungen und Anregungen freuen wir uns [&rarr; <a
href="/edition//kontakt">Kontakt</a>]
</div>
</div>
</div>
<div class="-mr-16 pt-2 grow-0 shrink-0">
<div class="-mr-16 pt-2 grow-0">
<img src="{{ $model.record.ImagePath }}" />
</div>
</div>

View File

@@ -1,4 +1,22 @@
{{ $model := . }}
{{/* .parameters
type Parameters struct {
Extended bool
Collection string
Query string
}
type SimpleParameters struct {
Parameters
Annotations bool
Persons bool
Title bool
Alm bool
Series bool
Places bool
Refs bool
Year bool
}
*/}}
<div id="searchcontrol" class="container-normal">

View File

@@ -349,7 +349,7 @@
}
#entrydata .fieldlabel {
@apply font-bold text-base font-sans whitespace-nowrap min-w-48 grow-0 shrink-0 pt-0.5;
@apply font-bold font-serif text-base whitespace-nowrap min-w-48 grow-0 shrink-0 pt-0.5;
}
#entrydata .fieldvalue {