diff --git a/README.md b/README.md
index 001cef4..2e7c983 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,7 @@ The system was developed to be used with the [skillbird-framwork](https://github
# Requirements
- [MDB Jquery](https://mdbootstrap.com/docs/jquery/getting-started/download/) (unpack to ./static/bootstrap/)
+- [Fontawesome](https://fontawesome.com/download) (move to static/boostrap/fontawesome.css)
- ``python3 -m pip install -r req.txt``
diff --git a/database.py b/database.py
index 09b48ce..3b866ab 100644
--- a/database.py
+++ b/database.py
@@ -99,7 +99,7 @@ class DatabaseConnection:
return (None, None)
playerInLeaderboard = player.PlayerInLeaderboard(playerRow)
- player.rank = getPlayerRank(playerInLeaderboard)
+ playerInLeaderboard.rank = self.getPlayerRank(playerInLeaderboard)
return playerInLeaderboard
def getPlayerRank(self, player):
diff --git a/server.py b/server.py
index 7244921..2e2c936 100755
--- a/server.py
+++ b/server.py
@@ -85,8 +85,12 @@ def leaderboard():
db = DatabaseConnection(app.config["DB_PATH"])
if page:
+ pageInt = int(page)
+ if pageInt < 0:
+ pageInt = 0
start = SEGMENT * int(page)
else:
+ pageInt = 0
start = 0
# handle find player request #
@@ -94,7 +98,8 @@ def leaderboard():
searchName = ""
if playerName:
- playerInLeaderboard, rank = db.findPlayerByName(playerName)
+ playerInLeaderboard = db.findPlayerByName(playerName)
+ rank = playerInLeaderboard.rank
if not playerInLeaderboard:
cannotFindPlayer = flask.Markup("
No player of that name
")
start = 0
@@ -136,7 +141,9 @@ def leaderboard():
start=start, \
endOfBoardIndicator=endOfBoardIndicator, \
findPlayer=cannotFindPlayer, \
- searchName=searchName)
+ searchName=searchName,
+ nextPageNumber=int(pageInt)+1,
+ prevPageNumber=int(pageInt)-1)
return finalResponse
@app.route('/static/')
diff --git a/static/buttons.js b/static/buttons.js
index 2fcd8bb..30f796a 100644
--- a/static/buttons.js
+++ b/static/buttons.js
@@ -4,7 +4,6 @@ var page = url.searchParams.get("page")
var player = url.searchParams.get("string")
var buttonBackward = document.getElementById("button-backward")
var buttonForward = document.getElementById("button-forward")
-var buttonFirst = document.getElementById("button-first")
var isLastPage = document.getElementById("eof")
/* clean URL from unessesary parameters */
@@ -14,10 +13,7 @@ url.searchParams.delete("string")
/* disable buttons if nessesary */
if(!page || page == "0"){
buttonBackward.disabled = true
- buttonFirst.disabled = true
-
buttonBackward.classList.add("disabled")
- buttonFirst.classList.add("disabled")
}
if(isLastPage){
@@ -76,17 +72,17 @@ function firstPage(){
}
/* input fields */
-var gotoRankInputField = document.getElementById("gotoRank");
-gotoRankInputField.addEventListener("keyup", function(event) {
- if (event.key == "Enter") {
- event.preventDefault();
- var rank = gotoRankInputField.value
- var page = Math.trunc((rank - 1)/100)
- url.searchParams.set("page", page)
- url.searchParams.set("goto", rank)
- window.location.href = url.href
- }
-});
+//var gotoRankInputField = document.getElementById("gotoRank");
+//gotoRankInputField.addEventListener("keyup", function(event) {
+// if (event.key == "Enter") {
+// event.preventDefault();
+// var rank = gotoRankInputField.value
+// var page = Math.trunc((rank - 1)/100)
+// url.searchParams.set("page", page)
+// url.searchParams.set("goto", rank)
+// window.location.href = url.href
+// }
+//});
var getPlayerInputField = document.getElementById("getPlayer");
getPlayerInputField.addEventListener("keyup", function(event) {
diff --git a/static/site.css b/static/site.css
index e9097e5..aad517a 100644
--- a/static/site.css
+++ b/static/site.css
@@ -1,6 +1,6 @@
/* general */
body{
- background: #323232;
+ background: #323232 !important;
}
/* ############### TOP NAVBAR ############# */
@@ -80,23 +80,30 @@ body{
display: none;
}
}
-/* ############# PLAYER INFORMATION IN LINES ############# */
+/* ############# PLAYER INFORMATION IN LINES ############# */
.playerRank{
margin-left:1%;
float: left;
width: 10%;
+ color: black;
}
.playerName{
float: left;
width: 25%;
+ color: black;
+}
+
+.playerName:hover{
+ opacity: 0.8;
}
.playerRating{
float: right;
width: 15%;
text-align: right;
+ color: black;
}
.playerGames{
@@ -104,23 +111,14 @@ body{
text-align: right;
margin-right: 1%;
width: 20%;
+ color: black;
}
.playerWinratio{
float: right;
width: 20%;
text-align: center;
-}
-
-/* #################### LEADERBOARDS ##################### */
-.leaderboard-container{
- margin-top: 10px;
- margin-bottom: 50px;
- margin-left: auto;
- margin-right: auto;
- min-width: 250px;
- width: 80%;
- max-width: 800px;
+ color: black;
}
.colum-names{
@@ -133,15 +131,21 @@ body{
.line-even{
width: 100%;
- background-color: #999999; /* 60% grey */
+ color: black;
+ background-color: #999999 !important; /* 60% grey */
overflow: hidden;
padding-top: 2px;
padding-bottom: 2px;
}
+.bg-special{
+ background-color: #eae9e9 !important;
+}
+
.line-odd{
width: 100%;
- background-color: lightgrey;
+ color: black;
+ background-color: lightgrey !important;
overflow: hidden;
padding-top: 2px;
padding-bottom: 2px;
diff --git a/templates/base.html b/templates/base.html
index bec3fed..3462f0d 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -3,49 +3,45 @@
Leaderboard
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
- {{ findPlayer }}
-
-
+ {% include 'navbar_leaderboard.html' %}
+
{{ columNames }}
{% for player in playerList %}
{% set count = loop.index + start %}
{% if count % 2 == 0 %}
{% else %}
{% endif %}
{% endfor %}
{{ endOfBoardIndicator }}
-
+ {% include 'footer.html' %}