-
- Talk to us
-
-
- Ideas, problems, violations ? Reach out to us !
-
-
-
-
+
+
+
+
QUICK STARTS
+ Trending
+ Clubs
+ Shops
+ Login
+ Events
+
+
+
RESOURCES
+ GitHub
+ Setup Frontend
+ Setup Backend
+ Docker resources
+
+
+
POLICIES
+ Terms
+ Privacy
+ Cookies
-
-
-
+
+
+ Terms |Privacy{" "}
+ |Cookies
-
- Developed by team{" "}
- {
- e.target.style.textDecoration = "underline";
- e.target.style.color = "pink"; // Change to the desired color on hover
- }}
- onMouseOut={(e) => {
- e.target.style.textDecoration = "none";
- e.target.style.color = "inherit"; // Reset the color on hover out
- }}
- >
- Milan
- {" "}
- © {new Date().getFullYear()}
-
+
+
+
+
+
+
+
>
diff --git a/src/components/shared/footer/Footer.scss b/src/components/shared/footer/Footer.scss
new file mode 100644
index 00000000..7abbc04d
--- /dev/null
+++ b/src/components/shared/footer/Footer.scss
@@ -0,0 +1,112 @@
+footer {
+ background-color: rgb(27, 27, 27);
+ display: flex;
+ align-items: start;
+ padding: 7rem;
+ justify-content: space-between;
+ max-width: 100vw;
+
+ @media (max-width: 1024px) {
+ padding: 3rem 1rem;
+ flex-direction: column;
+ align-items: center;
+ gap: 3rem;
+ }
+
+ @media screen and (max-width: 500px) {
+ padding: 3rem 1rem;
+ flex-direction: column;
+ align-items: center;
+ gap: 2rem;
+ }
+
+ .leftside {
+ display: flex;
+ align-items: start;
+ gap: 5rem;
+
+ @media (max-width: 1024px) {
+ gap: 3rem;
+ }
+
+ @media screen and (max-width: 500px) {
+ gap: 3rem;
+ flex-direction: column;
+ }
+
+ .brand {
+ margin-top: -0.5rem;
+ }
+
+ .links_parent {
+ display: flex;
+ gap: 5rem;
+ .product,
+ .dev,
+ .policies {
+ display: flex;
+ flex-direction: column;
+ h1 {
+ color: rgba(255, 255, 255, 0.855);
+ font-size: 17px;
+ margin-bottom: 1.5rem;
+ font-family: var(--poppins);
+ }
+ a {
+ color: rgba(255, 255, 255, 0.555);
+ font-size: 15px;
+ font-family: var(--poppins);
+ text-decoration: none;
+ margin-bottom: 5px;
+
+ &:hover {
+ color: rgba(255, 255, 255, 0.855);
+ }
+ }
+ }
+
+ .policies {
+ @media screen and (max-width: 500px) {
+ display: none;
+ }
+ }
+ }
+
+ .policies_mobile {
+ display: none;
+ width: 100%;
+
+ @media screen and (max-width: 500px) {
+ display: flex;
+ justify-content: center;
+ gap: 0.5rem;
+ a {
+ color: rgba(255, 255, 255, 0.555);
+ font-size: 15px;
+ font-family: var(--poppins);
+ text-decoration: none;
+ &:hover {
+ color: rgba(255, 255, 255, 0.855);
+ }
+ }
+ }
+ }
+ }
+
+ .rightside {
+ display: flex;
+ gap: 1rem;
+ color: white;
+ z-index: 90;
+
+ svg {
+ width: 1.4rem;
+ height: 1.4rem;
+ cursor: pointer;
+
+ &:hover {
+ color: var(--primary);
+ }
+ }
+ }
+}
diff --git a/src/components/shared/navbar/Navbar.css b/src/components/shared/navbar/Navbar.css
deleted file mode 100644
index 1119e824..00000000
--- a/src/components/shared/navbar/Navbar.css
+++ /dev/null
@@ -1,260 +0,0 @@
-.navbar_parent {
- background-color: rgba(255, 255, 255, 0);
- padding: 0.8rem 7rem;
- backdrop-filter: blur(10px);
- box-shadow: 0 20px 30px rgba(255, 255, 255, 0.15);
- z-index: 10;
- position: fixed;
- top: 0;
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.navbar_brand > img {
- width: 110px;
-}
-
-.navbar_links {
- display: flex;
- gap: 40px;
- align-items: center;
- margin-top: 10px;
-}
-
-.navbar_link {
- color: #8c321b;
- font-weight: 600;
- font-family: "Poppins", sans-serif;
- text-decoration: none;
- font-size: 17px;
- line-height: 1;
-}
-
-.active-link {
- border-bottom: 2px solid #28183b;
- width: 50%;
- margin: auto;
-}
-
-.navbar_cta {
- border-radius: 50px;
- width: 150px;
- display: flex;
- align-items: center;
- justify-content: center;
- justify-items: space-between;
- gap: 1rem;
- padding: 10px 20px;
-}
-
-.navbar_cta:hover {
- background: var(--Brand-brand-500, #ff5b31);
- box-shadow:
- 0px 0px 1.17px 0px #ff5a30,
- 0px 0px 8.191px 0px #ff5a30,
- 0px 0px 28.084px 0px #ff5a30;
- transition: all 0.3s ease-in-out;
-}
-
-.navbar_cta_arrow {
- width: 15px;
- height: 15px;
- transition: all 0.3s ease-in-out;
-}
-
-.navbar_cta:hover .navbar_cta_arrow,
-.landing_signup:hover .navbar_cta_arrow {
- transform: rotate(-90deg);
- transition: all 0.3s ease-in-out;
-}
-
-.navbar_loggedin_cta {
- display: flex;
- align-items: center;
- gap: 20px;
- width: 120px;
- padding: 7px 10px;
- justify-content: space-between;
- border: 1px solid var(--headsup-stroke, rgba(215, 86, 54, 0.766));
- background: var(--Neutral-G10, #fbfbfb);
-}
-
-.navbar_loggedin_cta:hover {
- background-color: white;
-}
-
-.navbar_loggedin_cta > svg {
- width: 27px;
- height: 27px;
- color: #28183b;
-}
-
-.navbar_ham {
- width: 30px;
- height: 30px;
- color: #28183b;
- cursor: pointer;
- display: none;
-}
-
-.navbar_hamimg {
- width: 30px;
- height: 30px;
- cursor: pointer;
- display: none;
- border-radius: 50%;
-}
-
-.navbar_mobile_linksparent {
- position: fixed;
- width: 100vw;
- height: 100vh;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: rgba(0, 0, 0, 0.867);
- z-index: 20;
- display: flex;
- justify-content: end;
- align-items: center;
- justify-content: center;
- display: flex;
- align-items: center;
- transition: all 0.3s ease-in-out;
-}
-
-.navbar_mobile_links {
- background-color: rgb(255, 255, 255);
- padding: 1rem;
- box-shadow: 1px 3px 80px rgba(255, 255, 255, 0.346);
- border-radius: 12px;
- width: 80vw;
- display: flex;
- flex-wrap: wrap;
- gap: 30px;
- justify-content: center;
- position: absolute;
- top: 20%;
- padding-top: 2rem;
-}
-
-.navbar_mobile_link {
- color: #000000;
- font-weight: 500;
- font-family: "Outfit", sans-serif;
- text-decoration: none;
- font-size: 17px;
- line-height: 1;
-}
-
-.navbar_mobile_cta {
- font-family: "Outfit", sans-serif;
- text-decoration: none;
- font-size: 17px;
- gap: 5px;
- padding: 0.5rem 1rem;
- width: auto;
-}
-
-.navbar_mobile_cta > svg {
- width: 15px;
- height: 15px;
-}
-
-.navbar_mobile_close {
- position: absolute;
- top: 10px;
- right: 10px;
- cursor: pointer;
-}
-
-.nav_dropdown {
- position: absolute;
- top: 40px;
- right: 71px;
- width: 200px;
-
- flex-direction: column;
- justify-content: center;
- background-color: white;
- box-shadow:
- 0px 0px 1.17px 0px #ff593020,
- 0px 0px 8.191px 0px #ff593020,
- 0px 0px 28.084px 0px #ff593020;
- border-radius: 6px;
- z-index: 10;
- transition: all 1s ease-in-out;
- display: none;
-}
-
-.nav_dropdown_visible {
- display: flex;
- top: 60px;
- transition: all 1s ease-in-out;
-}
-
-.nav_dropdown > .myaccount {
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-
-.myaccount > span {
- padding: 10px;
- font-family: "Outfit", sans-serif;
- font-size: 17px;
- font-weight: 500;
- color: var(--secondary);
-}
-
-.myaccount_separator {
- width: 100%;
- height: 1px;
- background-color: #e2e5e871;
-}
-
-.myaccount > a {
- color: #000000;
- font-weight: 400;
- font-family: "Outfit", sans-serif;
- text-decoration: none;
- font-size: 16px;
- line-height: 1;
- border-radius: 5px;
- padding: 10px;
- display: flex;
- justify-content: space-between;
-}
-
-.myaccount > a > span {
- opacity: 60%;
-}
-
-.myaccount > a:hover {
- background-color: #00000009;
-}
-
-.myaccount:nth-of-type(3) {
- margin-bottom: 8px;
-}
-
-@media screen and (max-width: 430px) {
- .navbar_parent {
- padding: 0.8rem 1.5rem;
- }
-
- .navbar_brand > img {
- width: 100px;
- }
-
- .navbar_ham {
- display: block;
- }
-
- .navbar_hamimg {
- display: block;
- }
-}
diff --git a/src/components/shared/navbar/Navbar.jsx b/src/components/shared/navbar/Navbar.jsx
index e6d881b2..caf7cfe1 100644
--- a/src/components/shared/navbar/Navbar.jsx
+++ b/src/components/shared/navbar/Navbar.jsx
@@ -5,12 +5,12 @@ import { GiHamburgerMenu } from "react-icons/gi";
import { RxCross2 } from "react-icons/rx";
import { useDispatch, useSelector } from "react-redux";
import { Link, useLocation, useNavigate } from "react-router-dom";
-import navbarbrand from "../../../assets/pictures/Navbar/NavbarImg.png";
-import Button from "../buttons/globalbutton/Button";
-import "./Navbar.css";
+import navbarbrand from "../../../assets/pictures/Navbar/MilanNavBrand.svg";
+import { resetUserData } from "../../../redux/slice/userSlice";
import { Logout } from "../../../service/MilanApi";
import { showErrorToast, showSuccessToast } from "../../../utils/Toasts";
-import { resetUserData } from "../../../redux/slice/userSlice";
+import Button from "../buttons/globalbutton/Button";
+import "./Navbar.scss";
const Links = [
{
@@ -21,12 +21,16 @@ const Links = [
name: "Clubs",
link: "/clubs",
},
+ {
+ name: "Trending",
+ link: "/trending",
+ },
{
name: "Events",
link: "/events",
},
{
- name: "Shop",
+ name: "Shops",
link: "/shop",
},
];
@@ -105,11 +109,12 @@ const Navbar = () => {
src="https://www.thetechies.org/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fuser3.04b79840.webp&w=640&q=75"
alt=""
style={{
- width: "33px",
- height: "33px",
+ width: "37px",
+ height: "37px",
borderRadius: "50%",
objectFit: "cover",
cursor: "pointer",
+ zIndex: "100",
}}
onClick={() => {
document
@@ -120,19 +125,6 @@ const Navbar = () => {
) : (
)}
>
@@ -209,14 +201,16 @@ const Navbar = () => {
-
Hello @{userName}
+
Hello @{userName}
Your Profile
⇧⌘P
diff --git a/src/components/shared/navbar/Navbar.scss b/src/components/shared/navbar/Navbar.scss
new file mode 100644
index 00000000..6d2b70f3
--- /dev/null
+++ b/src/components/shared/navbar/Navbar.scss
@@ -0,0 +1,229 @@
+.navbar_parent {
+ padding: 0.8rem 7rem;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ z-index: 100;
+
+ @media screen and (max-width: 430px) {
+ padding: 0.8rem 1.5rem;
+ }
+
+ .navbar_brand > img {
+ width: 170px;
+ z-index: 9999999999999999999999;
+ cursor: pointer;
+
+ @media screen and (max-width: 430px) {
+ width: 130px;
+ z-index: 10;
+ }
+ }
+
+ .navbar_links {
+ display: flex;
+ gap: 30px;
+ align-items: center;
+ margin-top: 10px;
+ z-index: 1;
+ margin-right: 5rem;
+
+ .navbar_link {
+ color: #8c321b;
+ font-weight: 600;
+ font-family: "Poppins", sans-serif;
+ text-decoration: none;
+ font-size: 17px;
+ line-height: 1;
+ }
+
+ .active-link {
+ border-bottom: 2px solid #28183b;
+ width: 50%;
+ margin: auto;
+ }
+ }
+
+ .navbar_cta {
+ width: 150px;
+ gap: 1rem;
+ padding: 10px 28px;
+ border-radius: 8px;
+
+ font-family: "Poppins", sans-serif;
+ font-size: 17px;
+ font-style: normal;
+ width: auto;
+ font-weight: 500;
+ display: flex;
+ justify-content: space-evenly;
+ align-items: center;
+ border: none;
+ gap: 10px;
+ z-index: 3;
+
+ &:hover {
+ background: var(--Brand-brand-500, #ff5b31);
+ box-shadow:
+ 0px 0px 1.17px 0px #ff5a30,
+ 0px 0px 8.191px 0px #ff5a30,
+ 0px 0px 28.084px 0px #ff5a30;
+ transition: all 0.3s ease-in-out;
+ }
+ }
+
+ .navbar_ham {
+ width: 30px;
+ height: 30px;
+ color: #28183b;
+ cursor: pointer;
+ display: none;
+
+ @media screen and (max-width: 430px) {
+ display: block;
+ }
+ }
+
+ .navbar_hamimg {
+ width: 30px;
+ height: 30px;
+ cursor: pointer;
+ display: none;
+ border-radius: 50%;
+
+ @media screen and (max-width: 430px) {
+ display: block;
+ }
+ }
+
+ .navbar_mobile_linksparent {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.867);
+ z-index: 20;
+ display: flex;
+ justify-content: end;
+ align-items: center;
+ justify-content: center;
+ display: flex;
+ align-items: center;
+ transition: all 0.3s ease-in-out;
+
+ .navbar_mobile_links {
+ background-color: rgb(255, 255, 255);
+ padding: 1rem;
+ box-shadow: 1px 3px 80px rgba(255, 255, 255, 0.346);
+ border-radius: 12px;
+ width: 80vw;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 30px;
+ justify-content: center;
+ position: absolute;
+ top: 20%;
+ padding-top: 2rem;
+
+ .navbar_mobile_link {
+ color: #000000;
+ font-weight: 500;
+ font-family: "Outfit", sans-serif;
+ text-decoration: none;
+ font-size: 17px;
+ line-height: 1;
+ }
+
+ .navbar_mobile_cta {
+ font-family: "Outfit", sans-serif;
+ text-decoration: none;
+ font-size: 17px;
+ gap: 5px;
+ padding: 0.5rem 1rem;
+ width: auto;
+ }
+
+ .navbar_mobile_close {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ cursor: pointer;
+ }
+ }
+ }
+
+ .nav_dropdown {
+ position: absolute;
+ top: 40px;
+ right: 71px;
+ width: 200px;
+
+ flex-direction: column;
+ justify-content: center;
+ background-color: white;
+ box-shadow:
+ 0px 0px 1.17px 0px #ff593020,
+ 0px 0px 8.191px 0px #ff593020,
+ 0px 0px 28.084px 0px #ff593020;
+ border-radius: 6px;
+ z-index: 10;
+ transition: all 1s ease-in-out;
+ display: none;
+
+ .myaccount {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ color: var(--secondary);
+
+ .name {
+ font-family: "Outfit", sans-serif;
+ font-size: 16px;
+ padding: 10px;
+ margin-bottom: 5px;
+ }
+
+ &:nth-of-type(3) {
+ margin-bottom: 8px;
+ }
+
+ .myaccount_separator {
+ width: 100%;
+ height: 1px;
+ background-color: #e2e5e871;
+ }
+
+ a {
+ color: var(--secondary);
+ font-weight: 400;
+ font-family: "Outfit", sans-serif;
+ text-decoration: none;
+ font-size: 16px;
+ line-height: 1;
+ border-radius: 5px;
+ padding: 10px;
+ display: flex;
+ justify-content: space-between;
+
+ span {
+ opacity: 60%;
+ }
+
+ &:hover {
+ background-color: #00000009;
+ }
+ }
+ }
+ }
+
+ .nav_dropdown_visible {
+ display: flex;
+ top: 60px;
+ transition: all 1s ease-in-out;
+ z-index: 100;
+ }
+}
diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx
index bb15dfba..1ecdd66c 100644
--- a/src/pages/Home.jsx
+++ b/src/pages/Home.jsx
@@ -2,8 +2,7 @@ import Cookies from "js-cookie";
import React, { useEffect } from "react";
import { Helmet } from "react-helmet-async";
import { useDispatch } from "react-redux";
-import { ToastContainer } from "react-toastify";
-import { Landing, MilanInfoBanner } from "../components/private/index.js";
+import { Landing } from "../components/private/index.js";
import { Footer, Navbar } from "../components/shared";
import { toggleUserLogin, updateUserData } from "../redux/slice/userSlice.js";
import { successCallback } from "../service/MilanApi.js";
@@ -41,11 +40,10 @@ const Home = () => {
-
-
+
>
);
diff --git a/src/pages/Trending.jsx b/src/pages/Trending.jsx
new file mode 100644
index 00000000..536049a5
--- /dev/null
+++ b/src/pages/Trending.jsx
@@ -0,0 +1,17 @@
+import React from "react";
+import { ComingSoon, Navbar } from "../components/shared";
+
+const Trending = () => {
+ return (
+ <>
+
+
+ >
+ );
+};
+
+export default Trending;
diff --git a/src/pages/auth/Login.jsx b/src/pages/auth/Login.jsx
index 90cdf083..f1b61e4f 100644
--- a/src/pages/auth/Login.jsx
+++ b/src/pages/auth/Login.jsx
@@ -6,7 +6,6 @@ import { FaEye } from "react-icons/fa";
import { FaEyeSlash } from "react-icons/fa6";
import { FcGoogle } from "react-icons/fc";
import { useNavigate } from "react-router-dom";
-import { ToastContainer } from "react-toastify";
import rightabstract from "../../assets/pictures/authpages/authbanner.png";
import { Button } from "../../components/shared";
import { AuthSchema } from "../../constants";
@@ -51,7 +50,7 @@ const Login = () => {
/>
-
+
diff --git a/src/pages/auth/SignUp.jsx b/src/pages/auth/SignUp.jsx
index 264794c5..6e858827 100644
--- a/src/pages/auth/SignUp.jsx
+++ b/src/pages/auth/SignUp.jsx
@@ -6,7 +6,6 @@ import { FaChevronDown, FaEye } from "react-icons/fa";
import { FaEyeSlash } from "react-icons/fa6";
import { FcGoogle } from "react-icons/fc";
import { useNavigate } from "react-router-dom";
-import { ToastContainer } from "react-toastify";
import rightabstract from "../../assets/pictures/authpages/authbanner.png";
import { Button } from "../../components/shared";
import { useAuth } from "../../hooks/useAuth";
@@ -62,7 +61,7 @@ const SignUp = () => {
/>
-
+
diff --git a/src/pages/auth/index.css b/src/pages/auth/index.css
index 8e9d28ef..2dbc82eb 100644
--- a/src/pages/auth/index.css
+++ b/src/pages/auth/index.css
@@ -32,9 +32,9 @@
.signup_container_left > h1 {
font-size: 35px;
font-weight: 700;
- color: var(--Brand-brand-900, #6b2615);
+ color: var(--secondary);
margin-bottom: 1rem;
- font-family: "Montserrat", sans-serif;
+ font-family: "Poppins", sans-serif;
}
.auth_dropdown {
@@ -73,11 +73,11 @@
}
.auth_label {
- font-family: "Outfit", sans-serif;
+ font-family: var(--outfit);
font-size: 17px;
font-weight: 400;
margin-bottom: 3px;
- color: #6b2615;
+ color: var(--secondary);
}
.auth_input {
@@ -98,6 +98,7 @@
transition:
border-color 0.15s ease-in-out,
box-shadow 0.15s;
+ font-family: var(--outfit);
}
.auth_input:focus {
@@ -115,6 +116,7 @@ textarea::placeholder {
.auth_submit {
border-radius: 0.375rem;
width: 100%;
+ font-family: var(--poppins);
}
.signup_rightabstract {
@@ -144,7 +146,7 @@ textarea::placeholder {
color: white;
border-radius: 6px;
font-size: 15px;
- font-family: "Outfit", sans-serif;
+ font-family: var(--outfit);
display: flex;
align-items: center;
width: 100%;
diff --git a/src/pages/clubs/Clubs.css b/src/pages/clubs/Clubs.css
index 86d258b6..170d6a30 100644
--- a/src/pages/clubs/Clubs.css
+++ b/src/pages/clubs/Clubs.css
@@ -1,16 +1,16 @@
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@800&display=swap");
.clubspage_main_parent {
- margin-top: 8rem;
+ margin-top: 3rem;
margin-bottom: 3rem;
+ min-height: 100vh;
}
.clubspage_cardsdiv {
display: flex;
flex-wrap: wrap;
- gap: 2rem;
- justify-content: space-between;
- margin-top: 5rem;
+ gap: 2.5rem;
+ justify-content: center;
margin-bottom: 0;
}
diff --git a/src/pages/dashboard/Dashboard.jsx b/src/pages/dashboard/Dashboard.jsx
new file mode 100644
index 00000000..b7299747
--- /dev/null
+++ b/src/pages/dashboard/Dashboard.jsx
@@ -0,0 +1,114 @@
+import { useQuery } from "@tanstack/react-query";
+import Cookies from "js-cookie";
+import React, { useEffect, useState } from "react";
+import { FiEdit3 } from "react-icons/fi";
+import "swiper/css";
+import "swiper/css/autoplay";
+import "swiper/css/navigation";
+import "swiper/css/pagination";
+import { Button, Navbar, ProfileCompletion } from "../../components/shared";
+import { fetchDashboard } from "../../service/MilanApi";
+import { checkMissingFields } from "../../utils/checkMissingFields";
+import "./Dashboard.scss";
+
+const Dashboard = () => {
+ const [showProfileModal, setShowProfileModal] = useState(false);
+ const [editProfile, seteditProfile] = useState(false);
+
+ const { data } = useQuery({
+ queryKey: ["dashboardData"],
+ queryFn: fetchDashboard,
+ refetchOnMount: false,
+ retry: 2,
+ });
+
+ useEffect(() => {
+ if (!Cookies.get("skipProfileCompletion") && checkMissingFields(data)) {
+ setShowProfileModal(true);
+ }
+ }, []);
+
+ const toggleProfileModal = () => {
+ setShowProfileModal(!showProfileModal);
+ seteditProfile(true);
+ };
+
+ return (
+ <>
+
+
+ {showProfileModal && (
+
+ )}
+
+
+
+
+
+
+
+
+
+
+
+
{data?.name}
+
+ Lorem ipsum dolor sit amet consectetur adipisicing elit.
+ Impedit cum laudantium
+
+
+
+
+
+
+
+
+
+
About Us
+
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit.
+ Officiis pariatur fugit maiores eligendi, perspiciatis,
+ assumenda similique deserunt omnis exercitationem voluptate
+ porro iste velit, debitis nobis? Hic, rerum! Officiis rerum
+ reiciendis impedit numquam harum, omnis quasi qui cupiditate,
+ accusamus sed ad ipsam aspernatur cumque adipisci molestias
+ aperiam molestiae, nulla doloribus minus! Fugiat, quas nisi. Eum
+ corrupti dolore quas tenetur veritatis nam, quae dolores
+ nesciunt ducimus maiores consectetur minus harum iusto eaque
+ cupiditate doloremque, laudantium facere dolorum sequi, sit
+ distinctio! Animi eligendi cum tempora distinctio nam dolor
+ facere sapiente culpa sed ullam eveniet aliquam, praesentium
+ quidem accusantium, nostrum assumenda esse et quasi.
+
+
+
+
+
Events Hosted
+
+
+
+
+ >
+ );
+};
+
+export default Dashboard;
diff --git a/src/pages/dashboard/Dashboard.scss b/src/pages/dashboard/Dashboard.scss
new file mode 100644
index 00000000..abac5ea5
--- /dev/null
+++ b/src/pages/dashboard/Dashboard.scss
@@ -0,0 +1,111 @@
+.dashboard_container {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-top: 2rem;
+ padding-bottom: 4rem;
+
+ @media screen and (max-width: 430px) {
+ padding: 6rem 1rem;
+ }
+
+ .dashboard_parent {
+ max-width: 1000px;
+ margin: auto;
+ display: flex;
+ flex-direction: column;
+ gap: 4rem;
+ width: 100%;
+
+ @media screen and (max-width: 430px) {
+ max-width: 100vw;
+ gap: 2rem;
+ }
+
+ .dashboard_header {
+ position: relative;
+
+ .coverimage {
+ height: 300px;
+ width: 100%;
+ border-radius: 10px;
+ }
+
+ .details {
+ position: absolute;
+ top: 15rem;
+ left: 1.3rem;
+ display: flex;
+ align-items: flex-end;
+ gap: 1rem;
+ width: 100%;
+
+ .logo {
+ height: 150px;
+ width: 150px;
+ border-radius: 6px;
+ }
+
+ .header {
+ display: flex;
+ align-items: start;
+ width: 100%;
+ justify-content: space-between;
+ padding-right: 2rem;
+ h1 {
+ font-size: 2.4rem;
+ color: var(--secondary);
+ font-family: var(--outfit);
+ font-weight: 700;
+ padding: 0;
+ margin: 0;
+ line-height: 1;
+ margin-bottom: 8px;
+ }
+
+ h2 {
+ font-size: 18px;
+ font-family: var(--outfit);
+ font-weight: 500;
+ padding: 0;
+ margin: 0;
+ line-height: 1;
+ max-width: 90%;
+ }
+
+ .cta {
+ display: flex;
+ gap: 1rem;
+ align-items: center;
+ font-family: var(--outfit);
+ background-color: var(--primary);
+ }
+ }
+ }
+ }
+
+ .dashboard_body {
+ margin-top: 6rem;
+
+ h1 {
+ font-size: 2rem;
+ font-family: var(--outfit);
+ font-weight: 700;
+ color: var(--secondary);
+ margin-bottom: 1rem;
+ }
+
+ p {
+ font-size: 1rem;
+ font-family: var(--outfit);
+ font-weight: 400;
+ color: var(--secondary);
+ margin-bottom: 1rem;
+ }
+
+ .events {
+ margin-top: 3rem;
+ }
+ }
+ }
+}
diff --git a/src/pages/events/all/Events.scss b/src/pages/events/all/Events.scss
index a34356d5..8ac98b01 100644
--- a/src/pages/events/all/Events.scss
+++ b/src/pages/events/all/Events.scss
@@ -7,7 +7,7 @@
.separator {
width: 80%;
height: 1px;
- background-color: #e2e5e870;
+ background-color: var(--secondary);
margin: 0;
margin-top: 10px;
opacity: 0.2;
@@ -20,6 +20,7 @@
margin: 0;
white-space: nowrap;
line-height: 1;
+ color: var(--secondary);
}
.createevent {
@@ -43,7 +44,7 @@
}
.events_div {
- margin-top: 4rem;
+ margin-top: 2rem;
display: flex;
align-items: center;
flex-wrap: wrap;
diff --git a/src/pages/profile/Profile.jsx b/src/pages/profile/Profile.jsx
index fd907d0b..0164da74 100644
--- a/src/pages/profile/Profile.jsx
+++ b/src/pages/profile/Profile.jsx
@@ -4,7 +4,6 @@ import { FiEdit3 } from "react-icons/fi";
import { MdLogout } from "react-icons/md";
import { useDispatch, useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
-import { ToastContainer } from "react-toastify";
import "swiper/css";
import "swiper/css/autoplay";
import "swiper/css/navigation";
@@ -66,7 +65,6 @@ const Profile = () => {
return (
<>
-
{showProfileModal && (
{
return (
<>
-
+
diff --git a/src/service/MilanApi.js b/src/service/MilanApi.js
index 028c3413..128d30b2 100644
--- a/src/service/MilanApi.js
+++ b/src/service/MilanApi.js
@@ -127,3 +127,15 @@ export const CreateEvent = async (event) => {
return error;
}
};
+
+export const fetchDashboard = async () => {
+ try {
+ const response = await Axios.get(clubEndpoints.dashboard, {
+ withCredentials: true,
+ });
+
+ return response.data;
+ } catch (error) {
+ return error;
+ }
+};
diff --git a/src/static/ApiEndpoints.js b/src/static/ApiEndpoints.js
index 6fd47f6a..4957adb3 100644
--- a/src/static/ApiEndpoints.js
+++ b/src/static/ApiEndpoints.js
@@ -10,6 +10,7 @@ const clubEndpoints = {
all: `${API}/clubs`,
details: (userName) => `${API}/clubs?userName=${userName}`,
createEvent: `${API}/club/createevent`,
+ dashboard: `${API}/clubs/dashboard`,
};
const eventEndpoints = {
diff --git a/src/styles/Globals.scss b/src/styles/Globals.scss
index 9ba2eebb..9e2eeb0a 100644
--- a/src/styles/Globals.scss
+++ b/src/styles/Globals.scss
@@ -13,6 +13,6 @@ html {
--mont: "Montserrat", sans-serif;
--poppins: "Poppins", sans-serif;
--outfit: "Outfit", sans-serif;
- --secondary:#6b2615;
- --primary:#ff5b31;
-}
\ No newline at end of file
+ --secondary: #6b2615;
+ --primary: #ff5b31;
+}
diff --git a/src/utils/routesConfig.jsx b/src/utils/routesConfig.jsx
index d56f09d6..90db1e12 100644
--- a/src/utils/routesConfig.jsx
+++ b/src/utils/routesConfig.jsx
@@ -1,6 +1,8 @@
import React from "react";
+import Trending from "../pages/Trending";
import {
Clubs,
+ Dashboard,
Error404,
Events,
Home,
@@ -17,8 +19,10 @@ const routesConfig = [
{ path: "/user/:userName", element:
},
{ path: "/clubs", element:
},
{ path: "/club/:userName", element:
},
+ { path: "/dashboard", element:
},
{ path: "/events", element:
},
{ path: "/shop", element:
},
+ { path: "/trending", element:
},
{ path: "*", element:
},
];