mirror of
https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
synced 2025-10-28 16:45:32 +00:00
120 lines
5.7 KiB
Plaintext
120 lines
5.7 KiB
Plaintext
{{ $model := .model }}
|
|
|
|
|
|
<div class="w-full bg-white border border-slate-200 px-4 py-4 hyphens-auto rounded-lg">
|
|
{{- if $model.Pieces.Pages -}}
|
|
<div class="space-y-4">
|
|
<div class="flex items-center gap-2 mb-4">
|
|
<i class="ri-file-list-3-line text-slate-600"></i>
|
|
<h3 class="text-base font-semibold text-slate-800">Inhalt</h3>
|
|
</div>
|
|
{{ range $page := $model.Pieces.Pages }}
|
|
<div class="mb-4 first:mb-0">
|
|
<div class="flex items-center gap-2 mb-3 pb-2 border-b border-slate-200">
|
|
<i class="ri-file-text-line text-blue-600 text-sm"></i>
|
|
{{ $pageItems := (index $model.Pieces.Items $page) }}
|
|
{{ $maxEndPage := $page }}
|
|
{{ range $groupedPiece := $pageItems }}{{ if gt $groupedPiece.EndPage $maxEndPage }}{{ $maxEndPage = $groupedPiece.EndPage }}{{ end }}{{ end }}
|
|
<span class="page-number-inhalts font-bold text-slate-700 bg-blue-50 px-2 py-1 rounded text-xs transition-colors duration-200" data-page-number="{{ $page }}" data-end-page="{{ $maxEndPage }}" data-page-range="{{ $page }}-{{ $maxEndPage }}">{{ if ne $page $maxEndPage }}{{ $page }}-{{ $maxEndPage }}{{ else }}{{ $page }}{{ end }}</span>
|
|
</div>
|
|
<div class="space-y-1">
|
|
{{ range $groupedPiece := (index $model.Pieces.Items $page) }}
|
|
<div class="inhalts-entry py-1 px-3 bg-slate-50 rounded hover:bg-slate-100 transition-colors duration-200" data-page="{{ $page }}">
|
|
{{ template "_inhaltsverzeichnis_eintrag" $groupedPiece.PieceByIssue }}
|
|
|
|
|
|
<!-- Links zu anderen Teilen: -->
|
|
{{ if and (not $groupedPiece.PieceByIssue.IsContinuation) (gt (len $groupedPiece.IssueRefs) 1) }}
|
|
<div class="mt-1 pt-1 border-t border-slate-100">
|
|
<div class="flex items-center gap-2 mb-0.5">
|
|
<i class="ri-links-line text-blue-500 text-sm"></i>
|
|
<span class="text-sm font-medium text-slate-600">{{ len $groupedPiece.IssueRefs }} Teile:</span>
|
|
</div>
|
|
<div class="flex flex-wrap gap-1">
|
|
{{ range $issue := $groupedPiece.IssueRefs }}
|
|
<a
|
|
href="/{{- $issue.When -}}/{{- $issue.Nr -}}{{- if $issue.Von -}}{{- if $issue.Beilage -}}#beilage-{{ $issue.Beilage }}-page-{{ $issue.Von }}{{- else -}}#page-{{ $issue.Von }}{{- end -}}{{- end -}}"
|
|
class="inline-flex items-center gap-1 px-2 py-1 bg-blue-50 text-blue-700 rounded-md text-xs font-medium hover:bg-blue-100 transition-colors duration-150"
|
|
{{- if and (eq $issue.Nr $model.Number.No) (eq $issue.When.Year
|
|
$model.Datum.When.Year)
|
|
-}}
|
|
aria-current="page"
|
|
{{ end }}>
|
|
<i class="ri-calendar-line text-xs"></i>
|
|
{{- $issue.When.Year }} Nr. {{ $issue.Nr -}}
|
|
</a>
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
|
|
|
|
<!-- Pages end -->
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
|
|
|
|
<!-- Beilagen -->
|
|
{{- if $model.AdditionalPieces.Pages -}}
|
|
<div class="mt-6 pt-6 border-t border-slate-300">
|
|
<div class="flex items-center gap-2 mb-4">
|
|
<i class="ri-attachment-line text-amber-600"></i>
|
|
<h3 class="text-base font-semibold text-slate-800">Beilage</h3>
|
|
</div>
|
|
{{ range $page := $model.AdditionalPieces.Pages }}
|
|
<div class="mb-4 first:mb-0">
|
|
<div class="flex items-center gap-2 mb-3 pb-2 border-b border-slate-200">
|
|
<i class="ri-file-text-line text-amber-600 text-sm"></i>
|
|
{{ $pageItems := (index $model.AdditionalPieces.Items $page) }}
|
|
{{ $maxEndPage := $page }}
|
|
{{ range $groupedPiece := $pageItems }}{{ if gt $groupedPiece.EndPage $maxEndPage }}{{ $maxEndPage = $groupedPiece.EndPage }}{{ end }}{{ end }}
|
|
<span class="page-number-inhalts font-bold text-slate-700 bg-amber-50 px-2 py-1 rounded text-xs transition-colors duration-200" data-page-number="{{ $page }}" data-end-page="{{ $maxEndPage }}" data-page-range="{{ $page }}-{{ $maxEndPage }}">{{ if ne $page $maxEndPage }}{{ $page }}-{{ $maxEndPage }}{{ else }}{{ $page }}{{ end }}</span>
|
|
</div>
|
|
<div class="space-y-3">
|
|
{{ range $groupedPiece := (index $model.AdditionalPieces.Items $page) }}
|
|
<div class="inhalts-entry py-2 px-3 bg-slate-50 rounded hover:bg-slate-100 transition-colors duration-200" data-page="{{ $page }}">
|
|
{{ template "_inhaltsverzeichnis_eintrag" $groupedPiece.PieceByIssue }}
|
|
|
|
|
|
<!-- Links zu anderen Teilen: -->
|
|
{{ if and (not $groupedPiece.PieceByIssue.IsContinuation) (gt (len $groupedPiece.IssueRefs) 1) }}
|
|
<div class="mt-1 pt-1 border-t border-slate-100">
|
|
<div class="flex items-center gap-2 mb-0.5">
|
|
<i class="ri-links-line text-blue-500 text-sm"></i>
|
|
<span class="text-sm font-medium text-slate-600">{{ len $groupedPiece.IssueRefs }} Teile:</span>
|
|
</div>
|
|
<div class="flex flex-wrap gap-1">
|
|
{{ range $issue := $groupedPiece.IssueRefs }}
|
|
<a
|
|
href="/{{- $issue.When -}}/{{- $issue.Nr -}}{{- if $issue.Von -}}{{- if $issue.Beilage -}}#beilage-{{ $issue.Beilage }}-page-{{ $issue.Von }}{{- else -}}#page-{{ $issue.Von }}{{- end -}}{{- end -}}"
|
|
class="inline-flex items-center gap-1 px-2 py-1 bg-blue-50 text-blue-700 rounded-md text-xs font-medium hover:bg-blue-100 transition-colors duration-150"
|
|
{{- if and (eq $issue.Nr $model.Number.No) (eq $issue.When.Year
|
|
$model.Datum.When.Year)
|
|
-}}
|
|
aria-current="page"
|
|
{{ end }}>
|
|
<i class="ri-calendar-line text-xs"></i>
|
|
{{- $issue.When.Year }} Nr. {{ $issue.Nr -}}
|
|
</a>
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
|
|
|
|
<!-- Pages end -->
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
|
|
</div>
|