Changeset c02189f in Git for src/main/resources


Ignore:
Timestamp:
02/08/22 20:13:23 (3 years ago)
Author:
Petar Partaloski <ppartaloski@…>
Branches:
main
Children:
0226942, 3fe36de
Parents:
3c0f9a9
Message:

Added new core functionalities, fixed bugs and improved visual clarity

Location:
src/main/resources
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • src/main/resources/static/css/shared.css

    r3c0f9a9 rc02189f  
    5252.bottom{
    5353    position: absolute;
    54     top: 80%;
     54    top: 75%;
    5555    margin:auto;
    5656    width: 100%;
     
    6060    background-color: rgba(0,0,0,0.25);
    6161}
    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{
    6573    top: 60%;
    6674    left: auto;
     
    105113    opacity: 0;
    106114}
     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  
    44    var elements = $(".elements")
    55    var elementGrade;
    6 
     6    var first_time = true;
    77
    88    $("#button-add").on("click", function (){
     
    5656    $(".button-add-grade-movie").on("click",function (){
    5757        elementGrade = $(this)
    58         urlRating ="api/movies/grade/"+$(this).attr("movie-id")
     58        urlRating ="/api/movies/grade/"+$(this).attr("movie-id")
    5959        $("#dialog-rating").dialog("open")
    6060    })
    6161    $(".button-add-grade-person").on("click",function (){
    6262        elementGrade = $(this)
    63         urlRating ="api/persons/grade/"+$(this).attr("person-id")
     63        urlRating ="/api/persons/grade/"+$(this).attr("person-id")
    6464        $("#dialog-rating").dialog("open")
    6565    })
     
    8181    })*/
    8282
     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    })
    8391
    8492   $(".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       }
    86103       for (let item of elements) {
    87             let genre = $(item).find(".card-genre")
     104           $(item).removeClass("visibility")
     105            let genre = $(item).children(".card-genre")
    88106            let visible = false;
    89 
     107            console.log(genre.length)
    90108            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())
    93111                    visible = true
    94112                    $(item).removeClass("visibility")
     
    96114                }
    97115            }
    98             if (!visible && filter.trim().length != 0)
     116            if(!visible){
    99117                $(item).addClass("visibility")
    100             else
    101                 $(item).removeClass("visibility")
     118            }
    102119
    103120        }
     
    106123    $(".button-delete-movie").on("click",function (){
    107124        let button = $(this)
    108         let url = "api/movies/delete/" + $(button).attr("movie-id")
     125        let url = "/api/movies/delete/" + $(button).attr("movie-id")
    109126        ajaxCallDelete(url,button)
    110127    })
    111128    $(".button-delete-actor").on("click",function (){
    112129        let button = $(this)
    113         let url  = "api/persons/delete/" + $(button).attr("person-id")
     130        let url  = "/api/persons/delete/" + $(button).attr("person-id")
    114131        ajaxCallDelete(url,button)
    115132    })
    116133    $(".button-delete-discussion").on("click",function (){
    117134        let button = $(this)
    118         let url = "api/discussions/delete/" + $(button).attr("discussion-id")
     135        let url = "/api/discussions/delete/" + $(button).attr("discussion-id")
    119136        ajaxCallDelete(url,button)
    120137    })
     
    139156    $(document.body).on("click",".button-add-favourite-list",function (){
    140157        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")
    142159        ajaxCallLike(url,button,'like','Веќе е филмот допаднат!')
    143160    })
    144161    $(document.body).on("click",".button-remove-favourite-list",function (){
    145162        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")
    147164        ajaxCallLike(url,button,'unlike','Немате оставено допаѓање на филмот!')
    148165    })
    149166    $(document.body).on("click",".button-add-genre-liked-list",function (){
    150167        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")
    152169        ajaxCallLikeGenre(url,button,'like','Веќе ви се допаѓа жанрот!')
    153170    })
    154171    $(document.body).on("click",".button-remove-genre-liked-list",function (){
    155172        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")
    157174        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','Немате оставено допаѓање на дискусијата!')
    158195    })
    159196    $(".discussion-type").change(function (){
     
    189226                let movieId=$(button).attr("movie-id")
    190227                if (type==='like') {
    191                     $(button).parent().append("<a class='bottom-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>")
    192229                    console.log("da")
    193230                }
    194231                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)
    198241                $(button).remove()
    199242            }
     
    263306
    264307
     308
     309
     310function 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
     351function 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
    265391function  ajaxCallRating(url,button,type){
    266392    model = {
  • src/main/resources/templates/discussion.html

    r3c0f9a9 rc02189f  
    11<div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml">
    22    <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>
    55        </div>
    6         <hr><br><br>
     6        <hr>
    77        <div>
    88            <h5 th:text="${disc.getText()}" style="width: 90%; margin: auto; background-color: lightblue; border-radius: 4px; padding: 20px"></h5>
    99        </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>
    1120        <h6 style="width: 60%; float:left;">
    1221            <span th:text="${'Поставено од: '+disc.getUser().getUsername()}"></span>
     
    1726        </h6>
    1827        <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>
    2333    </div>
    2434    <table class="table table-striped" style="width: 70%; margin: auto;">
  • src/main/resources/templates/discussionsList.html

    r3c0f9a9 rc02189f  
    44    </div>
    55    <div class="container mb-4">
    6         <div class="row">
    76            <div class="col-12" th:if="${discussions.size() > 0}">
    87                <div class="table-responsive">
     
    109                        <thead>
    1110                        <tr>
     11                            <th scope="col">За</th>
    1212                            <th scope="col">Наслов</th>
    13                             <th scope="col">Опис</th>
     13                            <th scope="col">Допаѓања</th>
    1414                            <th scope="col">Датум</th>
    1515                            <th scope="col">Корисник</th>
     
    2727                        <tbody>
    2828                        <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>
    3030                            <td>
    3131                                <a th:text="${disc.getTitle()}" th:href="@{'/discussions/{id}' (id=${disc.getDiscussionId()})}"></a>
    3232                            </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>
    3435                            <td th:text="${disc.getDate()}"></td>
    3536                            <td th:text="${disc.getUser().getUsername()}"></td>
     
    4041                            <td th:if="${!disc.getUser().equals(user)}"><a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a> </td>
    4142                            <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>
    4445                            </td>
    4546                            </th:block>
    46 
    4747
    4848                        </tr>
     
    5151                </div>
    5252            </div>
    53         </div>
    5453    </div>
    5554
  • src/main/resources/templates/fragments/header.html

    r3c0f9a9 rc02189f  
    22    <nav class="navbar navbar-expand-md navbar-dark bg-dark">
    33        <div class="container">
    4             <a class="navbar-brand" href="/movies">Форум за филмови</a>
    54            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
    65                    aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
     
    2827                    </li>
    2928                </ul>
    30                 <form class="form-inline my-2 my-lg-0">
     29                <form class="form-inline my-2 my-lg-0 hidden">
    3130                    <div class="input-group input-group-sm">
    3231                        <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>
    59</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
    58</div>
  • src/main/resources/templates/movieShow.html

    r3c0f9a9 rc02189f  
    1313<div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 80%; margin: auto">
    1414    <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>
    1729        </div>
    1830
     
    2638            </h3>
    2739            <h3 th:text="${'IMDB оцена: ' + movie.getImdbRating()}"></h3>
    28             <h3 th:text="${'Прикажан на: ' + movie.getAiringDate()}"></h3>
     40            <h3 th:text="${'Прикажан на: ' + movie.getDateFormatted()}"></h3>
    2941
    3042            <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; ">
     
    3345            </div>
    3446
    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">
    3656                <h3>Жанрови:</h3>
    3757                <ul>
     
    3959                </ul>
    4060            </div>
    41             <div>
     61            <div class="person-movies-list">
    4262                <h3>Актери:</h3>
    4363                <ul>
     
    4868        </div>
    4969    </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
    6071    <hr>
    6172    <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
     
    7081                </div>
    7182                <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>
    7485                </div>
    7586        </div>
     
    7788    <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
    7889        <h2>
    79             <span>Бројот на лајкови кои филмот ги добил:</span>
    80             <span th:text="${movie.getLikes().size()}"></span>
     90            <span>Лајковите кои филмот ги добил:</span>
    8191        </h2>
    8292        <hr>
  • src/main/resources/templates/moviesList.html

    r3c0f9a9 rc02189f  
    22
    33    <div style="width: 70%; margin: auto">
    4         <div th:replace="fragments/searchBarName"></div>
     4        <div th:replace="fragments/searchBarName"></div><br>
    55        <div th:replace="fragments/searchBarGenre"></div>
    66    </div>
  • src/main/resources/templates/moviesListPaged.html

    r3c0f9a9 rc02189f  
    11<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>
    710    </div>
    8 
    911    <div id="paging-section">
    1012        <div id="inner-paging" class="input-group">
     
    2527            </div>
    2628        </div>
    27     </div><br><br><br>
     29    </div><br>
    2830
    2931    <div class="container mb-4">
     
    3436        <div class="row" th:each="row: ${movie_rows}" >
    3537            <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>
    3639                    <div class="card-body card bg-image" th:style="'background:url(' + ${movie.getImageUrl()} + ') no-repeat center #eee;'">
    3740                        <a class="card-text-center" style="color: white" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" >
    3841                        <h3 class="card-title title" th:text="${movie.getTitle()}"></h3>
    3942                            <span th:each="genre: ${movie.getGenres()}"  th:text="${genre?.getGenre()?.getGenreType()}" hidden class="card-genre"></span>
    40 
    4143                        </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>
    4347                        <th:block sec:authorize="isAuthenticated()">
    4448                            <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  
    11
    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">
    54        <div style="width: 60%; margin-left: 10px; padding:20px; float:left">
    65            <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>
    76            <hr>
    8             <h3 th:text="${'Born on: ' + person.getDateOfBirth()}"></h3>
     7            <h3 th:text="${'Роден на: ' + person.getDateFormatted()}"></h3>
    98            <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; ">
    10                 <h3>Description:</h3>
     9                <h3>Краток Опис:</h3>
    1110                <p th:text="${person.getDescription()}" style="text-align: justify"></p>
    1211            </div>
    1312
    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>
    1616                <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>
    1818                </ul>
    1919            </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>
    2223                <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>
    2425                </ul>
    2526            </div>
    26 
    2727        </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">
    2929            <img th:src="${person.getImageUrl()}" style="width: 90%; height: auto">
    3030        </div>
    3131    </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">
    3334        <h2>
    34             <span>Бројот на оцени кои филмот ги добил:</span>
    35             <span th:text="${movie.getRates().size()}"></span>
     35            <span>Бројот на оцени кои личноста ги има добиено:</span>
     36            <span th:text="${person.getPersonRates().size()}"></span>
    3637        </h2>
    3738        <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;">
    3940            <div style="width: 60%; float:left;">
    4041                <p th:text="${rating.getReason()}" style="text-align: justify"></p>
    4142            </div>
    4243            <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>
    4546            </div>
    4647        </div>
    4748    </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
    6350</div>
  • src/main/resources/templates/personsList.html

    r3c0f9a9 rc02189f  
    55    </div>
    66    <div class="container mb-4">
    7         <div class="row">
    87            <div class="col-12" th:if="${persons.size() > 0}">
    98                <div class="table-responsive">
     
    4746                            <th:block sec:authorize="isAuthenticated()">
    4847                                <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>
    5049
    5150                                </td>
    5251                            <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>
    5453                            </td>
    5554                            <td>
    56                                 <a class="btn btn-primary button-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a>
     55                                <a class="btn btn-danger button-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a>
    5756
    5857                            </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>
    6858
    6959
     
    7565                </div>
    7666            </div>
    77         </div>
    7867    </div>
    7968
  • src/main/resources/templates/template.html

    r3c0f9a9 rc02189f  
    1616</head>
    1717<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>
    2221    </div>
    2322</section>
Note: See TracChangeset for help on using the changeset viewer.