prepared file upload
This commit is contained in:
		| @@ -1,28 +1,38 @@ | ||||
| @font-face { | ||||
|   font-family: 'Cabin Sketch'; | ||||
|   font-style: normal; | ||||
|   font-weight: 700; | ||||
|   font-display: swap; | ||||
|   src: url('../fonts/Cabin-Sketch-700.eot'); /* IE9 */ | ||||
|   src: url('../fonts/Cabin-Sketch-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ | ||||
|     url('../fonts/Cabin-Sketch-700.woff2') format('woff2'), /* Modern Browsers */ | ||||
|     url('../fonts/Cabin-Sketch-700.woff') format('woff'), /* Modern Browsers */ | ||||
|     url('../fonts/Cabin-Sketch-700.ttf') format('truetype'), /* Safari, Android, iOS */ | ||||
|     url('../fonts/Cabin-Sketch-700.svg#CabinSketch') format('svg'); /* Legacy iOS */ | ||||
| 	font-family: 'Cabin Sketch'; | ||||
| 	font-style: normal; | ||||
| 	font-weight: 700; | ||||
| 	font-display: swap; | ||||
| 	src: url('../fonts/Cabin-Sketch-700.eot'); /* IE9 */ | ||||
| 	src: url('../fonts/Cabin-Sketch-700.eot?#iefix') | ||||
| 		format('embedded-opentype'), /* IE6-IE8 */ | ||||
|     url('../fonts/Cabin-Sketch-700.woff2') format('woff2'), | ||||
| 		/* Modern Browsers */ | ||||
|     url('../fonts/Cabin-Sketch-700.woff') format('woff'), | ||||
| 		/* Modern Browsers */ | ||||
|     url('../fonts/Cabin-Sketch-700.ttf') format('truetype'), | ||||
| 		/* Safari, Android, iOS */ | ||||
|     url('../fonts/Cabin-Sketch-700.svg#CabinSketch') format('svg'); | ||||
| 	/* Legacy iOS */ | ||||
| } | ||||
|  | ||||
| /* fira-sans-regular - latin */ | ||||
| @font-face { | ||||
|   font-family: 'Fira Sans'; | ||||
|   font-style: normal; | ||||
|   font-weight: 400; | ||||
|   src: url('../fonts/fira-sans-v16-latin-regular.eot'); /* IE9 Compat Modes */ | ||||
|   src: local(''), | ||||
|        url('../fonts/fira-sans-v16-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.woff') format('woff'), /* Modern Browsers */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.svg#FiraSans') format('svg'); /* Legacy iOS */ | ||||
| 	font-family: 'Fira Sans'; | ||||
| 	font-style: normal; | ||||
| 	font-weight: 400; | ||||
| 	src: url('../fonts/fira-sans-v16-latin-regular.eot'); | ||||
| 	/* IE9 Compat Modes */ | ||||
| 	src: local(''), url('../fonts/fira-sans-v16-latin-regular.eot?#iefix') | ||||
| 		format('embedded-opentype'), /* IE6-IE8 */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.woff2') format('woff2'), | ||||
| 		/* Super Modern Browsers */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.woff') format('woff'), | ||||
| 		/* Modern Browsers */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.ttf') | ||||
| 		format('truetype'), /* Safari, Android, iOS */ | ||||
|        url('../fonts/fira-sans-v16-latin-regular.svg#FiraSans') | ||||
| 		format('svg'); /* Legacy iOS */ | ||||
| } | ||||
|  | ||||
| html { | ||||
| @@ -34,6 +44,11 @@ body { | ||||
| 	background-image: url('../images/background.jpg'); | ||||
| } | ||||
|  | ||||
| .navbar-background { | ||||
| 	background-image: url('../images/background.jpg'); | ||||
| 	background-repeat: no-repeat; | ||||
| } | ||||
|  | ||||
| a { | ||||
| 	font-family: 'Fira Sans'; | ||||
| } | ||||
| @@ -96,19 +111,23 @@ div { | ||||
| } | ||||
|  | ||||
| .acc_over { | ||||
| 	background-image: linear-gradient(to bottom right, #ccc, #aaa) !important; | ||||
| 	background-image: linear-gradient(to bottom right, #ccc, #aaa) | ||||
| 		!important; | ||||
| } | ||||
|  | ||||
| .acc_true { | ||||
| 	background-image: linear-gradient(to bottom right, #cfc, #afa) !important; | ||||
| 	background-image: linear-gradient(to bottom right, #cfc, #afa) | ||||
| 		!important; | ||||
| } | ||||
|  | ||||
| .acc_false { | ||||
| 	background-image: linear-gradient(to bottom right, #fcc, #faa) !important; | ||||
| 	background-image: linear-gradient(to bottom right, #fcc, #faa) | ||||
| 		!important; | ||||
| } | ||||
|  | ||||
| .acc_null { | ||||
| 	background-image: linear-gradient(to bottom right, #fdb, #fca) !important; | ||||
| 	background-image: linear-gradient(to bottom right, #fdb, #fca) | ||||
| 		!important; | ||||
| } | ||||
|  | ||||
| .right-dist { | ||||
| @@ -183,7 +202,7 @@ div { | ||||
| 	background: transparent; | ||||
| 	border: 2px solid transparent; | ||||
| 	padding: 8px; | ||||
|   font-family: 'Cabin Sketch'; | ||||
| 	font-family: 'Cabin Sketch'; | ||||
| } | ||||
|  | ||||
| .linkbtn:hover { | ||||
| @@ -360,3 +379,19 @@ div { | ||||
| 	text-align: center; | ||||
| 	padding-top: 45vh; | ||||
| } | ||||
|  | ||||
| .roleflag { | ||||
| 	border-radius: 24px; | ||||
| 	border: 1px solid gray; | ||||
| 	padding: 4px; | ||||
| 	margin: 2px; | ||||
| 	background-image: linear-gradient(to right bottom, silver, white); | ||||
| } | ||||
|  | ||||
| .tablebox { | ||||
| 	margin: 8px; | ||||
| 	background-color: rgba(255, 255, 255, 0.5) !important; | ||||
| 	padding: 6px; | ||||
| 	border-radius: 8px; | ||||
| 	border: 1px solid gray; | ||||
| } | ||||
							
								
								
									
										58
									
								
								src/main/resources/templates/admin/document.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								src/main/resources/templates/admin/document.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| <!DOCTYPE html> | ||||
| <html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{template}" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:sec="http://www.thymeleaf.org/extras/spring-security"> | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/rss/admin}" class="btn btn-seconary btn-icon-silent"><i class="fas fa-rss"></i></a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/admin}" class="btn btn-secondary btn-icon-silent">Administration</a></li> | ||||
| 		</ul> | ||||
| 	</th:block> | ||||
| 	<th:block layout:fragment="content"> | ||||
| 		<div class="tablebox" sec:authorize="hasRole('admin')"> | ||||
| 			<table id="docs" class="table table-striped" style="width: 100% !important"> | ||||
| 				<thead> | ||||
| 					<tr> | ||||
| 						<td>Name</td> | ||||
| 						<td>Dokumententyp</td> | ||||
| 						<td>Zielgruppe</td> | ||||
| 						<th>Inhalt</th> | ||||
| 						<th>Dateityp</th> | ||||
| 					</tr> | ||||
| 				</thead> | ||||
| 				<tbody> | ||||
| 					<tr th:each="d : ${documents}"> | ||||
| 						<td><a th:href="@{/admin/document/edit/{id}(id=${d.pk})}"><span th:text="${d.name}"></span></a></td> | ||||
| 						<td><span th:if="${d.doctype.literal == 'location'}">Wegbeschreibung</span> <span th:if="${d.doctype.literal == 'camp'}">Bestätigung</span><span | ||||
| 							th:if="${d.doctype.literal == 'camppass'}">Freizeitpass</span></td> | ||||
| 						<td><th:block th:each="r : ${d.roles}"> | ||||
| 								<span th:if="${r.literal == 'student'}" class="roleflag">Teilnehmer</span> | ||||
| 								<span th:if="${r.literal == 'teacher'}" class="roleflag">Mitarbeiter</span> | ||||
| 								<span th:if="${r.literal == 'director'}" class="roleflag">Leiter</span> | ||||
| 								<span th:if="${r.literal == 'feeder'}" class="roleflag">Küche</span> | ||||
| 							</th:block></td> | ||||
| 						<td><a th:href="@{/document/{id}(id=${d.pk})}"><i class="fas fa-download"></i></a></td> | ||||
| 						<td><span th:text="${d.filetype.literal}" th:if="${d.filetype}"></span></td> | ||||
| 					</tr> | ||||
| 				</tbody> | ||||
| 				<tfoot> | ||||
| 					<tr> | ||||
| 						<td colspan="6" style="text-align: center"><a th:href="@{/admin/document/add}" class="btn btn-outline-primary">neues Dokument anlegen</a></td> | ||||
| 					</tr> | ||||
| 				</tfoot> | ||||
| 			</table> | ||||
| 			<script> | ||||
| 				$(document).ready(function() { | ||||
| 					$("#docs").DataTable({ | ||||
| 						language : locale_de | ||||
| 					}); | ||||
| 				}); | ||||
| 			</script> | ||||
| 		</div> | ||||
| 	</th:block> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										92
									
								
								src/main/resources/templates/admin/document_edit.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								src/main/resources/templates/admin/document_edit.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,92 @@ | ||||
| <!DOCTYPE html> | ||||
| <html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{template}" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:sec="http://www.thymeleaf.org/extras/spring-security"> | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/rss/admin}" class="btn btn-seconary btn-icon-silent"><i class="fas fa-rss"></i></a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/admin}" class="btn btn-secondary btn-icon-silent">Administration</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/admin/document}" class="btn btn-secondary btn-icon-silent">Dokumente</a></li> | ||||
| 		</ul> | ||||
| 	</th:block> | ||||
| 	<th:block layout:fragment="content"> | ||||
| 		<div sec:authorize="hasRole('admin')"> | ||||
| 			<form th:action="@{/admin/document/update}" th:object="${bean}" method="post" enctype="multipart/form-data"> | ||||
| 				<div class="tablebox"> | ||||
| 					<div class="container"> | ||||
| 						<input type="hidden" th:field="*{pk}" /> | ||||
| 						<div class="row mb-2"> | ||||
| 							<label for="inputName" class="col-sm-2 col-form-label">Name</label> | ||||
| 							<div class="col-sm-10"> | ||||
| 								<span class="error" th:each="error : ${#fields.errors('name')}">[[${error}]]<br /></span> <input id="inputName" type="text" th:field="*{name}" | ||||
| 									th:class="${'form-control ' + (#fields.hasErrors('name') ? 'inputerror' : '')}"> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="row mb-2"> | ||||
| 							<label for="inputDoctype" class="col-sm-2 col-form-label">Dokumententyp</label> | ||||
| 							<div class="col-sm-10"> | ||||
| 								<span class="error" th:each="error : ${#fields.errors('doctype')}">[[${error}]]<br /></span> <select id="inputDoctype" th:field="*{doctype}" | ||||
| 									th:class="${'form-select ' + (#fields.hasErrors('doctype') ? 'inputerror' : '')}"> | ||||
| 									<option value="">--- bitte wählen ---</option> | ||||
| 									<option value="location">Wegbeschreibung</option> | ||||
| 									<option value="camp">Bestätigung</option> | ||||
| 									<option value="camppass">Freizeitpass</option> | ||||
| 								</select> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="row mb-2"> | ||||
| 							<label for="inputRole" class="col-sm-2 col-form-label">Zielgruppe</label> | ||||
| 							<div class="col-sm-10"> | ||||
| 								<span class="error" th:each="error : ${#fields.errors('roles')}">[[${error}]]<br /></span> <select id="inputRole" th:field="*{roles}" | ||||
| 									th:class="${'form-control ' + (#fields.hasErrors('roles') ? 'inputerror' : '')}" multiple> | ||||
| 									<option value="student">Teilnehmer</option> | ||||
| 									<option value="teacher">Mitarbeiter</option> | ||||
| 									<option value="director">Leiter</option> | ||||
| 									<option value="feeder">Küche</option> | ||||
| 								</select> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="row mb-2"> | ||||
| 							<label for="inputFile" class="col-sm-2 col-form-label">Dokument</label> | ||||
| 							<div class="col-sm-10"> | ||||
| 								<span class="error" th:each="error : ${#fields.errors('uploadfile')}">[[${error}]]<br /></span> | ||||
| 								<input type="file" id="inputFile" th:field="*{uploadfile}" th:class="${'form-control ' + (#fields.hasErrors('uploadfile') ? 'inputerror' : '')}" /> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="row mb-2"> | ||||
| 							<label for="inputFiletype" class="col-sm-2 col-form-label">Dateityp</label> | ||||
| 							<div class="col-sm-10"> | ||||
| 								<span class="error" th:each="error : ${#fields.errors('filetype')}">[[${error}]]<br /></span> <select id="inputFiletype" th:field="*{filetype}" | ||||
| 									th:class="${'form-select ' + (#fields.hasErrors('filetype') ? 'inputerror' : '')}"> | ||||
| 									<option value="">--- bitte wählen ---</option> | ||||
| 									<option value="pdf">PDF</option> | ||||
| 									<option value="png">PNG</option> | ||||
| 									<option value="jpg">JPG</option> | ||||
| 								</select> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="row mb-2"> | ||||
| 							<div class="col-sm-2"></div> | ||||
| 							<div class="col-sm-10"> | ||||
| 								<input type="submit" class="btn btn-success" value="Ok" /> | ||||
| 								<a th:href="@{/admin/document}" class="btn btn-outline-secondary">Abbrechen</a> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<!-- TODO: | ||||
|  | ||||
| 								delete from db th:if="${bean.pk}" | ||||
| 							--> | ||||
|  | ||||
| 					</div> | ||||
| 				</div> | ||||
| 			</form> | ||||
| 		</div> | ||||
| 	</th:block> | ||||
| </body> | ||||
| </html> | ||||
| @@ -7,7 +7,7 @@ | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/admin}" class="btn btn-seconary btn-icon-silent">Admin</a></li> | ||||
|   | ||||
| @@ -10,15 +10,18 @@ | ||||
| 			<li class="nav-item"><a th:href="@{/rss/admin}" class="btn btn-seconary btn-icon-silent"><i class="fas fa-rss"></i></a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/admin/mail}" class="btn btn-secondary btn-icon-silent">Testmail</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('admin')"> | ||||
| 			<li class="nav-item"><a th:href="@{/admin/document}" class="btn btn-secondary btn-icon-silent">Dokumente</a></li> | ||||
| 		</ul> | ||||
| 	</th:block> | ||||
| 	<th:block layout:fragment="content"> | ||||
| 		<div sec:authorize="hasRole('admin')"> | ||||
| 			TODO: implement | ||||
| 			TODO: implement; list number of camps, registrations and documents or such | ||||
| 		</div> | ||||
| 	</th:block> | ||||
| </body> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/business/}" class="btn btn-secondary btn-icon-silent">Finanzübersicht</a></li> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/business/}" class="btn btn-secondary btn-icon-silent">Finanzübersicht</a></li> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/business/bookings}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('business_booking')">Buchungsübersicht</a></li> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/business/}" class="btn btn-secondary btn-icon-silent">Finanzübersicht</a></li> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| <body> | ||||
| 	<th:block layout:fragment="header"> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/business/}" class="btn btn-secondary btn-icon-silent">Finanzübersicht</a></li> | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| 			<li class="nav-item"><a th:href="@{/rss/registrator}" class="btn btn-seconary btn-icon-silent"><i class="fas fa-rss"></i></a></li> | ||||
| 		</ul> | ||||
| 		<ul class="navbar-nav mb-2 mb-lg-0"> | ||||
| 			<li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 			<li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
| 		</ul> | ||||
| 	</th:block> | ||||
| 	<th:block layout:fragment="content"> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| <body> | ||||
|   <th:block layout:fragment="header"> | ||||
|     <ul class="navbar-nav mb-2 mb-lg-0"> | ||||
|       <li class="nav-item"><a th:href="@{/}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
|       <li class="nav-item"><a th:href="@{/dashboard}" class="btn btn-secondary btn-icon-silent">Hauptseite</a></li> | ||||
|     </ul> | ||||
|     <ul class="navbar-nav mb-2 mb-lg-0"> | ||||
|       <li class="nav-item"><a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent">Anmeldungen</a></li> | ||||
|   | ||||
| @@ -18,10 +18,10 @@ | ||||
| <script th:src="@{/js/mytoggle.js}"></script> | ||||
| <script th:src="@{/js/myAjax.js}"></script> | ||||
| <script th:src="@{/js/progress.js}"></script> | ||||
| <th:block layout:fragment="libs"></th:block> | ||||
| </head> | ||||
| <body> | ||||
| 	<nav class="navbar navbar-expand-lg bg-light"> | ||||
| 	<nav class="navbar navbar-expand-lg bg-light navbar-background"> | ||||
| 		<span class="navbar-brand"><img th:src="@{/images/logo.png}" width="128px" /></span> | ||||
| 		<div class="container-fluid"> | ||||
|     	<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"> | ||||
|       	<span class="navbar-toggler-icon"></span> | ||||
| @@ -41,7 +41,7 @@ | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</nav> | ||||
| 	<div layout:fragment="content">Layout content</div> | ||||
| 	<div layout:fragment="content">content</div> | ||||
| 	<div class="versionclip"> | ||||
| 		<a href="https://gitlab.com/jottyfan/camporganizer2/-/issues" class="versionlink" target="_blank" th:text="${'Version ' + @manifestBean.getVersion()}"></a> | ||||
| 	</div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user