From 250d0337e0aec6d0516ae95b9ee6200406132916 Mon Sep 17 00:00:00 2001 From: Connor <brockcc1@cardiff.ac.uk> Date: Wed, 13 Dec 2023 02:04:07 +0000 Subject: [PATCH] Started integrating dropdown menu using CSS, also commented out code causing errors. Will fix when implementing database retrieval. --- .../dragonstale/DragonsTaleController.java | 12 ++++---- .../dragonstale/DragonsTaleJDBC.java | 28 +++++++++---------- .../resources/static/css/dragonstaless.css | 23 +++++++++++++-- src/main/resources/static/scripts/DTscript.js | 1 + .../templates/dragonstale/index.html | 2 +- 5 files changed, 43 insertions(+), 23 deletions(-) diff --git a/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java index ab99931a..9066b123 100644 --- a/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java +++ b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java @@ -36,12 +36,12 @@ public class DragonsTaleController { return modelAndView; } - @GetMapping("/dragonstale/{landmarkID}") - public Integer getDTLandmarkID(@RequestParam(value="landmarkID") int landmark){ - Integer idCounter = 0; - modelAndView = new ModelAndView("/dragonstale/{landmarkID}") - .addObject() //All your doing is retrieving the information from the database giving it to a string variable. - } +// @GetMapping("/dragonstale/{landmarkID}") +// public Integer getDTLandmarkID(@RequestParam(value="landmarkID") int landmark){ +// Integer idCounter = 0; +// modelAndView = new ModelAndView("/dragonstale/{landmarkID}") +// .addObject() //All your doing is retrieving the information from the database giving it to a string variable. +// } //Create another controller that directs to the given DragonsTale..Trail.. and updates the users account accordingly. diff --git a/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleJDBC.java b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleJDBC.java index ea7e02a4..f87b13aa 100644 --- a/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleJDBC.java +++ b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleJDBC.java @@ -13,18 +13,18 @@ public class DragonsTaleJDBC implements DragonsTaleRepository{ private RowMapper<User> userMapper; - @Override - public Map<Long, Boolean> getDTCompletion(int landmarkID){ - //Be conscious of sql injections here. - String sql = "SELECT userid, trailID, completedOrNot FROM dtprogress WHERE landmarkID = ?"; - int dtQuery = jdbc.query(sql, landmarkID); - //Query it twice to extract the given parameters, then use these parameters in a loop to query the completion. - List<Map<String, Integer>> query = jdbc.query(sql, id); - - Map<Long, Boolean> dtProgress = new HashMap<>(); - for (Map<String, Object> result : dtQuery) { - dtProgress.put((Long)result.get("stickerID"), (boolean)result.get("hasSticker")); - } - return dtProgress; - } +// @Override +// public Map<Long, Boolean> getDTCompletion(int landmarkID){ +// //Be conscious of sql injections here. +// String sql = "SELECT userid, trailID, completedOrNot FROM dtprogress WHERE landmarkID = ?"; +// int dtQuery = jdbc.query(sql, landmarkID); +// //Query it twice to extract the given parameters, then use these parameters in a loop to query the completion. +// List<Map<String, Integer>> query = jdbc.query(sql, id); +// +// Map<Long, Boolean> dtProgress = new HashMap<>(); +// for (Map<String, Object> result : dtQuery) { +// dtProgress.put((Long)result.get("stickerID"), (boolean)result.get("hasSticker")); +// } +// return dtProgress; +// } } diff --git a/src/main/resources/static/css/dragonstaless.css b/src/main/resources/static/css/dragonstaless.css index edfb9a8a..0c88dc15 100644 --- a/src/main/resources/static/css/dragonstaless.css +++ b/src/main/resources/static/css/dragonstaless.css @@ -8,14 +8,33 @@ body{ background-color: #927BB7; } -.dropdown{ +.dropdown button{ background-color: coral; color: white; - padding: 20px; + padding: 25px; font-size: 16px; border: none; cursor: pointer; } + +.dropdown a{ + display: block; + color: #393433; + text-decoration: none; + padding: 10px 15px; +} + +.dropdown .content{ + position: absolute; + background-color: #D3B69C; + min-width:100px; +} + +.dropdown:hover .content{ + display: block; +} + + .images{ max-width:100%; height:auto; diff --git a/src/main/resources/static/scripts/DTscript.js b/src/main/resources/static/scripts/DTscript.js index 7536b6ce..493a76c7 100644 --- a/src/main/resources/static/scripts/DTscript.js +++ b/src/main/resources/static/scripts/DTscript.js @@ -1,3 +1,4 @@ var getQR = function (){ + // document.getElementById("qrCodeScanner").style.cursor = "pointer"; window.location.href = "/QRScan"; } \ No newline at end of file diff --git a/src/main/resources/templates/dragonstale/index.html b/src/main/resources/templates/dragonstale/index.html index 20f23105..c6219c8a 100644 --- a/src/main/resources/templates/dragonstale/index.html +++ b/src/main/resources/templates/dragonstale/index.html @@ -30,7 +30,7 @@ <div class="dropdown"> <button class="dropdownButton">There are <span th:text="${getListSize}"> Size of List </span> adventures in this journey! </button> <ul th:each="item : ${landmarksList}" id="tabBox"> - <li> + <li class="content"> <a id="#" href="#landmarkTabLink" th:text="${item.landmarkName}"> Landmark Tab</a> <button id="qrCodeScanner" onclick="getQR()">Click here to scan a QR code for: <span th:text="${item.landmarkName}">Landmark Name Here</span></button> </li> -- GitLab