{{ $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 title and work reference */ -}}
			{{- $groupedPieces := dict -}}
			{{- range $_, $p := SortPiecesByDate $pieces -}}
				{{- $groupKey := "" -}}
				{{- if $p.Item.Title -}}
					{{- $groupKey = index $p.Item.Title 0 -}}
				{{- else if $p.Item.WorkRefs -}}
					{{- $work := GetWork (index $p.Item.WorkRefs 0).Ref -}}
					{{- if $work.PreferredTitle -}}
						{{- $groupKey = $work.PreferredTitle -}}
					{{- else if $work.Citation.Title -}}
						{{- $groupKey = $work.Citation.Title -}}
					{{- end -}}
				{{- 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-6">
			{{- /* Display grouped pieces */ -}}
			{{- range $groupKey, $groupedItems := $groupedPieces -}}
				<div class="break-inside-avoid pl-4">
					<div class="pb-1">
						{{- /* Use first piece for display text */ -}}
						{{ template "_piece_summary" (dict "Piece" (index $groupedItems 0).Item "CurrentActorID" $a.ID) }}

						{{- /* 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 -}}
								{{ $issueData := GetIssue (printf "%d-%d" $issue.When.Year $issue.Nr) }}
								{{- $url := printf "/%s/%d" $issue.When $issue.Nr -}}
								{{- if $issue.Von -}}
									{{- if $issue.Beilage -}}
										{{- $url = printf "%s#beilage-%d-page-%d" $url $issue.Beilage $issue.Von -}}
									{{- else -}}
										{{- $url = printf "%s/%d" $url $issue.Von -}}
									{{- end -}}
								{{- end -}}
								<a href="{{ $url }}" class="text-blue-700 hover:text-blue-800">
									{{- if $issueData -}}
										{{ $issueData.Datum.When.Day }}.{{ $issueData.Datum.When.Month }}.{{ $issueData.Datum.When.Year }}/{{ $issue.Nr }}, S. {{ $issue.Von }}{{- if and $issue.Bis (ne $issue.Von $issue.Bis) }}-{{ $issue.Bis }}{{ end }}
									{{- else -}}
										{{ $issue.When.Day }}.{{ $issue.When.Month }}.{{ $issue.When.Year }}/{{ $issue.Nr }}, S. {{ $issue.Von }}{{- if and $issue.Bis (ne $issue.Von $issue.Bis) }}-{{ $issue.Bis }}{{ end }}
									{{- end -}}
								</a>
							{{- 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">
								<i class="ri-file-copy-2-line text-xs"></i>
								<a href="{{ GetPieceURL (index $firstGroupItem.Item.IssueRefs 0).When.Year (index $firstGroupItem.Item.IssueRefs 0).Nr (index $firstGroupItem.Item.IssueRefs 0).Von (index $firstGroupItem.Item.Keys 0) }}" class="">
									Ganzer Beitrag
								</a>
							</div>
						{{- end }}
					</div>
				</div>
			{{- end -}}
		</div>
		</div>
	</div>
{{ end }}
