mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2026-02-04 02:25:30 +00:00
278 lines
13 KiB
Plaintext
278 lines
13 KiB
Plaintext
{{ $result := .result }}
|
|
{{ $entry := $result.Entry }}
|
|
<tr class="bg-stone-50/60 border-b last:border-b-0" data-role="baende-details" data-entry-id="{{ $entry.MusenalmID }}">
|
|
<td class="py-2 pr-4 pl-2 whitespace-nowrap w-[10rem] align-top">
|
|
<div class="flex flex-col gap-1 pt-1">
|
|
<span class="inline-flex items-center rounded-xs bg-stone-100 px-2.5 py-0.5 text-xs font-semibold text-slate-700">Alm {{ $entry.MusenalmID }}</span>
|
|
{{- if $entry.References -}}
|
|
<span class="inline-flex items-center rounded-xs bg-stone-100 px-2.5 py-0.5 text-xs text-slate-700 max-w-[10rem] whitespace-normal break-words" title="{{ $entry.References }}">{{ $entry.References }}</span>
|
|
{{- end -}}
|
|
<div class="flex flex-wrap items-center gap-1.5 pt-2">
|
|
<tool-tip position="top" class="inline">
|
|
<a href="/almanach/{{ $entry.MusenalmID }}" onclick="event.stopPropagation();" class="no-underline inline-flex items-center gap-1 rounded-xs bg-stone-100 px-2 py-1 text-xs font-semibold text-slate-700 hover:bg-stone-200 hover:text-slate-900">
|
|
<i class="ri-eye-line"></i>
|
|
</a>
|
|
<div class="data-tip">Ansehen</div>
|
|
</tool-tip>
|
|
{{- if $result.IsAdmin -}}
|
|
<tool-tip position="top" class="inline">
|
|
<a href="/almanach/{{ $entry.MusenalmID }}/edit" onclick="event.stopPropagation();" class="no-underline inline-flex items-center gap-1 rounded-xs bg-stone-100 px-2 py-1 text-xs font-semibold text-slate-700 hover:bg-stone-200 hover:text-slate-900">
|
|
<i class="ri-edit-line"></i>
|
|
</a>
|
|
<div class="data-tip">Bearbeiten</div>
|
|
</tool-tip>
|
|
<form method="POST" action="/almanach/{{ $entry.MusenalmID }}/edit/delete" class="inline" onsubmit="event.stopPropagation(); return confirm('Band wirklich löschen?');">
|
|
<input type="hidden" name="csrf_token" value="{{ $result.CSRFToken }}" />
|
|
<tool-tip position="top" class="inline">
|
|
<button type="submit" onclick="event.stopPropagation();" class="inline-flex items-center gap-1 rounded-xs bg-red-50 px-2 py-1 text-xs font-semibold text-red-700 hover:bg-red-100 hover:text-red-900">
|
|
<i class="ri-delete-bin-line"></i>
|
|
|
|
</button>
|
|
<div class="data-tip">Löschen</div>
|
|
</tool-tip>
|
|
</form>
|
|
{{- end -}}
|
|
<tool-tip position="top" class="inline">
|
|
<button
|
|
type="button"
|
|
onclick="event.stopPropagation();"
|
|
class="inline-flex items-center gap-1 rounded-xs bg-stone-100 px-2 py-1 text-xs font-semibold text-slate-700 hover:bg-stone-200 hover:text-slate-900"
|
|
hx-get="/baende/row/{{ $entry.MusenalmID }}"
|
|
hx-target="closest tr"
|
|
hx-swap="outerHTML"
|
|
>
|
|
<i class="ri-arrow-up-s-line"></i>
|
|
</button>
|
|
<div class="data-tip">Zuklappen</div>
|
|
</tool-tip>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="py-2 pr-4 pl-2" colspan="6">
|
|
<div class="rounded-md border border-slate-200 bg-white shadow-sm p-3 text-base">
|
|
<div class="flex items-start justify-between gap-4 mb-3">
|
|
<div class="font-sans text-base font-semibold text-slate-900 inline-flex items-center gap-1">
|
|
{{- if $entry.PreferredTitle -}}
|
|
{{ $entry.PreferredTitle }}
|
|
{{- else if ne $entry.Year 0 -}}
|
|
{{ $entry.Year }}
|
|
{{- else -}}
|
|
[o.J.]
|
|
{{- end -}}
|
|
<tool-tip position="top" class="inline-flex items-center">
|
|
<i class="status-icon {{- if eq $entry.EditState "Edited" }} ri-checkbox-circle-line{{- else if eq $entry.EditState "Seen" }} ri-information-line{{- else if eq $entry.EditState "Review" }} ri-search-line{{- else if eq $entry.EditState "ToDo" }} ri-list-check{{- else }} ri-forbid-2-line{{- end }}" data-status="{{ $entry.EditState }}"></i>
|
|
<div class="data-tip">
|
|
{{- if eq $entry.EditState "Unknown" -}}
|
|
Gesucht
|
|
{{- else if eq $entry.EditState "ToDo" -}}
|
|
Zu erledigen
|
|
{{- else if eq $entry.EditState "Review" -}}
|
|
Überprüfen
|
|
{{- else if eq $entry.EditState "Seen" -}}
|
|
Autopsiert
|
|
{{- else if eq $entry.EditState "Edited" -}}
|
|
Vollständig Erfasst
|
|
{{- else -}}
|
|
{{ $entry.EditState }}
|
|
{{- end -}}
|
|
</div>
|
|
</tool-tip>
|
|
</div>
|
|
</div>
|
|
<div class="grid grid-cols-1 lg:grid-cols-[1fr_18rem] gap-6 text-base font-sans text-gray-700 baende-details-card">
|
|
<div class="flex flex-col gap-3">
|
|
{{- if or $entry.TitleStmt $entry.SubtitleStmt $entry.VariantTitle $entry.ParallelTitle $entry.IncipitStmt -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Titelangaben</div>
|
|
<div>
|
|
{{- if $entry.TitleStmt -}}<div><span class="font-semibold text-gray-500">Titel:</span> {{ $entry.TitleStmt }}</div>{{- end -}}
|
|
{{- if $entry.SubtitleStmt -}}<div><span class="font-semibold text-gray-500">Untertitel:</span> {{ $entry.SubtitleStmt }}</div>{{- end -}}
|
|
{{- if $entry.VariantTitle -}}<div><span class="font-semibold text-gray-500">Varianten:</span> {{ $entry.VariantTitle }}</div>{{- end -}}
|
|
{{- if $entry.ParallelTitle -}}<div><span class="font-semibold text-gray-500">Parallel:</span> {{ $entry.ParallelTitle }}</div>{{- end -}}
|
|
{{- if $entry.IncipitStmt -}}<div><span class="font-semibold text-gray-500">Incipit:</span> {{ $entry.IncipitStmt }}</div>{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if or $entry.ResponsibilityStmt $entry.PublicationStmt $entry.PlaceStmt -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Erscheinung</div>
|
|
<div>
|
|
{{- if and $entry.ResponsibilityStmt (not (eq $entry.ResponsibilityStmt "unbezeichnet")) -}}<div><span class="font-semibold text-gray-500">Herausgaberangabe:</span> {{ $entry.ResponsibilityStmt }}</div>{{- end -}}
|
|
{{- if $entry.PublicationStmt -}}<div><span class="font-semibold text-gray-500">Publikationsangabe:</span> {{ $entry.PublicationStmt }}</div>{{- end -}}
|
|
{{- if $entry.PlaceStmt -}}<div><span class="font-semibold text-gray-500">Ortsangabe:</span> {{ $entry.PlaceStmt }}</div>{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $entry.Annotation -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Annotation</div>
|
|
<div class="annotation-content">{{- Safe (ReplaceSlashParen $entry.Annotation) -}}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $result.SeriesRels -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Reihen</div>
|
|
<div class="flex flex-col gap-1">
|
|
{{- range $_, $rel := $result.SeriesRels -}}
|
|
{{- range $_, $s := $result.Series -}}
|
|
{{- if eq $s.Id $rel.Series -}}
|
|
<div>
|
|
{{- if not (eq $rel.Type "Bevorzugter Reihentitel") -}}
|
|
<span class="mr-2 px-2 py-0.5 rounded text-xs font-sans bg-slate-200 inline-block">{{ $rel.Type }}</span>
|
|
{{- end -}}
|
|
<a href="/reihe/{{ $s.MusenalmID }}">{{ $s.Title }}</a>
|
|
</div>
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $entry.Places -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Orte</div>
|
|
<div>
|
|
{{- $sep := false -}}
|
|
{{- range $_, $p := $result.Places -}}
|
|
{{- if $sep }}, {{ end -}}
|
|
<a href="/reihen?place={{ $p.Id }}&hidden=true">{{ $p.Name }}</a>
|
|
{{- $sep = true -}}
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $result.AgentRels -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Personen</div>
|
|
<div class="flex flex-col gap-1">
|
|
{{- range $_, $arel := $result.AgentRels -}}
|
|
{{- range $_, $a := $result.Agents -}}
|
|
{{- if eq $a.Id $arel.Agent -}}
|
|
<div>
|
|
<a href="/person/{{ $a.Id }}">{{ $a.Name }}</a>
|
|
<span class="ml-2 px-2 py-0.5 rounded text-xs font-sans bg-slate-200 inline-block">{{ $arel.Type }}</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
<div class="flex flex-col gap-3">
|
|
{{- if $entry.Comment -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Kommentar</div>
|
|
<div class="annotation-content">{{- Safe (ReplaceSlashParen $entry.Comment) -}}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if ne $entry.Year 0 -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Jahr</div>
|
|
<div>{{ $entry.Year }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $entry.Language -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Sprachen</div>
|
|
<div>
|
|
{{- range $i, $lang := $entry.Language -}}{{- if $i }}, {{ end -}}{{ LanguageNameGerman $lang }}{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if or $entry.Extent $entry.Dimensions -}}
|
|
<div>
|
|
<div>
|
|
{{- if $entry.Extent -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Struktur</div>
|
|
<div>{{ $entry.Extent }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $entry.Dimensions -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Maße</div>
|
|
<div>{{ $entry.Dimensions }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $entry.References -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Nachweise</div>
|
|
<div>{{ $entry.References }}</div>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $result.Items -}}
|
|
<div>
|
|
<div class="text-xs uppercase tracking-wide text-gray-500">Exemplare</div>
|
|
<div class="grid grid-cols-1 gap-4">
|
|
{{- range $_, $item := $result.Items -}}
|
|
<div class="rounded-sm border border-slate-200 bg-white">
|
|
<div class="divide-y divide-slate-200 text-sm text-gray-700">
|
|
{{- if $item.Identifier -}}
|
|
<div class="grid grid-cols-[5rem_1fr] items-center gap-3 px-3 py-1.5">
|
|
<span class="text-xs uppercase tracking-wide text-gray-500 whitespace-nowrap">Signatur</span>
|
|
<span class="font-semibold text-slate-900">{{ $item.Identifier }}</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $item.Media -}}
|
|
<div class="grid grid-cols-[5rem_1fr] items-center gap-3 px-3 py-1.5">
|
|
<span class="text-xs uppercase tracking-wide text-gray-500 whitespace-nowrap">Status</span>
|
|
<span class="font-medium text-slate-800">
|
|
{{- range $i, $media := $item.Media -}}{{- if $i }}, {{ end -}}{{ $media }}{{- end -}}
|
|
</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $item.Location -}}
|
|
<div class="grid grid-cols-[5rem_1fr] items-center gap-3 px-3 py-1.5">
|
|
<span class="text-xs uppercase tracking-wide text-gray-500 whitespace-nowrap">Standort</span>
|
|
<span class="font-medium text-slate-800">{{ $item.Location }}</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $item.Owner -}}
|
|
<div class="grid grid-cols-[5rem_1fr] items-center gap-3 px-3 py-1.5">
|
|
<span class="text-xs uppercase tracking-wide text-gray-500 whitespace-nowrap">Träger</span>
|
|
<span class="font-medium text-slate-800">{{ $item.Owner }}</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $item.Condition -}}
|
|
<div class="grid grid-cols-[5rem_1fr] items-center gap-3 px-3 py-1.5">
|
|
<span class="text-xs uppercase tracking-wide text-gray-500 whitespace-nowrap">Zustand</span>
|
|
<span class="font-medium text-slate-800">{{ $item.Condition }}</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $item.Annotation -}}
|
|
<div class="grid grid-cols-[5rem_1fr] items-center gap-3 px-3 py-1.5">
|
|
<span class="text-xs uppercase tracking-wide text-gray-500 whitespace-nowrap">Anmerkung</span>
|
|
<span class="text-slate-700 annotation-content annotation-small">{{- Safe (ReplaceSlashParen $item.Annotation) -}}</span>
|
|
</div>
|
|
{{- end -}}
|
|
{{- if $item.Uri -}}
|
|
<div class="grid grid-cols-[5rem_1fr] items-center gap-3 px-3 py-1.5">
|
|
<span class="text-xs uppercase tracking-wide text-gray-500 whitespace-nowrap">URI</span>
|
|
<a href="{{ $item.Uri }}" class="text-slate-700 hover:text-slate-900 underline underline-offset-2" target="_blank" rel="noopener">Link öffnen</a>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
{{- if or $item.Location $item.Owner $item.Condition $item.Annotation $item.Uri -}}
|
|
<div class="sr-only">
|
|
{{- if $item.Location -}}<span>{{ $item.Location }}</span>{{- end -}}
|
|
{{- if $item.Owner -}}<span class="ml-2">{{ $item.Owner }}</span>{{- end -}}
|
|
{{- if $item.Condition -}}<span class="ml-2">{{ $item.Condition }}</span>{{- end -}}
|
|
{{- if $item.Annotation -}}<span class="ml-2">{{ $item.Annotation }}</span>{{- end -}}
|
|
{{- if $item.Uri -}}<span class="ml-2">{{ $item.Uri }}</span>{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|