diff --git a/src/main/java/Team5/SmartTowns/localauthority/localAuthority.java b/src/main/java/Team5/SmartTowns/localauthority/localAuthority.java new file mode 100644 index 0000000000000000000000000000000000000000..eb84e592ee40b1eb460d03bbb1530db38fcc86df --- /dev/null +++ b/src/main/java/Team5/SmartTowns/localauthority/localAuthority.java @@ -0,0 +1,58 @@ +package Team5.SmartTowns.localauthority; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.net.URL; + +@AllArgsConstructor +@NoArgsConstructor +@Data +public class localAuthority { + private String localAuthorityName; + private String address1; + private String address2; + private String city; + private String county; + private String postcode; + private URL website; + @Override + public String toString() { + return "Local Authority:" + " " + + localAuthorityName + '\'' + " " + + address1 + '\'' + " " + + address2 + '\'' + " " + + city + '\'' + " " + + county + '\'' + " " + + postcode + '\'' + " " + + website + + " "; + } + + public String getLocalAuthorityName() { + return localAuthorityName; + } + + public String getAddress1() { return address1; } + + public String getAddress2() { + return address2; + } + + public String getCity() { + return city; + } + + public String getCounty() { + return county; + } + + public String getPostcode() { + return postcode; + } + + public URL getWebsite() { + return website; + } +} diff --git a/src/main/java/Team5/SmartTowns/localauthority/localAuthorityRepository.java b/src/main/java/Team5/SmartTowns/localauthority/localAuthorityRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..622b0972743ba9536742c3170897cb89b6136851 --- /dev/null +++ b/src/main/java/Team5/SmartTowns/localauthority/localAuthorityRepository.java @@ -0,0 +1,9 @@ +package Team5.SmartTowns.localauthority; + +import java.util.List; + +public interface localAuthorityRepository { + List<localAuthority> getAllLocalAuthority(); + + void addLocalAuthority(localAuthority loc); +} diff --git a/src/main/java/Team5/SmartTowns/localauthority/localAuthorityRepositoryJDBC.java b/src/main/java/Team5/SmartTowns/localauthority/localAuthorityRepositoryJDBC.java new file mode 100644 index 0000000000000000000000000000000000000000..e2039617c8a8d1f8891ed869efb2c5f6588be215 --- /dev/null +++ b/src/main/java/Team5/SmartTowns/localauthority/localAuthorityRepositoryJDBC.java @@ -0,0 +1,40 @@ +package Team5.SmartTowns.localauthority; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public class localAuthorityRepositoryJDBC implements localAuthorityRepository { + private JdbcTemplate jdbc; + private RowMapper<localAuthority> localAuthorityMapper; + + public localAuthorityRepositoryJDBC(JdbcTemplate ajdbc){ + this.jdbc = ajdbc; + setlocalauthorityMapper(); + } + + private void setlocalauthorityMapper(){ + localAuthorityMapper = (rs, i) -> new localAuthority( + rs.getString("localAuthorityName"), + rs.getString("address1"), + rs.getString("address2"), + rs.getString("city"), + rs.getString("county"), + rs.getString("postcode"), + rs.getURL("website") + ); + } + public List<localAuthority> getAllLocalAuthority(){ + String sql = "SELECT * FROM localAuthority"; + return jdbc.query(sql, localAuthorityMapper); + } + @Override + public void addLocalAuthority(localAuthority loc){ + String sql = "INSERT INTO localAuthority( localAuthorityName, address1, address2, city, county, postcode, website) values (?, ?, ?, ?, ?, ?, ?)"; + jdbc.update(sql, loc.getLocalAuthorityName(),loc.getAddress1(),loc.getAddress2(),loc.getCity(),loc.getCounty(),loc.getPostcode(),loc.getWebsite()); + } + +} diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index b91b4f71db6b6d4005596c17a8c75a2a9f178d34..c32f7fec9a996cf9c828449300ea76f36f4813a8 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -1,52 +1,62 @@ +delete from users; +insert into users (email, name, dragonProgress) value ('hannah@gmail.com', 'Hannah', '90'); +insert into users (userID, email, name, dragonProgress) value ('2', 'nigel@gmail.com', 'Nigel', '40'); + delete from trails; -insert into trails ( Name,tru) value ( 'Caerphilly Coffee Trail',false); -insert into trails ( Name,tru) value ( 'Penarth Dragon Trail',true); +insert into trails ( Name) value ( 'Caerphilly Coffee Trail'); +insert into trails ( Name) value ( 'Penarth Dragon Trail'); delete from locations; -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'St Cenydd','','Location description here','Caerphilly',0101, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'The Castle','','Location description here','Caerphilly',0101, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Medieval Trades','','Location description here','Caerphilly',0101, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'The Queen''s War','','Location description here','Caerphilly',0101, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'The Green Lady','','Location description here','Caerphilly',0101, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Armoury','','Location description here','Caerphilly',0101, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Architecture','','Location description here','Caerphilly',0101, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( '21st Century Landmark','','Location description here','Caerphilly',0101, true); - -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'JD Wetherspoons-Malcolm Uphill','','Location description here','Caerphilly',0102, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Caerphilly Cwtch','','Location description here','Caerphilly',0102, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Caerphilly Conservative Club','','Location description here','Caerphilly',0102, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'The King''s Arms','','Location description here','Caerphilly',0102, true); - -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Caerphilly Bus Station','','Location description here','Caerphilly',0103, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'The Medieval Courthouse','','Location description here','Caerphilly',0103, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ('Caerphilly Castle','','Location description here','Caerphilly',0103, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Ty Vaughan House','','Location description here','Caerphilly',0103, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Risca Colliery','','Location description here','Risca',0201, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'Black Vein Colliery Disaster','','Location description here','Risca',0201, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'The Esplanade','','Location description here','Penarth',0301, true); -insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) value ( 'The Old Swimming Baths','','Location description here','Penarth',0301, true); - - - - - -DELETE FROM packs; -INSERT INTO packs (name, description) VALUE ('Wales Football Team', 'Pack of Welsh Football Players in the National Team'); -INSERT INTO packs (name, description) VALUE ('Wales Rugby Team', 'Pack of Welsh Rugby Players in the National Team'); -INSERT INTO packs (name, description) VALUE ('Welsh Heritage', 'Pack About Welsh Heritage'); - -DELETE FROM stickers; -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (1, 1, 'wayne_hennessey', 'Wales Football Team Player', '2'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (1, 2, 'neco_williams', 'Wales Football Team Player', '2'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (1, 3, 'joe_morrell', 'Wales Football Team Player', '2'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (1, 4, 'ethan_ampadu', 'Wales Football Team Player', '2'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (1, 5, 'connor_roberts', 'Wales Football Team Player', '2'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (2, 1, 'Taine_Basham', 'Wales Rugby Team Player', '1'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (2, 2, 'Adam Beard', 'Wales Rugby Team Player', '1'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (2, 3, 'Elliot Dee', 'Wales Rugby Team Player', '1'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (2, 4, 'Corey Domachowski', 'Wales Rugby Team Player', '1'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (2, 5, 'Ryan Elias', 'Wales Rugby Team Player', '1'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (3, 1, 'Welsh Lady', 'Welsh Heritage', '1'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (3, 2, 'Welsh Outline', 'Welsh Heritage', '1'); -INSERT INTO stickers (packID, stickerID, name, description, rarity) VALUE (3, 3, 'Welsh Spoon', 'Welsh Heritage', '1'); - +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'St Cenydd','','Location description here','Caerphilly',0101); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'The Castle','','Location description here','Caerphilly',0101); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Medieval Trades','','Location description here','Caerphilly',0101); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'The Queen''s War','','Location description here','Caerphilly',0101); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'The Green Lady','','Location description here','Caerphilly',0101); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Armoury','','Location description here','Caerphilly',0101); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Architecture','','Location description here','Caerphilly',0101); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( '21st Century Landmark','','Location description here','Caerphilly',0101); + +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'JD Wetherspoons-Malcolm Uphill','','Location description here','Caerphilly',0102); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Caerphilly Cwtch','','Location description here','Caerphilly',0102); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Caerphilly Conservative Club','','Location description here','Caerphilly',0102); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'The King''s Arms','','Location description here','Caerphilly',0102); + +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Caerphilly Bus Station','','Location description here','Caerphilly',0103); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'The Medieval Courthouse','','Location description here','Caerphilly',0103); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ('Caerphilly Castle','','Location description here','Caerphilly',0103); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Ty Vaughan House','','Location description here','Caerphilly',0103); + +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Risca Colliery','','Location description here','Risca',0201); +insert into locations ( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value ( 'Black Vein Colliery Disaster','','Location description here','Risca',0201); + + +insert into locations (locationID, locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value (19, 'The Esplanade','','Location description here','Penarth',0301); +insert into locations (locationID, locationName , locationEmail,locationDescription,locationPlace, locationTrailID) value (20, 'The Old Swimming Baths','','Location description here','Penarth',0301); +delete from badges; +insert into badges (name, description, difficulty) value ('TownConnoisseur', 'You know the town very well!', '2'); +insert into badges (name, description, difficulty) value ('TownRegular', 'You visited the town 3 days in a row!', '1'); +insert into badges (name, description, difficulty) value ('TownMaster', 'You visited the town 7 days in a row!', '1'); +insert into badges (name, description, difficulty) value ('TownRegular', 'You visited the town 3 days in a row!', '1'); +insert into badges (name, description, difficulty) value ('TownRegular', 'You visited the town 3 days in a row!', '1'); + +delete from stickers; +insert into stickers (name, description, rarity) value ('TownConnoisseur', 'You know the town very well!', '2'); +insert into stickers (name, description, rarity) value ('TownRegular', 'You visited the town 3 days in a row!', '1'); +insert into stickers (name, description, rarity) value ('TownMaster', 'You visited the town 7 days in a row!', '1'); +insert into stickers (name, description, rarity) value ('TownRegular', 'You visited the town 3 days in a row!', '1'); +insert into stickers (name, description, rarity) value ('TownRegular', 'You visited the town 3 days in a row!', '1'); + +delete from badgeprogress; +insert into badgeprogress (userID, badgeID, progress) value ('1', '1', '40'); +insert into badgeprogress (userID, badgeID, progress) value ('1', '2', '70'); +insert into badgeprogress (userID, badgeID, progress) value ('2', '2', '70'); + +delete from stickerprogress; +insert into stickerprogress (userID, stickerID, hasSticker) value ('1', '1', true); +insert into stickerprogress (userID, stickerID, hasSticker) value ('1', '3', true); +insert into stickerprogress (userID, stickerID, hasSticker) value ('2', '2', true); + +delete from localauthority; +insert into localauthority ( localAuthorityName, address1, address2, city, county, postcode, website) value ( 'Caerphilly County Borough Council', 'Tredomen Park','', 'Ystrad Mynach, Hengoed', '', 'CF82 7PG', 'https://www.caerphilly.gov.uk/main.aspx?lang=en-GB'); +insert into localauthority ( localAuthorityName, address1, address2, city, county, postcode, website) value ( 'Risca Town Council', 'Unit B, 75 Tredegar Street', '', 'Risca', '', 'NP11 6BW', 'https://www.riscatowncouncil.org.uk/'); +insert into localauthority ( localAuthorityName, address1, address2, city, county, postcode, website) value ( 'Penarth Town Council West House', 'Stanwell Road', '', 'Penarth', '', 'CF64 2YG', 'https://www.penarthtowncouncil.gov.uk/your-council/'); \ No newline at end of file diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql index 403c5bf4ba23873ea9d6e8da956823c5830d2353..43f6da94fe471a5e173b409570cd7d61f9e41792 100644 --- a/src/main/resources/schema.sql +++ b/src/main/resources/schema.sql @@ -1,28 +1,12 @@ -/* DELETES AND RECREATES DATABASE EVERY TIME THE SYSTEM IS BOOTED*/ -DROP DATABASE IF EXISTS towns; -CREATE DATABASE IF NOT EXISTS towns; -USE towns; -/****************************************************************/ - -/* DROPS ALL TABLES IF THEY EXIST (they wont but just in case) */ -DROP TABLE IF EXISTS trails; -DROP TABLE IF EXISTS locations; -DROP TABLE IF EXISTS users; -DROP TABLE IF EXISTS stickers; -DROP TABLE IF EXISTS packs; -DROP TABLE IF EXISTS stickerProgress; -/****************************************************************/ - -/* CREATES ALL TABLES */ - -CREATE TABLE IF NOT EXISTS trails ( +drop table if exists trails; +create table if not exists trails +( trailID bigint auto_increment primary key, - name varchar(128), - tru boolean + name varchar(128) ) engine=InnoDB; -drop table if exists locationCoordinates; drop table if exists locations; + create table if not exists locations ( locationID bigint auto_increment primary key, @@ -30,84 +14,60 @@ create table if not exists locations locationEmail varchar(128), locationDescription longtext, locationPlace varchar(255), - locationTrailID varchar(128), - locationApproved boolean + locationTrailID varchar(128) ) engine=InnoDB; - -CREATE TABLE IF NOT EXISTS users ( - username varchar(30) primary key NOT NULL, - id bigint auto_increment unique, /*DEPRECATED COLUMN, LEFT IN WHILE SOME OTHER FUNCTIONS STILL USE IT*/ +drop table if exists users; +create table if not exists users +( + userID bigint auto_increment primary key, email varchar(128), - password varchar(30) NOT NULL, - enabled boolean default true -); - -CREATE TABLE IF NOT EXISTS authorities ( - id bigint primary key auto_increment NOT NULL, - username varchar(30) NOT NULL , - authority varchar(45) NOT NULL -); - -CREATE TABLE IF NOT EXISTS packs ( - id bigint auto_increment primary key, - name varchar(20) NOT NULL, - description text -); - -CREATE TABLE IF NOT EXISTS stickers ( - id bigint auto_increment primary key, - packID bigint NOT NULL, - FOREIGN KEY (packID) REFERENCES packs(id) - ON DELETE CASCADE - ON UPDATE RESTRICT, - stickerID bigint NOT NULL, /*STICKER ID NUMBER WITHIN ITS OWN PACK*/ - name varchar(30) NOT NULL, - description text NOT NULL, - rarity tinyint -); - -CREATE TABLE IF NOT EXISTS stickerProgress ( - id bigint auto_increment primary key, - username varchar(30) NOT NULL, - FOREIGN KEY (username) REFERENCES users(username) - ON DELETE CASCADE - ON UPDATE RESTRICT, - packID bigint NOT NULL, - FOREIGN KEY (packID) REFERENCES packs(id) - ON DELETE CASCADE - ON UPDATE RESTRICT, - stickerID bigint NOT NULL, - FOREIGN KEY (stickerID) REFERENCES stickers(id) - ON DELETE CASCADE - ON UPDATE RESTRICT -); + name varchar(128), + dragonProgress int +) engine=InnoDB; -create table if not exists locationCoordinates +drop table if exists badges; +create table if not exists badges ( - locationCoordID bigint auto_increment primary key, - locationID bigint, - Foreign Key (locationID) REFERENCES locations(locationID) - ON DELETE CASCADE - ON UPDATE RESTRICT, - locationCoordsLat DECIMAL(8,6), - locationCoordsLong DECIMAL(8,6) - - -)engine=InnoDB; + badgeID bigint auto_increment primary key, + name varchar(128), + description varchar(128), + difficulty bigint +) engine=InnoDB; +drop table if exists stickers; +create table if not exists stickers +( + stickerID bigint auto_increment primary key, + name varchar(128), + description varchar(128), + rarity bigint +) engine=InnoDB; -drop table if exists townsWithTrails; -create table if not exists townsWithTrails +drop table if exists badgeProgress; +create table if not exists badgeProgress ( - townID bigint auto_increment primary key, - townName varchar(128), - townCentreCoordsLat varchar(128), - townCentreCoordsLong varchar(128), - townUppermostCoordsLat varchar(128), - townLowermostCoordsLat varchar(128), - townLeftmostCoordsLong varchar(128), - townRightmostCoordsLong varchar(128) + userID bigint, + badgeID bigint, + progress int /*0-100*/ +) engine=InnoDB; -)engine=InnoDB; +create table if not exists stickerProgress +( + userID bigint, + stickerID bigint, + hasSticker boolean /*Has sticker or not*/ +) engine=InnoDB; +drop table if exists localAuthority; +create table if not exists localAuthority +( + localAuthorityID bigint auto_increment primary key, + localAuthorityName varchar(250), + address1 varchar(250), + address2 varchar(250), + city varchar(100), + county varchar(75), + postcode varchar(15), + website varchar(250) +) engine=InnoDB; \ No newline at end of file diff --git a/src/main/resources/static/css/allTrails.css b/src/main/resources/static/css/allTrails.css index ab706c5ba8ee5925faf8c774e1ec8711ffab4674..3c05b5fc85e808b887ae769fccefbf107efc12ce 100644 --- a/src/main/resources/static/css/allTrails.css +++ b/src/main/resources/static/css/allTrails.css @@ -1,134 +1,134 @@ -* { - box-sizing: border-box; -} -body { - background-color: rgb(41, 41, 41); - margin: 0; - display: flex; - flex-direction: column; - min-height: 100svh; -} -main { -} +/** {*/ +/* box-sizing: border-box;*/ +/*}*/ +/*body {*/ +/* background-color: rgb(41, 41, 41);*/ +/* margin: 0;*/ +/* display: flex;*/ +/* flex-direction: column;*/ +/* min-height: 100svh;*/ +/*}*/ +/*main {*/ +/*}*/ -.centerFlex { - display: flex; - justify-content: center; -} -#allTrailsBar { - width: 100%; - height: auto; - /*margin: 1svh auto;*/ - padding: 0 5svh; - display: flex; - flex-wrap: wrap; - justify-content: space-evenly; +/*.centerFlex {*/ +/* display: flex;*/ +/* justify-content: center;*/ +/*}*/ +/*#allTrailsBar {*/ +/* width: 100%;*/ +/* height: auto;*/ +/* !*margin: 1svh auto;*!*/ +/* padding: 0 5svh;*/ +/* display: flex;*/ +/* flex-wrap: wrap;*/ +/* justify-content: space-evenly;*/ -} -.trailsImages { - margin: 1svh auto; - height: 12svh; - width: auto; - border-radius: 20px; - border: solid grey 2px; - transition: 0.5s ease-out 100ms; - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.85); -} +/*}*/ +/*.trailsImages {*/ +/* margin: 1svh auto;*/ +/* height: 12svh;*/ +/* width: auto;*/ +/* border-radius: 20px;*/ +/* border: solid grey 2px;*/ +/* transition: 0.5s ease-out 100ms;*/ +/* box-shadow: 0 10px 20px rgba(0, 0, 0, 0.85);*/ +/*}*/ -.trailsImages:hover { - box-shadow: 0 0 20px 10px #bbbb00; - transform: scale(1.2,1.2); -} +/*.trailsImages:hover {*/ +/* box-shadow: 0 0 20px 10px #bbbb00;*/ +/* transform: scale(1.2,1.2);*/ +/*}*/ -.selected { - box-shadow: 0 0 20px 10px #bbbb00; -} -@keyframes fadeIn { - 0% { opacity: 0; } - 100% { opacity: 1; } -} -main { - margin: 0; -} +/*.selected {*/ +/* box-shadow: 0 0 20px 10px #bbbb00;*/ +/*}*/ +/*@keyframes fadeIn {*/ +/* 0% { opacity: 0; }*/ +/* 100% { opacity: 1; }*/ +/*}*/ +/*main {*/ +/* margin: 0;*/ +/*}*/ -#trailInfoContainer { +/*#trailInfoContainer {*/ - overflow: scroll; -} +/* overflow: scroll;*/ +/*}*/ -.trailInfoFrag { - background-color: rgb(84, 33, 128); - border: #000000 solid 2px; - border-radius: 10px; - box-shadow: 0 5px 20px 0 #000000; - margin: 2svh auto; - padding-bottom: 2svw; - width: 70vw; - height: auto; - min-height: 30svh; - animation: fadeIn 3s; +/*.trailInfoFrag {*/ +/* background-color: rgb(84, 33, 128);*/ +/* border: #000000 solid 2px;*/ +/* border-radius: 10px;*/ +/* box-shadow: 0 5px 20px 0 #000000;*/ +/* margin: 2svh auto;*/ +/* padding-bottom: 2svw;*/ +/* width: 70vw;*/ +/* height: auto;*/ +/* min-height: 30svh;*/ +/* animation: fadeIn 3s;*/ - display: grid; - grid-template-areas: - "header header header" - "image text text"; - grid-template-columns: 30% 30% auto; - grid-template-rows: 10% auto; - grid-column-gap: 2vw; - grid-row-gap: 2svh; - & .trailInfoHeader { - grid-area: header; - width: 100%; - height: 100%; - margin-top: 1svh; - padding: 0; - & h1 { - color: white; - padding:0; - margin:0 25%; - font-size: 2vw; - text-align: center; - box-shadow: 0 10px 10px -10px black; - } +/* display: grid;*/ +/* grid-template-areas:*/ +/* "header header header"*/ +/* "image text text";*/ +/* grid-template-columns: 30% 30% auto;*/ +/* grid-template-rows: 10% auto;*/ +/* grid-column-gap: 2vw;*/ +/* grid-row-gap: 2svh;*/ +/* & .trailInfoHeader {*/ +/* grid-area: header;*/ +/* width: 100%;*/ +/* height: 100%;*/ +/* margin-top: 1svh;*/ +/* padding: 0;*/ +/* & h1 {*/ +/* color: white;*/ +/* padding:0;*/ +/* margin:0 25%;*/ +/* font-size: 2vw;*/ +/* text-align: center;*/ +/* box-shadow: 0 10px 10px -10px black;*/ +/* }*/ - } +/* }*/ - & img { - grid-area: image; - border-radius: 10px; - border: black solid 1px; - margin-left: 2vw; - margin-right: 2vw; - width: 100%; - height: auto; - box-shadow: 0 10px 20px -10px black; - } - & p { - grid-area: text; - color: white; - margin: 0; - padding: 0 2vw; - font-size: 1.3vw; - text-align: justify; - text-justify: inter-character; - line-height: 1.5; - width: fit-content; - height: fit-content; - overflow: scroll; +/* & img {*/ +/* grid-area: image;*/ +/* border-radius: 10px;*/ +/* border: black solid 1px;*/ +/* margin-left: 2vw;*/ +/* margin-right: 2vw;*/ +/* width: 100%;*/ +/* height: auto;*/ +/* box-shadow: 0 10px 20px -10px black;*/ +/* }*/ +/* & p {*/ +/* grid-area: text;*/ +/* color: white;*/ +/* margin: 0;*/ +/* padding: 0 2vw;*/ +/* font-size: 1.3vw;*/ +/* text-align: justify;*/ +/* text-justify: inter-character;*/ +/* line-height: 1.5;*/ +/* width: fit-content;*/ +/* height: fit-content;*/ +/* overflow: scroll;*/ - } -} +/* }*/ +/*}*/ -#trailFragContent { - margin: 0; - padding: 0; - display: flex; - min-height: 40svh; - flex-wrap: wrap; +/*#trailFragContent {*/ +/* margin: 0;*/ +/* padding: 0;*/ +/* display: flex;*/ +/* min-height: 40svh;*/ +/* flex-wrap: wrap;*/ -} +/*}*/ -header { - box-shadow: #1e1e1e 0 0 10px 10px; - font-size: 1vw; -} +/*header {*/ +/* box-shadow: #1e1e1e 0 0 10px 10px;*/ +/* font-size: 1vw;*/ +/*}*/ diff --git a/src/main/resources/static/css/localAuthorityPageStyle.css b/src/main/resources/static/css/localAuthorityPageStyle.css new file mode 100644 index 0000000000000000000000000000000000000000..61c59d353fe143d266df045a69f94a8c185827f8 --- /dev/null +++ b/src/main/resources/static/css/localAuthorityPageStyle.css @@ -0,0 +1,16 @@ +body{ + background-color: rgb(41, 41, 41) +} +h1{ + color: wheat; +} +h3{ + color: wheat; +} +ul{ + list-style: none; +} +ul li{ + color: wheat; + list-style: none; +} \ No newline at end of file diff --git a/src/main/resources/templates/fragments/Templating.html b/src/main/resources/templates/fragments/Templating.html index 55dba5e66042ad586fca111f9432a4c90f50742b..277e1b0a9462253ae51bebaa94de7216c6c0b32d 100644 --- a/src/main/resources/templates/fragments/Templating.html +++ b/src/main/resources/templates/fragments/Templating.html @@ -13,7 +13,7 @@ <label class="work">Who we Work with:</label> <select> <ul> - <option value="localauthorities">Local Authorities</option> + <option value="localauthorities"><a href="/local-authorities">Local Authorities</a></option> <option value="towns">Towns</option> <option value="businesses"><a href="/businesses">Businesses</a></option> <option value="consumers">Consumers</option> diff --git a/src/main/resources/templates/local-auth-data.html b/src/main/resources/templates/local-auth-data.html new file mode 100644 index 0000000000000000000000000000000000000000..3a3dd6098bd0739bdd960f5c31d553e0eaf4af6a --- /dev/null +++ b/src/main/resources/templates/local-auth-data.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/html"> +<head> + <meta charset="UTF-8"> + <title>Local Authority</title> + + <link rel="stylesheet" th:href="@{css/landmarkFormStyle.css}"> + <link rel="stylesheet" th:href="@{css/templatingstyle.css}"> +</head> +<header th:insert="~{/towns/Templating.html::header}"></header> +<body> +<div id="container1"> + <h2>Enter your Local authority</h2> + <form action="/local-auth-data" id="data" name="data" method="post" th:object="${localAuthority}"> + <br> + <label>Enter your local authority + <input type="text" th:field="*{localAuthorityName}"> + </label><br><br> + <label>Please enter first line of your address + <input type="text" th:field="*{address1}"> + </label><br><br> + <label>Please enter second line of your address (optional) + <input type="text" th:field="*{address2}"> + </label><br><br> + <label>Please enter the City/Town + <input type="text" th:field="*{city}"> + </label><br><br> + <label>Please enter you county (optional) + <input type="text" th:field="*{county}"> + </label><br><br> + <label>Please enter your postcode + <input type="text" th:field="*{postcode}"> + </label><br><br> + <label>Please enter your website address + <input type="text" th:field="*{website}"> + </label><br><br> + <input type="submit"> + </form> +</div> +</body> +<footer th:insert="~{/towns/Templating.html::footer}"></footer> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/local-authorities.html b/src/main/resources/templates/local-authorities.html new file mode 100644 index 0000000000000000000000000000000000000000..bdc00cdb181cebca878e56f0aa7711c7dc313c4e --- /dev/null +++ b/src/main/resources/templates/local-authorities.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>Local Authorities</title> + <link rel="stylesheet" th:href="@{css/localAuthorityPageStyle.css}"> + <link rel="stylesheet" th:href="@{css/templatingstyle.css}"> +</head> +<header th:insert="~{/towns/Templating.html::header}"></header> +<body> +<h1>Local Authorities</h1> +<div id="councils"> + <ul th:each="local:${localAuth}"> + <li th:text="${local}"></li> + </ul> +</div> +<button><a href="/localForm" id="authority">Local Authorities please enter here</a></button> +<footer th:insert="~{/towns/Templating.html::footer}"></footer> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/towns/local-authorities.html b/src/main/resources/templates/towns/local-authorities.html deleted file mode 100644 index bff9c093072dd9c949589ed6af85b35c0e407f57..0000000000000000000000000000000000000000 --- a/src/main/resources/templates/towns/local-authorities.html +++ /dev/null @@ -1,21 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Local Authorities</title> - <link rel="stylesheet" th:href="@{/css/templatingstyle.css}"> -</head> -<header th:insert="~{/towns/Templating.html::header}"></header> -<body> -<h1>Local Authorities</h1> -<div id="councils"> - <p>Caerphilly County Borough Council,<br>Tredomen Park,<br> Ystrad Mynach,<br> Hengoed,<br> CF82 7PG</p> - <a href="https://www.caerphilly.gov.uk/main.aspx?lang=en-GB">Caerphilly County Borough Council Website</a> - <p>Risca Town Council,<br>Risca Palace Library,<br>Unit B,<br>75 Tredegar Street,<br>Risca,<br>NP11 6BW</p> - <a href="https://www.riscatowncouncil.org.uk/">Risca Town Council Website</a> - <p>Penarth Town Council West House,<br>Stanwell Road,<br>Penarth,<br> CF64 2YG</p> - <a href="https://www.penarthtowncouncil.gov.uk/your-council/">Penarth Town Council Website</a> -</div> -<footer th:insert="~{/towns/Templating.html::footer}"></footer> -</body> -</html> \ No newline at end of file