diff --git a/web/src/App.tsx b/web/src/App.tsx
index 7197270..048cf08 100644
--- a/web/src/App.tsx
+++ b/web/src/App.tsx
@@ -3,10 +3,12 @@ import { createBrowserRouter, RouterProvider } from "react-router-dom";
import { useState } from "react";
import Home from "@pages/Home";
import Login from "@pages/Login";
-import Store from "@pages/Events";
+import Events from "@pages/Events";
import SignUp from "@pages/SignUp";
import About from "@pages/About";
import Profile from "@pages/Profile";
+import Leaderboard from "@pages/Leaderboard"
+
const router = createBrowserRouter([
{
@@ -22,8 +24,8 @@ const router = createBrowserRouter([
element: ,
},
{
- path: "/store",
- element: ,
+ path: "/events",
+ element: ,
},
{
path: "/profile",
@@ -33,6 +35,10 @@ const router = createBrowserRouter([
path: "/about",
element: ,
},
+ {
+ path: "leaderboard",
+ element:
+ }
]);
export default function App() {
diff --git a/web/src/components/ColourKey.tsx b/web/src/components/ColourKey.tsx
new file mode 100644
index 0000000..5effd2a
--- /dev/null
+++ b/web/src/components/ColourKey.tsx
@@ -0,0 +1,36 @@
+import React, { useState } from 'react';
+import '../styles/ColourKey.css'
+
+const ColorKey: React.FC = () => {
+ const [isCollapsed, setIsCollapsed] = useState(false);
+
+ const toggleCollapse = () => {
+ setIsCollapsed(!isCollapsed);
+ };
+
+ return (
+
+
+ {!isCollapsed && (
+
+ )}
+
+ );
+};
+
+export default ColorKey;
diff --git a/web/src/pages/Leaderboard.tsx b/web/src/pages/Leaderboard.tsx
index 5b76dbf..0f7633b 100644
--- a/web/src/pages/Leaderboard.tsx
+++ b/web/src/pages/Leaderboard.tsx
@@ -1,6 +1,7 @@
import NavBar from "@components/NavBar";
import React from "react";
+
export default function Sell() {
return (
diff --git a/web/src/pages/Profile.tsx b/web/src/pages/Profile.tsx
index fee958b..4e6bc49 100644
--- a/web/src/pages/Profile.tsx
+++ b/web/src/pages/Profile.tsx
@@ -1,11 +1,28 @@
+import React from 'react';
import NavBar from "@components/NavBar";
-import React from "react";
+import '../styles/profile.css';
+import Key from "@components/ColourKey"
-export default function Profile() {
+function Profile() {
return (
-
+
-
This is the profile page
+
+
+
MY ACCOUNT
+
+
+
+
+
NAME
+
Events Attended: 5
+
Points: 10
+
placeholder
+
+
+
);
}
+
+export default Profile;
diff --git a/web/src/styles/ColourKey.css b/web/src/styles/ColourKey.css
new file mode 100644
index 0000000..4c9aa72
--- /dev/null
+++ b/web/src/styles/ColourKey.css
@@ -0,0 +1,55 @@
+.color-key-container {
+ border: 1px solid #ccc;
+ padding: 10px;
+ width: 200px;
+ position: fixed;
+ bottom: 20px;
+ right: 20px;
+ background-color: white;
+ z-index: 1000;
+}
+
+.color-key-container.collapsed .color-key-content {
+ display: none;
+}
+
+.collapse-button {
+ position: absolute;
+ top: 5px;
+ left: 5px;
+ background: yellow;
+ color: white;
+ border: none;
+ padding: 5px;
+ cursor: pointer;
+}
+
+.color-key-content {
+ display: flex;
+ flex-direction: column;
+ margin-top: 30px;
+}
+
+.color-key-item {
+ display: flex;
+ align-items: center;
+ margin-bottom: 10px;
+}
+
+.color-flag {
+ width: 20px;
+ height: 20px;
+ margin-right: 10px;
+}
+
+.no-event {
+ background-color: gray;
+}
+
+.event-soon {
+ background-color: red;
+}
+
+.event-later {
+ background-color: blue;
+}
diff --git a/web/src/styles/Profile.css b/web/src/styles/Profile.css
new file mode 100644
index 0000000..297c991
--- /dev/null
+++ b/web/src/styles/Profile.css
@@ -0,0 +1,65 @@
+.profile-container {
+ display: flex;
+ flex-direction: column;
+
+}
+
+
+.profile-content {
+ width: 93%;
+ margin-left: 50px;
+ margin-top: 15px;
+}
+
+.profile-title {
+ font-size: 3em;
+ font-weight: 1000;
+ margin-bottom: 10px;
+ text-align: left;
+ width: 100%;
+ word-spacing: 20px;
+ color: #364652;
+}
+
+.title-line {
+ border: none;
+ height: 4px;
+ background-color: #364652;;
+ margin-bottom: 20px;
+}
+
+.profile-details {
+ display: flex;
+ align-items: center;
+ margin-left: 20;
+}
+
+
+.picture-placeholder {
+ width: 220px;
+ height: 220px;
+ border-radius: 50%;
+ background-color: #ccc;
+ margin: 30px;
+}
+
+.profile-info {
+ display: flex;
+ flex-direction: column;
+ margin-top: -40px;
+ margin-left: 70px;
+}
+
+.profile-name {
+ font-size: 2em;
+ font-weight: 800;
+ margin: 0;
+ color: #364652;
+}
+
+.events-attended {
+ font-size: 1.2em;
+ margin: 5px 0 0 0;
+ font-weight: 800;
+ color: #364652;
+}