Changeset c02189f in Git for src/main/resources
- Timestamp:
- 02/08/22 20:13:23 (3 years ago)
- Branches:
- main
- Children:
- 0226942, 3fe36de
- Parents:
- 3c0f9a9
- Location:
- src/main/resources
- Files:
-
- 1 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/resources/static/css/shared.css
r3c0f9a9 rc02189f 52 52 .bottom{ 53 53 position: absolute; 54 top: 80%;54 top: 75%; 55 55 margin:auto; 56 56 width: 100%; … … 60 60 background-color: rgba(0,0,0,0.25); 61 61 } 62 63 64 .bottom-heart{ 62 .bottom h3, .bottom span{ 63 margin-bottom: 0px; 64 margin-top: 0px; 65 } 66 .bottom span{ 67 font-size: 75%; 68 margin-top: 5px; 69 } 70 71 72 .elements .card .btn{ 65 73 top: 60%; 66 74 left: auto; … … 105 113 opacity: 0; 106 114 } 115 116 .person-movies-list{ 117 margin: auto; 118 margin-top: 20px; 119 padding: 10px; 120 width: 80%; 121 background-color: rgba(52, 58, 64, 0.7); 122 border-radius: 10px; 123 transition: 200ms; 124 color: white; 125 } 126 127 .person-movies-list:hover{ 128 background-color: rgba(52, 58, 64, 1); 129 } 130 131 .person-movies-list ul{ 132 list-style-type: none; 133 } 134 135 .person-movies-list ul li{ 136 color:black; 137 background-color: rgba(255,255,255,0.7); 138 padding: 12px; 139 font-size: 120%; 140 width: 80%; 141 text-align: center; 142 margin: auto; 143 transition: 200ms; 144 border-radius: 10px; 145 margin-bottom: 5px; 146 text-decoration: underline; 147 } 148 149 .person-movies-list hr{ 150 color: white; 151 background-color: white; 152 border-color: white; 153 } 154 155 .person-movies-list ul li:hover{ 156 background-color: rgba(255,255,255,1); 157 text-decoration-color: blue; 158 } 159 160 .genres-listing ul li:hover{ 161 background-color: rgba(222,128,128,1); 162 } 163 164 .genres-listing ul li{ 165 background-color: rgba(192,128,128,0.7); 166 text-decoration: none !important; 167 } 168 169 .person-movies-list ul li a{ 170 color: black; 171 transition: 250ms; 172 text-decoration: underline; 173 text-decoration-color: black; 174 } 175 176 .person-movies-list ul li a:hover{ 177 color:blue; 178 } 179 180 181 #admin-buttons a{ 182 display: inline-block; 183 width: 95%; 184 margin: auto; 185 margin-top: 10px; 186 font-size: 125%; 187 clear: both; 188 } 189 190 #image-movie-section{ 191 height: fit-content; 192 min-height: fit-content; 193 } 194 195 #likes-showcase{ 196 background-color: rgba(192,128,128,0.7); 197 border-radius: 10px; 198 padding:10px; 199 width: 60%; 200 margin: auto; 201 transition: 200ms; 202 margin-top: 2%; 203 } 204 205 #likes-showcase strong{ 206 font-size: 150%; 207 } 208 209 #likes-showcase:hover{ 210 background-color: rgba(222,128,128,1); 211 } 212 213 .invisible-search{ 214 display: none; 215 } -
src/main/resources/static/js/sharedScript.js
r3c0f9a9 rc02189f 4 4 var elements = $(".elements") 5 5 var elementGrade; 6 6 var first_time = true; 7 7 8 8 $("#button-add").on("click", function (){ … … 56 56 $(".button-add-grade-movie").on("click",function (){ 57 57 elementGrade = $(this) 58 urlRating =" api/movies/grade/"+$(this).attr("movie-id")58 urlRating ="/api/movies/grade/"+$(this).attr("movie-id") 59 59 $("#dialog-rating").dialog("open") 60 60 }) 61 61 $(".button-add-grade-person").on("click",function (){ 62 62 elementGrade = $(this) 63 urlRating =" api/persons/grade/"+$(this).attr("person-id")63 urlRating ="/api/persons/grade/"+$(this).attr("person-id") 64 64 $("#dialog-rating").dialog("open") 65 65 }) … … 81 81 })*/ 82 82 83 $("#button_toggle_filters").on("click", function (){ 84 if(first_time){ 85 $("#filters_div").removeClass("invisible-search") 86 first_time=false 87 } 88 else 89 $("#filters_div").fadeToggle(); 90 }) 83 91 84 92 $(".search-button").on("click",function () { 85 let filter = $("#searchGenre").val() 93 elements = $(".elements") 94 let filter = $("#searchGenre").val() 95 console.log('\''+filter+'\'') 96 console.log(elements) 97 if(filter.length==0){ 98 console.log("HERE") 99 for (let item of elements) { 100 $(item).removeClass("visibility") 101 } 102 } 86 103 for (let item of elements) { 87 let genre = $(item).find(".card-genre") 104 $(item).removeClass("visibility") 105 let genre = $(item).children(".card-genre") 88 106 let visible = false; 89 107 console.log(genre.length) 90 108 for (let g of genre) { 91 92 if (( $(g).text().toLowerCase() === filter.toLowerCase() && !$(g).hasClass("visibility") && filter.trim().length != 0)) {109 if (( $(g).text().toLowerCase() === filter.toLowerCase())){ 110 console.log(item.text + ' ' + $(g).text()) 93 111 visible = true 94 112 $(item).removeClass("visibility") … … 96 114 } 97 115 } 98 if (!visible && filter.trim().length != 0)116 if(!visible){ 99 117 $(item).addClass("visibility") 100 else 101 $(item).removeClass("visibility") 118 } 102 119 103 120 } … … 106 123 $(".button-delete-movie").on("click",function (){ 107 124 let button = $(this) 108 let url = " api/movies/delete/" + $(button).attr("movie-id")125 let url = "/api/movies/delete/" + $(button).attr("movie-id") 109 126 ajaxCallDelete(url,button) 110 127 }) 111 128 $(".button-delete-actor").on("click",function (){ 112 129 let button = $(this) 113 let url = " api/persons/delete/" + $(button).attr("person-id")130 let url = "/api/persons/delete/" + $(button).attr("person-id") 114 131 ajaxCallDelete(url,button) 115 132 }) 116 133 $(".button-delete-discussion").on("click",function (){ 117 134 let button = $(this) 118 let url = " api/discussions/delete/" + $(button).attr("discussion-id")135 let url = "/api/discussions/delete/" + $(button).attr("discussion-id") 119 136 ajaxCallDelete(url,button) 120 137 }) … … 139 156 $(document.body).on("click",".button-add-favourite-list",function (){ 140 157 let button = $(this) 141 let url = " api/movies/like/"+ $(this).attr("movie-id") + "?userId="+ $(this).attr("user-id")158 let url = "/api/movies/like/"+ $(this).attr("movie-id") + "?userId="+ $(this).attr("user-id") 142 159 ajaxCallLike(url,button,'like','Веќе е филмот допаднат!') 143 160 }) 144 161 $(document.body).on("click",".button-remove-favourite-list",function (){ 145 162 let button = $(this) 146 let url = " api/movies/unlike/"+ $(this).attr("movie-id")+"?userId="+ $(this).attr("user-id")163 let url = "/api/movies/unlike/"+ $(this).attr("movie-id")+"?userId="+ $(this).attr("user-id") 147 164 ajaxCallLike(url,button,'unlike','Немате оставено допаѓање на филмот!') 148 165 }) 149 166 $(document.body).on("click",".button-add-genre-liked-list",function (){ 150 167 let button = $(this) 151 let url = " api/genres/like/"+ $(this).attr("genre-id") + "?userId="+ $(this).attr("user-id")168 let url = "/api/genres/like/"+ $(this).attr("genre-id") + "?userId="+ $(this).attr("user-id") 152 169 ajaxCallLikeGenre(url,button,'like','Веќе ви се допаѓа жанрот!') 153 170 }) 154 171 $(document.body).on("click",".button-remove-genre-liked-list",function (){ 155 172 let button = $(this) 156 let url = " api/genres/unlike/"+ $(this).attr("genre-id")+"?userId="+ $(this).attr("user-id")173 let url = "/api/genres/unlike/"+ $(this).attr("genre-id")+"?userId="+ $(this).attr("user-id") 157 174 ajaxCallLikeGenre(url,button,'unlike','Немате оставено допаѓање на жанрот!') 175 }) 176 $(document.body).on("click",".button-like-discussion",function (){ 177 let button = $(this) 178 let url = "/api/discussions/like/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id") 179 ajaxCallLikeDiscussion(url,button,'like','Веќе имате оставено допаѓање на дискусијата!') 180 }) 181 $(document.body).on("click",".button-unlike-discussion",function (){ 182 let button = $(this) 183 let url = "/api/discussions/unlike/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id") 184 ajaxCallLikeDiscussion(url,button,'unlike','Немате оставено допаѓање на дискусијата!') 185 }) 186 $(document.body).on("click",".button-like-discussion-alt",function (){ 187 let button = $(this) 188 let url = "/api/discussions/like/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id") 189 ajaxCallLikeDiscussionAlternative(url,button,'like','Веќе имате оставено допаѓање на дискусијата!') 190 }) 191 $(document.body).on("click",".button-unlike-discussion-alt",function (){ 192 let button = $(this) 193 let url = "/api/discussions/unlike/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id") 194 ajaxCallLikeDiscussionAlternative(url,button,'unlike','Немате оставено допаѓање на дискусијата!') 158 195 }) 159 196 $(".discussion-type").change(function (){ … … 189 226 let movieId=$(button).attr("movie-id") 190 227 if (type==='like') { 191 $(button).parent().append("<a class='b ottom-heart btn btn-danger button-remove-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">💔</a>")228 $(button).parent().append("<a class='btn btn-danger button-remove-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">💔</a>") 192 229 console.log("da") 193 230 } 194 231 else{ 195 $(button).parent().append("<a class='bottom-heart btn btn-success button-add-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">❤</a>") 196 197 } 232 $(button).parent().append("<a class='btn btn-success button-add-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">❤</a>") 233 } 234 likes_count = $("#movie_likes_count") 235 count = Number($(likes_count).text()) 236 if(type==="like") 237 count++ 238 else 239 count-- 240 likes_count.text(count) 198 241 $(button).remove() 199 242 } … … 263 306 264 307 308 309 310 function ajaxCallLikeDiscussion(url,button,type,message){ 311 $.ajax({ 312 url:url, 313 success:function (data){ 314 if (data){ 315 let el = $(button).parent().siblings().eq(3) 316 console.log(el) 317 if (type=="like") { 318 $(el).html(parseInt($(el).text()) + 1) 319 console.log("da") 320 } 321 else 322 $(el).html(parseInt($(el).text()) - 1) 323 $(button).css("display","none") 324 let userId = $(button).attr("user-id") 325 let discussionId=$(button).attr("discussion-id") 326 if (type==='like') { 327 $(button).parent().append("<a class='btn btn-danger button-unlike-discussion' discussion-id=" + discussionId + " user-id=" + userId + ">💔</a>") 328 console.log("da") 329 } 330 else{ 331 $(button).parent().append("<a class='btn btn-success button-like-discussion' discussion-id=" + discussionId + " user-id=" + userId + ">❤</a>") 332 } 333 var likes_count = $("#likes_count") 334 var count = Number($(likes_count).text()) 335 if(type==='like') 336 count += 1 337 else 338 count -= 1 339 $(likes_count).text(count); 340 $(button).remove() 341 } 342 else { 343 $(button).parent().append("<div>" + message +" <button class='button-confirm'>Ок</button></div>") 344 } 345 } 346 }) 347 } 348 349 350 351 function ajaxCallLikeDiscussionAlternative(url,button,type,message){ 352 $.ajax({ 353 url:url, 354 success:function (data){ 355 if (data){ 356 let el = $(button).parent().siblings().eq(3) 357 console.log(el) 358 if (type=="like") { 359 $(el).html(parseInt($(el).text()) + 1) 360 console.log("da") 361 } 362 else 363 $(el).html(parseInt($(el).text()) - 1) 364 $(button).css("display","none") 365 let userId = $(button).attr("user-id") 366 let discussionId=$(button).attr("discussion-id") 367 if (type==='like') { 368 $(button).parent().append("<a class='btn btn-danger button-unlike-discussion-alt' discussion-id=" + discussionId + " user-id=" + userId + ">💔</a>") 369 console.log("da") 370 } 371 else{ 372 $(button).parent().append("<a class='btn btn-success button-like-discussion-alt' discussion-id=" + discussionId + " user-id=" + userId + ">❤</a>") 373 } 374 var likes_count = $(button).parent().siblings(".likes_count").first() 375 var count = Number(likes_count.text()) 376 if(type==='like') 377 count += 1 378 else 379 count -= 1 380 $(likes_count).text(count); 381 $(button).remove() 382 } 383 else { 384 $(button).parent().append("<div>" + message +" <button class='button-confirm'>Ок</button></div>") 385 } 386 } 387 }) 388 } 389 390 265 391 function ajaxCallRating(url,button,type){ 266 392 model = { -
src/main/resources/templates/discussion.html
r3c0f9a9 rc02189f 1 1 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml"> 2 2 <div style="width: 85%; text-align: justify; margin: auto; clear: both"> 3 <div >4 <h1 th:text="${disc.getTitle()}" style="width: 80%; float: left"></h1>3 <div style="background-color: rgba(128,128,128, 0.2); border-radius: 20px; padding: 20px"> 4 <h1 th:text="${disc.getTitle()}" style="width: 80%; display: inline; height: fit-content; clear: both"></h1> 5 5 </div> 6 <hr> <br><br>6 <hr> 7 7 <div> 8 8 <h5 th:text="${disc.getText()}" style="width: 90%; margin: auto; background-color: lightblue; border-radius: 4px; padding: 20px"></h5> 9 9 </div> 10 <br><br><br> 10 <br> 11 <h4> 12 <span th:if="${!disc.getUser().equals(user)}" sec:authorize="isAuthenticated()"> 13 <a class='btn btn-success button-like-discussion' th:if="${!likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >❤</a> 14 <a class='btn btn-danger button-unlike-discussion' th:if="${likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >💔</a> 15 </span> 16 <span>Број на допаѓања:</span> 17 <span th:text="${likes}" id="likes_count"></span> 18 </h4> 19 <br> 11 20 <h6 style="width: 60%; float:left;"> 12 21 <span th:text="${'Поставено од: '+disc.getUser().getUsername()}"></span> … … 17 26 </h6> 18 27 <div style="float: right" sec:authorize="isAuthenticated()"> 19 <a th:if="${disc.getUser().equals(user)}" class="btn btn-warning" th:href="@{'/discussions/add/{id}' (id=${disc.getDiscussionId()})}">Промени</a> 20 <a th:if="${disc.getUser().equals(user)}" class="btn btn-danger button-delete-discussion" th:discussion-id="${disc.getDiscussionId()}">Избриши</a> 21 <a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a> 22 </div> 28 <a th:if="${disc.getUser().equals(user)}" class="btn btn-warning" th:href="@{'/discussions/add/{id}' (id=${disc.getDiscussionId()})}">Промени</a> 29 <a th:if="${disc.getUser().equals(user)}" class="btn btn-danger button-delete-discussion" th:discussion-id="${disc.getDiscussionId()}">Избриши</a> 30 <a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a> 31 32 </div><br> 23 33 </div> 24 34 <table class="table table-striped" style="width: 70%; margin: auto;"> -
src/main/resources/templates/discussionsList.html
r3c0f9a9 rc02189f 4 4 </div> 5 5 <div class="container mb-4"> 6 <div class="row">7 6 <div class="col-12" th:if="${discussions.size() > 0}"> 8 7 <div class="table-responsive"> … … 10 9 <thead> 11 10 <tr> 11 <th scope="col">За</th> 12 12 <th scope="col">Наслов</th> 13 <th scope="col"> Опис</th>13 <th scope="col">Допаѓања</th> 14 14 <th scope="col">Датум</th> 15 15 <th scope="col">Корисник</th> … … 27 27 <tbody> 28 28 <tr th:each="disc : ${discussions}" class="movie"> 29 <td th:text="${disc.getMovie() != null ? disc.getMovie().getTitle() :disc.getPerson().getName() + ' ' + disc.getPerson().getSurname()}"></td>29 <td th:text="${disc.getMovie() != null ? 'Филмот ' + disc.getMovie().getTitle() : 'Актерот ' + disc.getPerson().getName() + ' ' + disc.getPerson().getSurname()}"></td> 30 30 <td> 31 31 <a th:text="${disc.getTitle()}" th:href="@{'/discussions/{id}' (id=${disc.getDiscussionId()})}"></a> 32 32 </td> 33 <td th:text="${disc.getText()}"></td> 33 <td th:each="like : ${likes}" th:if="${like.getDiscussionId().equals(disc.getDiscussionId())}" th:text="${like.getLikes()}" class="likes_count"> 34 </td> 34 35 <td th:text="${disc.getDate()}"></td> 35 36 <td th:text="${disc.getUser().getUsername()}"></td> … … 40 41 <td th:if="${!disc.getUser().equals(user)}"><a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a> </td> 41 42 <td th:if="${!disc.getUser().equals(user)}"> 42 <a class= "btn btn-success">👍</a>43 <a class= "btn btn-danger">👎</a>43 <a class='btn btn-success button-like-discussion-alt' th:if="${!likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >❤</a> 44 <a class='btn btn-danger button-unlike-discussion-alt' th:if="${likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >💔</a> 44 45 </td> 45 46 </th:block> 46 47 47 48 48 </tr> … … 51 51 </div> 52 52 </div> 53 </div>54 53 </div> 55 54 -
src/main/resources/templates/fragments/header.html
r3c0f9a9 rc02189f 2 2 <nav class="navbar navbar-expand-md navbar-dark bg-dark"> 3 3 <div class="container"> 4 <a class="navbar-brand" href="/movies">Форум за филмови</a>5 4 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" 6 5 aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation"> … … 28 27 </li> 29 28 </ul> 30 <form class="form-inline my-2 my-lg-0 ">29 <form class="form-inline my-2 my-lg-0 hidden"> 31 30 <div class="input-group input-group-sm"> 32 31 <input type="text" class="form-control" aria-label="Small" -
src/main/resources/templates/fragments/searchBarGenre.html
r3c0f9a9 rc02189f 1 <div> 2 <label for="searchGenre" style="width: 150px;">Пребарај по жанр</label> 3 <input id="searchGenre" type="text" placeholder="жанр"> 4 <button class="search-button">Пребарај</button> 1 <div xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" style="width:60%; margin: auto; margin-bottom: 10px"> 2 <select th:if="${genres!=null}" id="searchGenre" class="form-control" style="float: left; display: block; width: 50%"> 3 <option value="" selected>Сите</option> 4 <option th:each="genre: ${genres}" th:value="${genre.getGenreType()}" th:text="${genre.getGenreType()}"></option> 5 </select> 6 <div class="input-group-append" style="width: 40%"> 7 <button class="btn btn-secondary search-button" style="width: 100%">Филтрирај по жанр</button> 8 </div> 5 9 </div> -
src/main/resources/templates/fragments/searchBarName.html
r3c0f9a9 rc02189f 1 <div> 2 <label for="searchTitle" style="width: 150px;">Прабарај по име</label> 3 <input id="searchTitle" type="text" placeholder="име"> 4 <button class="search-button-title">Пребарај</button> 1 <div style="width:60%; margin: auto;"> 2 <input id="searchTitle" class="form-control" style="float: left; display: block; width: 50%" type="text" placeholder="..."> 3 4 <div class="input-group-append" style="width: 40%"> 5 <button class="btn btn-secondary search-button-title" style="width: 100%">Филтрирај по Наслов</button> 6 </div> 7 5 8 </div> -
src/main/resources/templates/movieShow.html
r3c0f9a9 rc02189f 13 13 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 80%; margin: auto"> 14 14 <div> 15 <div style="width: 30%; margin-right: 10px; padding:20px; border-right: 3px solid black; border-radius: 10px; float:left"> 16 <img th:src="${movie.getImageUrl()}" style="width: 90%; height: auto"> 15 <div style="width: 30%; margin-right: 10px; padding:20px; border-right: 3px solid black; border-radius: 10px; float:left" id="image-movie-section"> 16 <img th:src="${movie.getImageUrl()}" style="width: 90%; height: auto; clear: both; margin-bottom: 20px"> 17 <div id="admin-buttons"> 18 <a class="btn btn-primary" th:href="@{'/discussions/all/{id}?type=M' (id=${movie.getMovieId()})}" >Прегледај дискусии</a> 19 <th:block sec:authorize="isAuthenticated()" > 20 <div> 21 <a class="btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">❤</a> 22 <a class="btn btn-danger button-remove-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${likedMovies.contains(movie)}">💔</a> 23 </div> 24 <a class="btn btn-secondary button-add-grade-movie" th:movie-id="${movie.getMovieId()}">Остави оценка</a> 25 <a class="btn btn-warning" th:href="@{'/movies/{id}/edit' (id=${movie.getMovieId()})}">Промени</a> 26 <a class="btn btn-danger button-delete-movie" th:movie-id="${movie.getMovieId()}">Избриши филм</a> 27 </th:block> 28 </div> 17 29 </div> 18 30 … … 26 38 </h3> 27 39 <h3 th:text="${'IMDB оцена: ' + movie.getImdbRating()}"></h3> 28 <h3 th:text="${'Прикажан на: ' + movie.get AiringDate()}"></h3>40 <h3 th:text="${'Прикажан на: ' + movie.getDateFormatted()}"></h3> 29 41 30 42 <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; "> … … 33 45 </div> 34 46 35 <div> 47 <div id="likes-showcase"> 48 <h4 style="text-align: center"> 49 <span>Филмот му се допаднал на </span> 50 <strong th:text="${likes}" id="movie_likes_count"></strong> 51 <span> корисници</span> 52 </h4> 53 </div> 54 55 <div class="person-movies-list genres-listing"> 36 56 <h3>Жанрови:</h3> 37 57 <ul> … … 39 59 </ul> 40 60 </div> 41 <div >61 <div class="person-movies-list"> 42 62 <h3>Актери:</h3> 43 63 <ul> … … 48 68 </div> 49 69 </div> 50 <div id="admin-buttons"> 51 <a class="btn btn-primary" th:href="@{'/discussions/all/{id}?type=M' (id=${movie.getMovieId()})}" >Прегледај дискусии</a> 52 <th:block sec:authorize="isAuthenticated()" > 53 <a class="btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">Додади во омилена листа</a> 54 <a class="btn btn-warning button-remove-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${likedMovies.contains(movie)}">Избриши од омилена листа</a> 55 <a class="btn btn-success button-add-grade-movie" th:movie-id="${movie.getMovieId()}">Остави оценка</a> 56 <a class="btn btn-warning" th:href="@{'/movies/{id}/edit' (id=${movie.getMovieId()})}">Промени</a> 57 <a class="btn btn-danger button-delete-movie" th:movie-id="${movie.getMovieId()}">Избриши филм</a> 58 </th:block> 59 </div> 70 60 71 <hr> 61 72 <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px"> … … 70 81 </div> 71 82 <div style="width: 30%; float:right; background-color: darkorange; border-radius: 10px 30px; color: whitesmoke; padding: 10px;"> 72 <h2 style="text-align: center"> Rated:</h2>73 <p th:text="${rating.getStarsRated() + ' out of 10 stars'}" style="text-align: center"></p>83 <h2 style="text-align: center">Оценет:</h2> 84 <p th:text="${rating.getStarsRated() + ' од 10'}" style="text-align: center"></p> 74 85 </div> 75 86 </div> … … 77 88 <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px"> 78 89 <h2> 79 <span>Бројот на лајкови кои филмот ги добил:</span> 80 <span th:text="${movie.getLikes().size()}"></span> 90 <span>Лајковите кои филмот ги добил:</span> 81 91 </h2> 82 92 <hr> -
src/main/resources/templates/moviesList.html
r3c0f9a9 rc02189f 2 2 3 3 <div style="width: 70%; margin: auto"> 4 <div th:replace="fragments/searchBarName"></div> 4 <div th:replace="fragments/searchBarName"></div><br> 5 5 <div th:replace="fragments/searchBarGenre"></div> 6 6 </div> -
src/main/resources/templates/moviesListPaged.html
r3c0f9a9 rc02189f 1 1 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml"> 2 3 <div style="width: 70%; margin: auto"> 4 <div th:replace="fragments/searchBarName"></div> 5 <div th:replace="fragments/searchBarGenre"></div> 6 2 <div style="margin:auto; width: 60%"> 3 <div style="width: 30%; margin: auto; height: 100%; margin-bottom: 10px"> 4 <a class="btn btn-outline-dark" style="height: 100%; width: 100%; font-size: 125%" id="button_toggle_filters">Прикажи филтрирање</a> 5 </div> 6 <div style="width: 100%; margin: auto; transition: 200ms" id="filters_div" class="invisible-search"> 7 <div th:replace="fragments/searchBarName"></div><br> 8 <div th:replace="fragments/searchBarGenre"></div> 9 </div> 7 10 </div> 8 9 11 <div id="paging-section"> 10 12 <div id="inner-paging" class="input-group"> … … 25 27 </div> 26 28 </div> 27 </div><br> <br><br>29 </div><br> 28 30 29 31 <div class="container mb-4"> … … 34 36 <div class="row" th:each="row: ${movie_rows}" > 35 37 <div class="col-md-3 elements" th:each="movie: ${row}" > 38 <span th:each="genre: ${movie.getGenres()}" th:text="${genre?.getGenre()?.getGenreType()}" hidden class="card-genre"></span> 36 39 <div class="card-body card bg-image" th:style="'background:url(' + ${movie.getImageUrl()} + ') no-repeat center #eee;'"> 37 40 <a class="card-text-center" style="color: white" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" > 38 41 <h3 class="card-title title" th:text="${movie.getTitle()}"></h3> 39 42 <span th:each="genre: ${movie.getGenres()}" th:text="${genre?.getGenre()?.getGenreType()}" hidden class="card-genre"></span> 40 41 43 </a> 42 <h3 class="card-text bottom" th:text="${'Rated '+movie.getImdbRating()}"></h3> 44 <span class="card-text bottom"> 45 <h3 th:text="${'Оценет '+movie.getImdbRating() + '/10'}"></h3> 46 </span> 43 47 <th:block sec:authorize="isAuthenticated()"> 44 48 <a class="bottom-heart btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">❤</a> -
src/main/resources/templates/personShow.html
r3c0f9a9 rc02189f 1 1 2 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 80%; margin: auto"> 3 <div> 4 2 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 70%; margin: auto"> 3 <div style="clear: both; margin-bottom: 10px; display: inline-block"> 5 4 <div style="width: 60%; margin-left: 10px; padding:20px; float:left"> 6 5 <h1 th:text="${person.getName() + ' ' + person.getSurname()}" style="text-align: center; padding:10px; background-color: rgba(64,64,64,0.5); color:white; border-radius: 10px 0px"></h1> 7 6 <hr> 8 <h3 th:text="${' Born on: ' + person.getDateOfBirth()}"></h3>7 <h3 th:text="${'Роден на: ' + person.getDateFormatted()}"></h3> 9 8 <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; "> 10 <h3> Description:</h3>9 <h3>Краток Опис:</h3> 11 10 <p th:text="${person.getDescription()}" style="text-align: justify"></p> 12 11 </div> 13 12 14 <div th:if="${person.getType() == 'D'}"> 15 <h3 >Directed movies:</h3> 13 <div th:if="${person.getType().toString().contains('D')}" class="person-movies-list"> 14 <h3 >Режисирани филмови:</h3> 15 <hr> 16 16 <ul> 17 <li th:each="movie: ${ actor.getMovies()}"><a th:text="${movie.getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" ></a></li>17 <li th:each="movie: ${person.getMovies()}"><a th:text="${movie.getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" ></a></li> 18 18 </ul> 19 19 </div> 20 <div th:if="${person.getType() == 'A'}"> 21 <h3 >Acted in movies:</h3> 20 <div th:if="${person.getType().toString().contains('A')}" class="person-movies-list"> 21 <h3 >Се појавува во филмовите:</h3> 22 <hr> 22 23 <ul> 23 <li th:each="movie: ${ actor.getMovieActors()}" ><a th:text="${movie.getMovie().getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovie().getMovieId()})}" ></a></li>24 <li th:each="movie: ${person.getMovieActors()}" ><a th:text="${movie.getMovie().getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovie().getMovieId()})}" ></a></li> 24 25 </ul> 25 26 </div> 26 27 27 </div> 28 <div style="width: 30%; margin-left: 10px; padding:20px; border-left: 3px solid black; border-radius: 10px; float: left">28 <div style="width: 30%; margin-left: 10px; padding:20px; border-left: 3px solid black; border-radius: 10px; float:right"> 29 29 <img th:src="${person.getImageUrl()}" style="width: 90%; height: auto"> 30 30 </div> 31 31 </div> 32 <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px"> 32 <br> 33 <div style="clear:both; display: inline-block; width: 100%; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px"> 33 34 <h2> 34 <span>Бројот на оцени кои филмот ги добил:</span>35 <span th:text="${ movie.getRates().size()}"></span>35 <span>Бројот на оцени кои личноста ги има добиено:</span> 36 <span th:text="${person.getPersonRates().size()}"></span> 36 37 </h2> 37 38 <hr> 38 <div th:each="rating: ${ movie.getRates()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 130px;">39 <div th:each="rating: ${person.getPersonRates()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 130px;"> 39 40 <div style="width: 60%; float:left;"> 40 41 <p th:text="${rating.getReason()}" style="text-align: justify"></p> 41 42 </div> 42 43 <div style="width: 30%; float:right; background-color: darkorange; border-radius: 10px 30px; color: whitesmoke; padding: 10px;"> 43 <h2 style="text-align: center"> Rated:</h2>44 <p th:text="${rating.getStarsRated() + ' out of 10 stars'}" style="text-align: center"></p>44 <h2 style="text-align: center">Оценет со :</h2> 45 <p th:text="${rating.getStarsRated() + ' од 10'}" style="text-align: center"></p> 45 46 </div> 46 47 </div> 47 48 </div> 48 <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px"> 49 <h2> 50 <span>Бројот на лајкови кои филмот ги добил:</span> 51 <span th:text="${movie.getLikes().size()}"></span> 52 </h2> 53 <hr> 54 <div th:each="liked: ${movie.getLikes()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 60px;"> 55 <div style="width: 100%; float:left;"> 56 <h3 style="text-align: center"> 57 <span th:text="${liked.getUser().getName() + ' ' + liked.getUser().getSurname()}"></span> 58 <span style="color: green; font-size: 100%" >✔</span> 59 </h3> 60 </div> 61 </div> 62 </div> 49 63 50 </div> -
src/main/resources/templates/personsList.html
r3c0f9a9 rc02189f 5 5 </div> 6 6 <div class="container mb-4"> 7 <div class="row">8 7 <div class="col-12" th:if="${persons.size() > 0}"> 9 8 <div class="table-responsive"> … … 47 46 <th:block sec:authorize="isAuthenticated()"> 48 47 <td> 49 <a class="btn btn- primary button-add-grade-person" th:person-id="${person.getPersonId()}">Остави оценка</a>48 <a class="btn btn-secondary button-add-grade-person" th:person-id="${person.getPersonId()}">Остави оценка</a> 50 49 51 50 </td> 52 51 <td> 53 <a class="btn btn- primary" th:href="@{'persons/edit/{personId}' (personId = ${person.getPersonId()})}">Промени</a>52 <a class="btn btn-warning" th:href="@{'persons/edit/{personId}' (personId = ${person.getPersonId()})}">Промени</a> 54 53 </td> 55 54 <td> 56 <a class="btn btn- primarybutton-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a>55 <a class="btn btn-danger button-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a> 57 56 58 57 </td> 59 60 <a class="bottom-heart btn btn-success button-add-favourite-list"61 th:movie-id="${person.getMovieId()}"62 th:user-id="${user.getUserId()}"63 th:if="${!likedPersons.contains(movie)}">❤</a>64 65 <a class="bottom-heart btn btn-danger button-remove-favourite-list"66 th:movie-id="${person.getMovieId()}" th:user-id="${user.getUserId()}"67 th:if="${likedPersons.contains(movie)}">💔</a>68 58 69 59 … … 75 65 </div> 76 66 </div> 77 </div>78 67 </div> 79 68 -
src/main/resources/templates/template.html
r3c0f9a9 rc02189f 16 16 </head> 17 17 <body> 18 <section class="jumbotron text-center"> 19 <div class="container"> 20 <!--<img th:src="@{/img/logo.png}" style="opacity: 0.3; z-index: 5; position: absolute; margin: auto; height: 225px; width: auto; left: 42%; top: 2%">--> 21 <h1 class="jumbotron-heading" style="z-index: -1">weDiscussMovies</h1> 18 <section class="jumbotron text-center" style="background: url('/img/cover.jpg') center; background-repeat: no-repeat; background-size: 100% auto; height: 280px; margin-bottom: 0px "> 19 <div class="container" > 20 <h1 class="jumbotron-heading" style="z-index: -1"></h1> 22 21 </div> 23 22 </section>
Note:
See TracChangeset
for help on using the changeset viewer.