From 680ca2b8b90d88415d90b0b9caf6bf8ee10d4361 Mon Sep 17 00:00:00 2001
From: Connor <brockcc1@cardiff.ac.uk>
Date: Thu, 30 Nov 2023 00:15:55 +0000
Subject: [PATCH] Added JS script for a trail redirect, ultised by Spring MVC

---
 .../SmartTowns/Landmarks/LandmarksController.java |  7 ++++---
 .../SmartTowns/trailcontrollers/DragonsTale.java  | 15 ---------------
 src/main/java/Team5/SmartTowns/trails/Trail.java  |  4 ++++
 .../Team5/SmartTowns/trails/TrailsController.java | 15 +++++++++++++++
 .../templates/fragments/landmarkInfoFrag.html     | 13 +++++++++++++
 .../templates/towns/trails/dragonstale/index.html | 13 ++++++++++++-
 .../templates/towns/trails/dragonstale/script.js  |  8 --------
 7 files changed, 48 insertions(+), 27 deletions(-)
 delete mode 100644 src/main/java/Team5/SmartTowns/trailcontrollers/DragonsTale.java
 create mode 100644 src/main/resources/templates/fragments/landmarkInfoFrag.html

diff --git a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java
index 98c35594..7a116a00 100644
--- a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java
+++ b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java
@@ -7,6 +7,7 @@ import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.servlet.ModelAndView;
 //import jakarta.validation.Valid;
 
@@ -21,8 +22,6 @@ public class LandmarksController {
         return modelAndView1;
 
     }
-
-
     @PostMapping("/landmarkSub")
     public ModelAndView landmarkSent(@Valid @ModelAttribute("landmarkData") Landmarks landmarks, BindingResult bindingResult, Model model ) {
 
@@ -41,13 +40,15 @@ public class LandmarksController {
 
         }
 
+            }
 
 
 
 
 
 
-    }
 
 
 }
+
+
diff --git a/src/main/java/Team5/SmartTowns/trailcontrollers/DragonsTale.java b/src/main/java/Team5/SmartTowns/trailcontrollers/DragonsTale.java
deleted file mode 100644
index ba499c96..00000000
--- a/src/main/java/Team5/SmartTowns/trailcontrollers/DragonsTale.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package Team5.SmartTowns.trailcontrollers;
-
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-@Controller
-public class DragonsTale {
-    @GetMapping("/dragonstale")
-    public ModelAndView getDragonsTale(){
-        ModelAndView modelAndView = new ModelAndView("src/main/resources/templates/towns/trails/dragonstale/index.html");
-        return modelAndView;
-    }
-}
diff --git a/src/main/java/Team5/SmartTowns/trails/Trail.java b/src/main/java/Team5/SmartTowns/trails/Trail.java
index 81a82981..c4b4e3ca 100644
--- a/src/main/java/Team5/SmartTowns/trails/Trail.java
+++ b/src/main/java/Team5/SmartTowns/trails/Trail.java
@@ -36,4 +36,8 @@ public class Trail {
         File imgFile = new File("src/main/resources/static/" + imgPath);
         return imgFile.exists() ? imgPath : notFoundPath;
     }
+
+    public static List<Trail> getTrails() {
+        return trails;
+    }
 }
diff --git a/src/main/java/Team5/SmartTowns/trails/TrailsController.java b/src/main/java/Team5/SmartTowns/trails/TrailsController.java
index e78b8f72..12540fcd 100644
--- a/src/main/java/Team5/SmartTowns/trails/TrailsController.java
+++ b/src/main/java/Team5/SmartTowns/trails/TrailsController.java
@@ -35,4 +35,19 @@ public class TrailsController {
 
         return mv;
     }
+
+    //Leave this, I'll create a thymeleaf redirect for multiple different trails, rather then just have one for each trail.
+    @GetMapping("/dragonstale")
+    public ModelAndView getDragonsTale(){
+        ModelAndView modelAndView = new ModelAndView("towns/trails/dragonstale/index");
+        return modelAndView;
+    }
+    //Same for this
+
+    @GetMapping("/dragonstale/landmarkone")
+    public ModelAndView getLandmark(){
+        ModelAndView modelAndView = new ModelAndView("towns/trails/dragonstale/trailcheckpoints/one/one");
+        return modelAndView;
+}
+
 }
diff --git a/src/main/resources/templates/fragments/landmarkInfoFrag.html b/src/main/resources/templates/fragments/landmarkInfoFrag.html
new file mode 100644
index 00000000..ef12db2e
--- /dev/null
+++ b/src/main/resources/templates/fragments/landmarkInfoFrag.html
@@ -0,0 +1,13 @@
+<!-- TODO Develop each individual landmark for DragonsTrail -->
+<!-- Each trail should have a preestablished set of landmarks -->
+
+<div th:fragment="landmarkInfoFrag" class="centre" id="landmarkList">
+  <ul>
+    <li th:replace=""> Landmark 1 </li>
+    <li> Landmark 2 </li>
+    <li> Larkmark 3 </li>
+    <li> Larkmark 4 </li>
+    <li> Larkmark 5 </li>
+    <li> Larkmark 6 </li>
+  </ul>
+</div>
\ No newline at end of file
diff --git a/src/main/resources/templates/towns/trails/dragonstale/index.html b/src/main/resources/templates/towns/trails/dragonstale/index.html
index c9202cfd..99122f59 100644
--- a/src/main/resources/templates/towns/trails/dragonstale/index.html
+++ b/src/main/resources/templates/towns/trails/dragonstale/index.html
@@ -15,15 +15,26 @@
 
     <div class="centre">
         <p>
-            Adventurers... embark through these mystical historical landmarks and scenery, to ultimately discover the lair of the dragon.
+            Adventurers... embark through mystical historical landmarks to ultimately discover the lair of the dragon.
             Legend has it that within this ominous lair, mighty dragons, guardians of ancient wisdom and treasures untold lay....
         </p>
     </div>
 
+    <div class="centre">
+        <!-- TO DO, -->
+    </div>
+
     <div class="centre">
         <h3>Begin your hunt!</h3>
         <button type="button" id="begin">Click here!</button>
     </div>
+<script>
+
+    document.getElementById("begin").addEventListener("click", function (){
+        window.location.href = ("/dragonstale/landmarkone");
+    })
+
+</script>
 
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/towns/trails/dragonstale/script.js b/src/main/resources/templates/towns/trails/dragonstale/script.js
index 6708ae40..e69de29b 100644
--- a/src/main/resources/templates/towns/trails/dragonstale/script.js
+++ b/src/main/resources/templates/towns/trails/dragonstale/script.js
@@ -1,8 +0,0 @@
-function onClick(){
-    var beginButton = document.getElementById("begin");
-    if (beginButton === true){
-
-    }
-
-
-}
\ No newline at end of file
-- 
GitLab