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