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 && ( +
+
+
+ No Events +
+
+
+ Event Soon +
+
+
+ Event in a While +
+
+ )} +
+ ); +}; + +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; +}