diff --git a/.env b/.env
new file mode 100644
index 0000000..2195540
--- /dev/null
+++ b/.env
@@ -0,0 +1 @@
+API_TOKEN=f0f109ba4defabee302ac9e21340977a6e29043d709448024cf23442aebd61f0ac9ba11e129a26dae5a57496004cb3746626b606274e0fbead40e19a6cab9f003209ebbeac50c89bf2735fd76d8b9211f5766af0ec72898dd0e049650dfa9c862d101b3648b9f35db8bdd6847d46590020afec419765270482bd8a886050adb8
\ No newline at end of file
diff --git a/assets/Arrow-Left.png b/assets/Arrow-Left.png
new file mode 100644
index 0000000..19f58fa
Binary files /dev/null and b/assets/Arrow-Left.png differ
diff --git a/assets/Button (1).png b/assets/Button (1).png
new file mode 100644
index 0000000..dd39b00
Binary files /dev/null and b/assets/Button (1).png differ
diff --git a/assets/Button.png b/assets/Button.png
new file mode 100644
index 0000000..575b004
Binary files /dev/null and b/assets/Button.png differ
diff --git a/assets/banner.png b/assets/banner.png
new file mode 100644
index 0000000..8a23132
Binary files /dev/null and b/assets/banner.png differ
diff --git a/assets/card-image-2.png b/assets/card-image-2.png
new file mode 100644
index 0000000..edfa52f
Binary files /dev/null and b/assets/card-image-2.png differ
diff --git a/assets/card-image-3.png b/assets/card-image-3.png
new file mode 100644
index 0000000..120aace
Binary files /dev/null and b/assets/card-image-3.png differ
diff --git a/assets/card-image.png b/assets/card-image.png
new file mode 100644
index 0000000..e16aace
Binary files /dev/null and b/assets/card-image.png differ
diff --git a/assets/clients.png b/assets/clients.png
new file mode 100644
index 0000000..722f034
Binary files /dev/null and b/assets/clients.png differ
diff --git a/assets/home-banner.png b/assets/home-banner.png
new file mode 100644
index 0000000..8008b62
Binary files /dev/null and b/assets/home-banner.png differ
diff --git a/assets/image1.png b/assets/image1.png
new file mode 100644
index 0000000..a737713
Binary files /dev/null and b/assets/image1.png differ
diff --git a/assets/image2.png b/assets/image2.png
new file mode 100644
index 0000000..d03379e
Binary files /dev/null and b/assets/image2.png differ
diff --git a/assets/image3.png b/assets/image3.png
new file mode 100644
index 0000000..76e720b
Binary files /dev/null and b/assets/image3.png differ
diff --git a/package-lock.json b/package-lock.json
index 9fde774..88bd75d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,6 +29,8 @@
"@types/react": "^18.2.73",
"@types/react-dom": "^18.2.23",
"@vitejs/plugin-react": "^4.2.0",
+ "autoprefixer": "^10.4.18",
+ "postcss": "^8.4.36",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^5.4.3",
@@ -1841,6 +1843,7 @@
"version": "10.4.19",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
"integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -1941,6 +1944,7 @@
"version": "4.23.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
"integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -1988,6 +1992,7 @@
"version": "1.0.30001600",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz",
"integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -2255,7 +2260,8 @@
"node_modules/electron-to-chromium": {
"version": "1.4.715",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.715.tgz",
- "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg=="
+ "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==",
+ "dev": true
},
"node_modules/emoji-regex": {
"version": "9.2.2",
@@ -2312,6 +2318,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true,
"engines": {
"node": ">=6"
}
@@ -2458,6 +2465,7 @@
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
"integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+ "dev": true,
"engines": {
"node": "*"
},
@@ -3000,7 +3008,8 @@
"node_modules/node-releases": {
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "dev": true
},
"node_modules/normalize-path": {
"version": "3.0.0",
@@ -3014,6 +3023,7 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3904,6 +3914,7 @@
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
"integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5268,6 +5279,7 @@
"version": "10.4.19",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
"integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
+ "dev": true,
"requires": {
"browserslist": "^4.23.0",
"caniuse-lite": "^1.0.30001599",
@@ -5332,6 +5344,7 @@
"version": "4.23.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
"integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "dev": true,
"requires": {
"caniuse-lite": "^1.0.30001587",
"electron-to-chromium": "^1.4.668",
@@ -5352,7 +5365,8 @@
"caniuse-lite": {
"version": "1.0.30001600",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz",
- "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ=="
+ "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==",
+ "dev": true
},
"chalk": {
"version": "2.4.2",
@@ -5548,7 +5562,8 @@
"electron-to-chromium": {
"version": "1.4.715",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.715.tgz",
- "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg=="
+ "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==",
+ "dev": true
},
"emoji-regex": {
"version": "9.2.2",
@@ -5597,7 +5612,8 @@
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
},
"escape-string-regexp": {
"version": "1.0.5",
@@ -5700,7 +5716,8 @@
"fraction.js": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
- "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+ "dev": true
},
"fsevents": {
"version": "2.3.3",
@@ -6071,7 +6088,8 @@
"node-releases": {
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "dev": true
},
"normalize-path": {
"version": "3.0.0",
@@ -6081,7 +6099,8 @@
"normalize-range": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
@@ -6680,6 +6699,7 @@
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
"integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "dev": true,
"requires": {
"escalade": "^3.1.1",
"picocolors": "^1.0.0"
diff --git a/package.json b/package.json
index 6742409..48b0f10 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,8 @@
"@types/react": "^18.2.73",
"@types/react-dom": "^18.2.23",
"@vitejs/plugin-react": "^4.2.0",
+ "autoprefixer": "^10.4.18",
+ "postcss": "^8.4.36",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^5.4.3",
diff --git a/src/App.css b/src/App.css
index 7150519..57fd959 100644
--- a/src/App.css
+++ b/src/App.css
@@ -1,2 +1,16 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+
+
main {
+}
+
+.mapboxgl-ctrl-attrib-inner {
+ display: none;
+}
+
+.mapboxgl-ctrl-bottom-left {
+ display: none;
}
\ No newline at end of file
diff --git a/src/App.jsx b/src/App.jsx
new file mode 100644
index 0000000..b9c24c9
--- /dev/null
+++ b/src/App.jsx
@@ -0,0 +1,21 @@
+import { BrowserRouter, Routes, Route } from "react-router-dom";
+import Map from "./components/Map.jsx";
+import Homepage from "./components/Homepage.jsx";
+import Notifications from "./components/Notifications.jsx";
+import Event from "./components/Event.jsx";
+import SendEmail from "./components/sendEmail.jsx";
+import "./index.css";
+import "./App.css";
+
+export default function App() {
+ return (
+
{description}
+{new Date(date).toLocaleDateString()}
++ Organizer contact: {venueData.contactNumber} +
++ {eventData.data.attributes.categories.data[0].attributes.name} +
+{venueData.name}
++ Address: {venueData.address}, {venueData.city}, {venue.postcode} +
+{venueData.description}
+Contact Email: {venueData.contactEmail}
+Contact Number: {venueData.contactNumber}
++ Website:{" "} + + {venueData.website} + +
+£{price}
+${venue.attributes.description}
` + ) + ) .addTo(map); - markerElement.getElement().addEventListener("click", () => { - setSelectedMarker(marker); // Update selectedMarker state + marker.getElement().addEventListener("click", () => { + setSelectedMarker(venue); + setSelectedVenueEvents(venue.attributes.events.data); + setMultimediaUrl(venue.attributes.multimedia.data[0].attributes.formats.thumbnail.url); }); }); + console.log(multimediaUrl); + // console.log(baseUrl); + console.log(venues); + setMapData(map); return () => map.remove(); - }, []); + }, [venues]); return ( -{selectedMarker.description}
- Book - {/* Add more fields here as needed */} +Dear Guest,
-We regret to inform you that your booking for the following event has been cancelled:
-Event Name: {eventName}
-Date: {eventDate}
-Location: {eventLocation}
-We apologize for any inconvenience caused. If you have any questions, please feel free to contact us.
-Best regards,
The Event Management Team
Dear Guest,
+We regret to inform you that your booking for the following event has been cancelled:
+Event Name: {eventName}
+Date: {eventDate}
+Location: {eventLocation}
+We apologize for any inconvenience caused. If you have any questions, please feel free to contact us.
+Best regards,
EventHive
Dear Guest,
-We are pleased to confirm your booking for the following event:
-Event Name: {eventName}
-Date: {eventDate}
-Location: {eventLocation}
-Thank you for choosing to attend our event. We look forward to seeing you there!
-Best regards,
The Event Management Team
Dear Guest,
+We are pleased to confirm your booking for the following event:
+Event Name: {eventName}
+Date: {eventDate}
+Location: {eventLocation}
+Thank you for choosing to attend our event. We look forward to seeing you there!
+Best regards,
EventHive