mirror of
				https://github.com/Theodor-Springmann-Stiftung/musenalm.git
				synced 2025-10-31 18:25:33 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			151 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {{/* .common
 | |
| 	type CommonReihenData struct {
 | |
| 	Years   []int
 | |
| 	Places  []*dbmodels.Place
 | |
| 	Letters []string
 | |
| 	Agents  []*dbmodels.Agent
 | |
| 	}
 | |
| 
 | |
| 	.result
 | |
| 	type SeriesListResult struct {
 | |
| 	Series        []*dbmodels.Series
 | |
| 	Entries       map[string]*dbmodels.Entry            // <-- Key is Entry.ID
 | |
| 	EntriesSeries map[string][]*dbmodels.REntriesSeries // <-- Key is Series.ID
 | |
| 
 | |
| 	// Only on agent request
 | |
| 	Agent         *dbmodels.Agent
 | |
| 	EntriesAgents map[string][]*dbmodels.REntriesAgents // <-- Key is Entry.ID
 | |
| 
 | |
| 	// Only on search request
 | |
| 	IDSeries  []*dbmodels.Series
 | |
| 	AltSeries []*dbmodels.Series
 | |
| 
 | |
| 	// Only on place request
 | |
| 	Place *dbmodels.Place
 | |
| 	}
 | |
| 
 | |
| 	// Parameters:
 | |
| 	.letter
 | |
| 	.search
 | |
| 	.hidden
 | |
| 
 | |
| 	.record
 | |
| 	.record.Image(Path)
 | |
| 	.record.Text
 | |
| 
 | |
| 	.startpage
 | |
| */}}
 | |
| 
 | |
| {{ $model := . }}
 | |
| {{ if and .startpage .record }}
 | |
| 	{{ template "hero" . }}
 | |
| {{ end }}
 | |
| 
 | |
| 
 | |
| <!-- INFO: 1. Container -->
 | |
| <div x-data="{ search : '{{ $model.search }}' }" :class="search ? 'searchfilter' : ''">
 | |
| 	<!-- INFO: 2. Header -->
 | |
| 	<div id="pageheading" class="headingcontainer">
 | |
| 		<h1 class="heading">Bände nach Reihentiteln</h1>
 | |
| 		{{ template "notifier" $model }}
 | |
| 
 | |
| 		{{ if not (or .search .hidden) }}
 | |
| 			<div class="mt-2">
 | |
| 				{{ template "alphabet" $model }}
 | |
| 			</div>
 | |
| 		{{ else }}
 | |
| 			<div class="mt-2 border-b w-full"></div>
 | |
| 		{{ end }}
 | |
| 	</div>
 | |
| 
 | |
| 	<!-- INFO: 2. Breite Anzeige -->
 | |
| 	<div
 | |
| 		class="{{ if or .search .hidden }}
 | |
| 			container-normal
 | |
| 		{{ else }}
 | |
| 			container-oversize
 | |
| 		{{ end }} mt-4">
 | |
| 		{{ if not (or .search .hidden) }}
 | |
| 			{{ template "filter" . }}
 | |
| 		{{ end }}
 | |
| 
 | |
| 
 | |
| 		<!-- INFO: 3. Treffer -->
 | |
| 		<div id="searchcontent" class="font-serif">
 | |
| 			{{ if and .search $model.result.IDSeries }}
 | |
| 				<div class="mb-1 max-w-[60rem] hyphens-auto">
 | |
| 					{{ range $id, $r := $model.result.IDSeries }}
 | |
| 						{{ template "_reihe" (Arr $r $model.result.Entries $model.result.EntriesSeries true false false) }}
 | |
| 					{{ end }}
 | |
| 				</div>
 | |
| 			{{ end }}
 | |
| 
 | |
| 			{{ if $model.result.Series }}
 | |
| 				<div class="mb-1 max-w-[60rem] hyphens-auto">
 | |
| 					{{ range $id, $r := $model.result.Series }}
 | |
| 						{{ template "_reihe" (Arr $r $model.result.Entries $model.result.EntriesSeries false false
 | |
| 							false)
 | |
| 						}}
 | |
| 					{{ end }}
 | |
| 				</div>
 | |
| 			{{ end }}
 | |
| 
 | |
| 			{{ if and .search $model.result.AltSeries }}
 | |
| 				{{ if $model.result.IDSeries }}
 | |
| 					<div class="border-b text-sm font-sans text-right pb-0.5">
 | |
| 						Treffer in Almanach-Nummer ↑
 | |
| 					</div>
 | |
| 				{{ end }}
 | |
| 
 | |
| 				{{ if $model.result.Series }}
 | |
| 					<div class="border-b text-sm font-sans text-right pb-0.5">
 | |
| 						Treffer in Reihentiteln ↑
 | |
| 					</div>
 | |
| 				{{ end }}
 | |
| 
 | |
| 				{{ if not (or $model.result.Series $model.result.IDSeries) }}
 | |
| 					<div class="border-b text-sm font-sans text-right pb-0.5">
 | |
| 						Keine Treffer im Reihentitel
 | |
| 						<i class="ri-forbid-line inline-bloc -mr-0.5"></i>
 | |
| 					</div>
 | |
| 				{{ end }}
 | |
| 				<div class="border-t mb-1.5 text-sm font-sans text-right pt-0.5">
 | |
| 					Treffer in allen Feldern (inkl. Anmerkungen & Verweise) ↓
 | |
| 				</div>
 | |
| 				<div class="mb-1 max-w-[60rem] hyphens-auto">
 | |
| 					{{ range $id, $r := $model.result.AltSeries }}
 | |
| 						{{ template "_reihe" (Arr $r $model.result.Entries $model.result.EntriesSeries false true true) }}
 | |
| 					{{ end }}
 | |
| 				</div>
 | |
| 			{{ end }}
 | |
| 			{{ if not (or $model.result.Series $model.result.AltSeries $model.result.IDSeries) }}
 | |
| 				<div class="mt-8">
 | |
| 					Keine Reihen
 | |
| 					{{ if .search }}für {{ .search }}{{ end }}
 | |
| 					gefunden.
 | |
| 				</div>
 | |
| 			{{ end }}
 | |
| 
 | |
| 			{{ if $model.search }}
 | |
| 				<script type="module">
 | |
| 				let elements = document.querySelectorAll('.reihen-text');
 | |
| 				let mark_instance = new Mark(elements);
 | |
| 				// INFO: we wait a little bit before marking, to settle everything
 | |
| 					setTimeout(() => {
 | |
| 						mark_instance.mark('{{ $model.search }}', {
 | |
| 							"seperateWordSearch": true,
 | |
| 						});
 | |
| 					}, 200);
 | |
| 				</script>
 | |
| 			{{ end }}
 | |
| 
 | |
| 
 | |
| 			<!-- INFO: Ende 3. Treffer -->
 | |
| 		</div>
 | |
| 
 | |
| 		<!-- INFO: Ende 2. Breite Anzeige -->
 | |
| 	</div>
 | |
| 
 | |
| 	<!-- INFO: Ende 1. Container -->
 | |
| </div>
 | 
