From b1b76b16775c27d9b42f1a31c93394a6ede04d88 Mon Sep 17 00:00:00 2001 From: Habibi <muhhabibih@gmail.com> Date: Mon, 22 Oct 2018 00:02:03 +0700 Subject: [PATCH] Add star gimmick in review --- app/view/review.php | 7 +++++ public/index.php | 1 + public/static/css/base.css | 5 ++++ public/static/css/review.css | 28 +++++++++++++++++ public/static/html/review.html | 50 +++++++++++++++++++++++++++++++ public/static/img/empty_star.png | Bin 0 -> 3012 bytes public/static/img/full_star.png | Bin 0 -> 2098 bytes public/static/js/header.js | 4 +-- public/static/js/review.js | 44 +++++++++++++++++++++++++++ 9 files changed, 137 insertions(+), 2 deletions(-) create mode 100644 app/view/review.php create mode 100644 public/static/css/review.css create mode 100644 public/static/html/review.html create mode 100644 public/static/img/empty_star.png create mode 100644 public/static/img/full_star.png create mode 100644 public/static/js/review.js diff --git a/app/view/review.php b/app/view/review.php new file mode 100644 index 0000000..1326bba --- /dev/null +++ b/app/view/review.php @@ -0,0 +1,7 @@ +<?php + include __STATIC__.'/html/header.html'; + include __STATIC__.'/html/review.html'; + // Include content here; + include __STATIC__.'/html/footer.html'; + // echo $_COOKIE["user"]; +?> \ No newline at end of file diff --git a/public/index.php b/public/index.php index 660a71f..1198f25 100644 --- a/public/index.php +++ b/public/index.php @@ -47,6 +47,7 @@ $router->add("/history/", "GET", 'render', $authMiddleware, 'history.php'); $router->add("/profile/", "GET", 'render', $authMiddleware, 'profile.php'); $router->add("/logout/", "GET", 'render', $authMiddleware, 'logout.php'); + $router->add("/review/", "GET", "render", $authMiddleware, "review.php"); // TODO: Add Order Routes $errorCallback = function(){ diff --git a/public/static/css/base.css b/public/static/css/base.css index 52e1e11..c7e1e45 100644 --- a/public/static/css/base.css +++ b/public/static/css/base.css @@ -22,6 +22,11 @@ body { padding-right: 20px; } +.justify-content-center { + display: flex; + justify-content: center; +} + .justify-content-end { display: flex; justify-content: flex-end; diff --git a/public/static/css/review.css b/public/static/css/review.css new file mode 100644 index 0000000..ea04f23 --- /dev/null +++ b/public/static/css/review.css @@ -0,0 +1,28 @@ +.review-container { + padding-top: 80px; + padding-left: 40px; + padding-right: 40px; +} + +.review-title h1 { + margin-bottom: 0px; +} + +.review-title h2 { + margin-top: 0px; + font-size: 40px; + color: #4d4d4d; +} + +.review-header h1 { + font-size: 60px; + color: #00374c; +} + +.review-rating img { + width: 110px; + height: 110px; + + margin-left: 5px; + margin-right: 5px; +} \ No newline at end of file diff --git a/public/static/html/review.html b/public/static/html/review.html new file mode 100644 index 0000000..daf349a --- /dev/null +++ b/public/static/html/review.html @@ -0,0 +1,50 @@ +<link rel="stylesheet" href="/static/css/base.css"> +<link rel="stylesheet" href="/static/css/review.css"> +<div class="review-container"> + <div class="row justify-content-between"> + <div class="review-title"> + <div class="title"> + <h1>Nota Hidup</h1> + </div> + <h2>Light R.D.B</h2> + </div> + <img + src="/static/img/contoh_buku.png" + /> + </div> + <div class="review-header"> + <h1>Add Rating</h1> + <div class="row justify-content-center review-rating"> + <img + id=star-0 + key=0 + src="/static/img/empty_star.png" + /> + <img + id=star-1 + key=1 + src="/static/img/empty_star.png" + /> + <img + id=star-2 + key=2 + src="/static/img/empty_star.png" + /> + <img + id=star-3 + key=3 + src="/static/img/empty_star.png" + /> + <img + id=star-4 + key=4 + src="/static/img/empty_star.png" + /> + </div> + </div> + <div class="review-header"> + <h1>Add Comment</h1> + </div> +</div> + +<script src="/static/js/review.js"></script> \ No newline at end of file diff --git a/public/static/img/empty_star.png b/public/static/img/empty_star.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6dfde1f2cc2617183f0769bc3a2d786cd09f23 GIT binary patch literal 3012 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 Zi*NMhOh%5iZhztk8>@4c1PiaE{{SXIWJ3S| literal 0 HcmV?d00001 diff --git a/public/static/img/full_star.png b/public/static/img/full_star.png new file mode 100644 index 0000000000000000000000000000000000000000..ca06016c44ba7fc801479a95aa699e2406472bfd GIT binary patch literal 2098 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 literal 0 HcmV?d00001 diff --git a/public/static/js/header.js b/public/static/js/header.js index 0158f65..653d5ff 100644 --- a/public/static/js/header.js +++ b/public/static/js/header.js @@ -7,10 +7,10 @@ const enableTabColor = function(){ const urlPath = window.location.pathname; - if (urlPath === "/browse/"){ + if (urlPath === "/browse/" || urlPath.includes("/results")){ browseTab.style.backgroundColor = orangeColor; } - if (urlPath === "/history/"){ + if (urlPath === "/history/" || urlPath.includes("/review")){ historyTab.style.backgroundColor = orangeColor; } if (urlPath === "/profile/"){ diff --git a/public/static/js/review.js b/public/static/js/review.js new file mode 100644 index 0000000..57c8839 --- /dev/null +++ b/public/static/js/review.js @@ -0,0 +1,44 @@ +var rating = 0; + +var stars = []; +for(i = 0; i < 5; i++) { + let star = document.getElementById(`star-${i}`); + stars.push(star); +} + +const onRatingMouseOver = function() { + const key = this.getAttribute("key") + + for(i = 0; i < parseInt(key) + 1; i++) { + console.log(i); + stars[i].src="/static/img/full_star.png"; + } + for(i = parseInt(key) + 1; i< 5; i++) { + stars[i].src="/static/img/empty_star.png"; + } +} + +const onRatingMouseOut = function() { + for (i = 0; i < rating; i++) { + stars[i].src="/static/img/full_star.png"; + } + for(i = rating; i < 5; i++) { + stars[i].src="/static/img/empty_star.png"; + } +} + +const onRatingClick = function() { + if (rating == parseInt(this.getAttribute("key")) + 1) { + rating = 0; + } else { + rating = parseInt(this.getAttribute("key")) + 1; + } +} + +window.onload = function() { + for (i = 0; i < 5; i++) { + stars[i].onmouseover = onRatingMouseOver; + stars[i].onmouseout = onRatingMouseOut; + stars[i].onclick = onRatingClick; + } +} \ No newline at end of file -- GitLab