source: src/main/resources/templates/post.html@ 7888b17

Last change on this file since 7888b17 was 7888b17, checked in by NikolaCenevski <cenevskinikola@…>, 3 years ago

Added post grouping

  • Property mode set to 100644
File size: 11.0 KB
RevLine 
[5577566]1<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml" xmlns:sec="http://www.w3.org/1999/xhtml">
2<head>
3 <meta charset="UTF-8"/>
4 <meta name="viewport" content="width=device-width, initial-scale=1"/>
5 <title>Register</title>
6 <!-- Bootstrap core CSS -->
7 <link href="css/bootstrap.min.css" rel="stylesheet"/>
8 <link href="css/carousel.css" rel="stylesheet"/>
9 <meta name="theme-color" content="#7952b3"/>
10</head>
11<body>
12<header th:replace="common/navbar :: navbar"></header>
13<br/>
14<br/>
15<br/>
16<div th:if="${notFound}">
17 Post not found
18</div>
19<div th:unless="${notFound}">
20<div class="row">
21 <div class="col-md-6" style="margin-left: 5px">
22 <div class="col-md-12">
23
24 <div id="myCarousel" class="carousel carousel-dark slide card" data-bs-ride="carousel">
25 <div class="carousel-indicators">
26 <button th:each="image, itrStat : ${post.imagesPath}" type="button" data-bs-target="#myCarousel"
27 th:data-bs-slide-to="${itrStat.index}" th:classappend="${itrStat.index} == 0 ? active"></button>
28 </div>
29 <div class="carousel-inner">
30 <div th:each="image, itrStat : ${post.imagesPath}" th:classappend="${itrStat.index} == 0 ? active"
31 class="carousel-item">
32 <img class="card-img" th:src="${image}" style="object-fit: contain">
33 </div>
34 </div>
35 <button class="carousel-control-prev" type="button" data-bs-target="#myCarousel" data-bs-slide="prev">
36 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
37 <span class="visually-hidden">Previous</span>
38 </button>
39 <button class="carousel-control-next" type="button" data-bs-target="#myCarousel" data-bs-slide="next">
40 <span class="carousel-control-next-icon" aria-hidden="true"></span>
41 <span class="visually-hidden">Next</span>
42 </button>
43 </div>
44 </div>
45 </div>
46 <div class="col-md-5" style="margin-left: 5px">
47 <div class="col-md-12">
48 <h1 th:text="${post.title}"></h1>
49 <h5>Description:</h5>
50 <p th:text="${post.description}"></p>
51 <h5>Funds needed:</h5>
52 <p><span th:text="${total}"></span>/<span th:text="${post.fundsNeeded}"></span> - <span th:text="${post.currency}"></span></p>
53 <h5>Date due:</h5>
54 <p th:text="${post.dateDue}"></p>
55 <h5>Bank account:</h5>
56 <p th:text="${post.bankAccount}"></p>
57 <h5>Phone numbers:</h5>
58 <p><span th:text="${post.phoneNumbers[0]}"></span> - Telekom</p>
59 <p><span th:text="${post.phoneNumbers[1]}"></span> - A1</p>
60 <h5>Created by:</h5>
61 <p><span th:text="${createdByFirstName}"></span> <span th:text="${createdByLastName}"></span></p>
[ab49338]62 <h5>Approved by:</h5>
63 <p th:unless="${moderatorFirstName}">Not approved</p>
64 <p><span th:text="${moderatorFirstName}"></span> <span th:text="${moderatorLastName}"></span></p>
[5577566]65
[ab49338]66 <button sec:authorize="isAuthenticated()" type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop">
[5577566]67 Donate
68 </button>
[7888b17]69 <button sec:authorize="isAnonymous()" type="button" class="btn btn-primary" disabled>
[ab49338]70 Donate
[7888b17]71 </button>
72 <button sec:authorize="isAuthenticated()" type="button" class="btn btn-danger" data-bs-toggle="modal"
[ab49338]73 data-bs-target="#staticBackdrop1">
74 Report
75 </button>
[7888b17]76 <button sec:authorize="isAnonymous()" type="button" class="btn btn-danger" disabled>
77 Report
78 </button>
[5577566]79
80 <!-- Modal -->
[7888b17]81 <div sec:authorize="isAuthenticated()" class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
[5577566]82 <div class="modal-dialog modal-dialog-centered">
83 <div class="modal-content">
84 <div class="modal-header">
85 <h5 class="modal-title" id="staticBackdropLabel">Donate</h5>
86 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
87 </div>
88 <div class="modal-body">
89 <div class="card-body">
90 <div style="float: right">
91 <img src="https://img.icons8.com/color/48/000000/visa.png"/>
92 <img src="https://img.icons8.com/color/48/000000/mastercard-logo.png"/>
93 <img src="https://img.icons8.com/color/48/000000/maestro.png"/>
94 </div>
95 <br/>
96 <br/>
97 <form th:action="@{/donate(postid=${post.id})}" method="post" id="myForm">
98 <div class="row">
99 <div class="col-md-6">
100 <label for="cardName" class="form-label">Cardholder's name</label>
101 <input type="text" class="form-control" id="cardName" name="cardName"
102 placeholder="Name on card" required>
103 </div>
104 <div class="col-md-6 mb-0">
105 <label for="cardNumber" class="form-label">Card Number</label>
106 <input type="text" class="form-control" id="cardNumber" name="cardNumber"
107 placeholder="0000 0000 0000 0000" required>
108 </div>
109 </div>
110 <div class="row">
111 <div class="col-md-6">
112 <label for="expiryDate" class="form-label">Expiry date</label>
113 <input type="text" class="form-control" id="expiryDate" name="expiryDate"
114 placeholder="MM/YY" required>
115 </div>
116 <div class="col-md-6">
117 <label for="cvv" class="form-label">CVV</label>
118 <input type="text" class="form-control" id="cvv" name="cvv" placeholder="XXX" required>
119 </div>
120 </div>
121 <hr>
122 <div class="row">
123 <div class="col-md-6">
124 <label for="amount" class="form-label">Amount</label>
125 <div class="input-group">
126 <input type="number" class="form-control" id="amount" name="amount" required>
127 <span class="input-group-text">MKD</span>
128 </div>
129 </div>
130 </div>
131 </form>
132 </div>
133 </div>
134 <div class="modal-footer">
135 <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
136 <input type="submit" class="btn btn-primary" form="myForm" value="Confirm">
137 </div>
138 </div>
139 </div>
140 </div>
[7888b17]141 <div sec:authorize="isAuthenticated()" class="modal fade" id="staticBackdrop1" data-bs-backdrop="static" data-bs-keyboard="false"
[ab49338]142 tabindex="-1" aria-labelledby="staticBackdropLabel1" aria-hidden="true">
143 <div class="modal-dialog modal-dialog-centered">
144 <div class="modal-content">
145 <div class="modal-header">
146 <h5 class="modal-title" id="staticBackdropLabel1">Report post</h5>
147 <button type="button" class="btn-close" data-bs-dismiss="modal"
148 aria-label="Close"></button>
149 </div>
150 <div class="modal-body">
151 <div class="card-body">
152 <form th:action="@{/report(postid=${post.id})}" method="post"
153 id="myForm1">
154 <label for="description">Description</label>
155 <textarea class="form-control" id="description" name="description"
156 rows="5"></textarea>
157 </form>
158 </div>
159 </div>
160 <div class="modal-footer">
161 <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
162 <input type="submit" class="btn btn-primary" form="myForm1" value="Confirm">
163 </div>
164 </div>
165 </div>
166 </div>
[5577566]167 </div>
168 </div>
169</div>
170<div class="row">
171 <div class="col-md-12">
172 <div class="col-md-8">
173 <h3>Funds collected</h3>
174 <div class="card mb-3">
175 <div class="card-body">
176 <div class="row">
177 <div class="col">
178 <h6>Type</h6>
179 </div>
180 <div class="col text-secondary">
181 <h6>Amount (MKD)</h6>
182 </div>
183 </div>
184 <div class="row" th:each="funds : ${post.fundsCollected}">
185 <div class="col">
186 <h6 th:text="${funds.description}"></h6>
187 </div>
188 <div class="col text-secondary" th:text="${funds.funds}">
189 </div>
190 <hr class="dropdown-divider">
191 </div>
192 </div>
193 </div>
194 </div>
195</div>
196</div>
197</div>
198<script src="/js/bootstrap.min.js"></script>
199<script th:inline="javascript" th:unless="${notFound}" sec:authorize="isAuthenticated()">
200 /*<![CDATA[*/
201
202 var creditCardInfo = /*[[${user.creditCardInfo}]]*/ 'default';
203 if(creditCardInfo) {
204 var parts = creditCardInfo.split(",");
205 document.getElementById("cardName").value=parts[0];
206 document.getElementById("cardNumber").value=parts[1];
207 document.getElementById("expiryDate").value=parts[2];
208 document.getElementById("cvv").value=parts[3];
209 }
210
211 /*]]>*/
212</script>
213</body>
214</html>
Note: See TracBrowser for help on using the repository browser.