mirror of
				https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
				synced 2025-10-29 09:05:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {{ $a := . }}
 | |
| {{ $pieces := LookupPieces $a }}
 | |
| {{ if ne (len $pieces) 0 }}
 | |
| 	<div class="mt-4 akteur-beitraege-section">
 | |
| 		<div class="py-1 rounded-lg mb-1">
 | |
| 			<h2 class="font-bold">
 | |
| 				<i class="ri-newspaper-line mr-2"></i><u class="decoration underline-offset-3">Beiträge</u>
 | |
| 			</h2>
 | |
| 		</div>
 | |
| 		<div class="space-y-2">
 | |
| 			{{- /* Group pieces by their own title/incipit, not by work being reviewed */ -}}
 | |
| 			{{- $groupedPieces := dict -}}
 | |
| 			{{- range $_, $p := SortPiecesByDate $pieces -}}
 | |
| 				{{- $groupKey := "" -}}
 | |
| 				{{- if $p.Item.Title -}}
 | |
| 					{{- $groupKey = index $p.Item.Title 0 -}}
 | |
| 				{{- else if $p.Item.Incipit -}}
 | |
| 					{{- $groupKey = index $p.Item.Incipit 0 -}}
 | |
| 				{{- else -}}
 | |
| 					{{- $groupKey = printf "untitled-%s" $p.Item.ID -}}
 | |
| 				{{- end -}}
 | |
| 
 | |
| 				{{- $existing := index $groupedPieces $groupKey -}}
 | |
| 				{{- if $existing -}}
 | |
| 					{{- $groupedPieces = merge $groupedPieces (dict $groupKey (append $existing $p)) -}}
 | |
| 				{{- else -}}
 | |
| 					{{- $groupedPieces = merge $groupedPieces (dict $groupKey (slice $p)) -}}
 | |
| 				{{- end -}}
 | |
| 			{{- end -}}
 | |
| 
 | |
| 
 | |
| 		<div class="columns-2 gap-1 hyphens-auto">
 | |
| 			{{- /* Display grouped pieces */ -}}
 | |
| 			{{- range $groupKey, $groupedItems := $groupedPieces -}}
 | |
| 				<div class="break-inside-avoid pl-4">
 | |
| 					<div class="pb-1 indent-4">
 | |
| 						{{- /* Use first piece for display text */ -}}
 | |
| 						{{ template "_unified_piece_entry" (dict "Piece" (index $groupedItems 0).Item "CurrentActorID" $a.ID "DisplayMode" "akteure" "ShowPlaceTags" true "UseColonFormat" false "ShowContinuation" false) }}
 | |
| 
 | |
| 						{{- /* Show all citations from all pieces in this group inline with commas */ -}}
 | |
| 						{{ " " }}{{- range $groupIndex, $groupItem := $groupedItems -}}
 | |
| 							{{- range $issueIndex, $issue := $groupItem.Item.IssueRefs -}}
 | |
| 								{{- if or (gt $groupIndex 0) (gt $issueIndex 0) }}, {{ end -}}
 | |
| 								<span class="text-blue-600 hover:text-blue-700 underline decoration-dotted hover:decoration-solid [&>a]:text-blue-600 [&>a:hover]:text-blue-700">{{- template "_citation" $issue -}}</span>{{- end -}}
 | |
| 						{{- end -}}
 | |
| 						{{- /* Add "Ganzer Beitrag" link if piece spans multiple issues */ -}}
 | |
| 						{{- $firstGroupItem := index $groupedItems 0 -}}
 | |
| 						{{- if gt (len $firstGroupItem.Item.IssueRefs) 1 -}}
 | |
| 							{{ " " }}<div class="inline-flex items-center gap-1 px-2 py-1 bg-blue-50
 | |
| 							hover:bg-blue-100 text-blue-700 hover:text-blue-800 border border-blue-200
 | |
| 							hover:border-blue-300 rounded text-xs font-medium transition-colors duration-200
 | |
| 							indent-0">
 | |
| 								<i class="ri-file-copy-2-line text-xs"></i>
 | |
| 								<a href="{{ GetPieceURL $firstGroupItem.Item.ID }}" class="">
 | |
| 									Ganzer Beitrag
 | |
| 								</a>
 | |
| 							</div>
 | |
| 						{{- end }}
 | |
| 					</div>
 | |
| 				</div>
 | |
| 			{{- end -}}
 | |
| 		</div>
 | |
| 		</div>
 | |
| 	</div>
 | |
| {{ end }}
 | 
