diff --git a/package-lock.json b/package-lock.json index 68445a8d..1b4e1071 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "js-cookie": "^3.0.5", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-fast-marquee": "^1.6.3", + "react-fast-marquee": "^1.6.4", "react-helmet-async": "^1.3.0", "react-hook-form": "^7.49.3", "react-icons": "^4.10.1", @@ -48,6 +48,7 @@ "husky": "^8.0.0", "lint-staged": "^13.2.1", "prettier": "^3.1.1", + "sass": "^1.70.0", "vite": "^4.4.2", "vite-plugin-pwa": "^0.16.5" } @@ -9774,6 +9775,12 @@ "url": "https://opencollective.com/immer" } }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "devOptional": true + }, "node_modules/import-fresh": { "version": "3.3.0", "license": "MIT", @@ -15442,9 +15449,9 @@ "license": "MIT" }, "node_modules/react-fast-marquee": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/react-fast-marquee/-/react-fast-marquee-1.6.3.tgz", - "integrity": "sha512-oEISmNElv6lua/4i4uPYIteUKDxU0hAKKjH/tY2icje4GCns1rX6pIrkwVhjX0FMCIepUVqeyCchvqkiO/s2vw==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/react-fast-marquee/-/react-fast-marquee-1.6.4.tgz", + "integrity": "sha512-LAgvhRmHdqaUQ8R5jCUwzEGFUIjnCCt3T3W8X7j7wF6DWe0SATlpP0JX1V0pp2qX3DYUezmn1Iz5AtRFdL2EWQ==", "peerDependencies": { "react": ">= 16.8.0 || 18.0.0", "react-dom": ">= 16.8.0 || 18.0.0" @@ -16326,6 +16333,23 @@ "version": "13.0.0", "license": "CC0-1.0" }, + "node_modules/sass": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", + "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", + "devOptional": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/sass-loader": { "version": "12.6.0", "license": "MIT", diff --git a/package.json b/package.json index e908357c..a5009d8e 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "js-cookie": "^3.0.5", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-fast-marquee": "^1.6.3", + "react-fast-marquee": "^1.6.4", "react-helmet-async": "^1.3.0", "react-hook-form": "^7.49.3", "react-icons": "^4.10.1", @@ -83,6 +83,7 @@ "husky": "^8.0.0", "lint-staged": "^13.2.1", "prettier": "^3.1.1", + "sass": "^1.70.0", "vite": "^4.4.2", "vite-plugin-pwa": "^0.16.5" }, diff --git a/src/App.jsx b/src/App.jsx index 3515431b..b77ef9a3 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,6 +2,7 @@ import React from "react"; import { Route, BrowserRouter as Router, Routes } from "react-router-dom"; import { BacktoTop } from "./components/shared"; import "./styles/App.css"; +import "./styles/Globals.scss"; import routesConfig from "./utils/routesConfig.jsx"; const App = () => { diff --git a/src/assets/svg/Bell.svg b/src/assets/svg/Bell.svg new file mode 100644 index 00000000..ff1450ca --- /dev/null +++ b/src/assets/svg/Bell.svg @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/components/private/cards/club/style.css b/src/components/private/cards/club/ClubCard.css similarity index 100% rename from src/components/private/cards/club/style.css rename to src/components/private/cards/club/ClubCard.css diff --git a/src/components/private/cards/club/ClubCard.jsx b/src/components/private/cards/club/ClubCard.jsx index 1f03e66f..82e0cd6d 100644 --- a/src/components/private/cards/club/ClubCard.jsx +++ b/src/components/private/cards/club/ClubCard.jsx @@ -1,6 +1,6 @@ import React from "react"; import { Button } from "../../../shared"; -import "./style.css"; +import "./ClubCard.css"; const DetailedClub = ({ club }) => { return ( diff --git a/src/components/private/landing/Landing.css b/src/components/private/landing/Landing.css index 28440a7f..b3f5928c 100644 --- a/src/components/private/landing/Landing.css +++ b/src/components/private/landing/Landing.css @@ -84,7 +84,7 @@ font-family: "Poppins", sans-serif; font-size: 17px; font-style: normal; - width: 180px; + width: auto; font-weight: 500; display: flex; justify-content: space-evenly; diff --git a/src/components/shared/cards/events/EventsCard.css b/src/components/shared/cards/events/EventsCard.css new file mode 100644 index 00000000..a59e7f4f --- /dev/null +++ b/src/components/shared/cards/events/EventsCard.css @@ -0,0 +1,56 @@ +.eventscard_parent { + border-radius: 6px; + width: 300px; + height: 300px; + position: relative; + background-color: white; + border: 1px solid #6b2615; + padding: 0.5rem; + cursor: pointer; + transition: all 0.3s ease-in-out; + margin: 0 1rem; +} + +.mySwiper { + padding: 1.5rem 0; +} + +.eventscard_parent:hover { + -webkit-box-shadow: 0px 0px 20px 7px rgba(226, 105, 89, 0.32); + -moz-box-shadow: 0px 0px 20px 7px rgba(226, 105, 89, 0.32); + box-shadow: 0px 0px 20px 7px rgba(226, 105, 89, 0.32); + border: 1px solid #ff5b31; + transition: all 0.3s ease-in-out; +} + +.eventscard_parent > img:nth-of-type(1) { + width: 100%; + margin: auto; + border-radius: 6px 6px 0 0px; +} + +.eventscard_body > h1 { + font-size: 17px; + color: black; + font-weight: 700; + font-family: "Poppins", sans-serif; + margin-top: 0.5rem; +} + +.eventscard_date { + background-color: white; + position: absolute; + top: 7px; + right: 7px; + text-align: center; + padding: 7px 2px; + border-radius: 4px; +} + +.eventscard_date > p { + color: black; + font-family: "Inter", sans-serif; + font-weight: 700; + margin: 0; + font-size: 1px; +} diff --git a/src/components/shared/cards/events/EventsCard.jsx b/src/components/shared/cards/events/EventsCard.jsx new file mode 100644 index 00000000..03db2368 --- /dev/null +++ b/src/components/shared/cards/events/EventsCard.jsx @@ -0,0 +1,23 @@ +import React from "react"; +import "./EventsCard.css"; + +const EventsCard = () => { + return ( +
+ + +
+

ISB Alumni Social Impact SIG Initiative

+
+

01

+

OCT

+
+
+
+ ); +}; + +export default EventsCard; diff --git a/src/pages/clubs/all/Clubs.css b/src/pages/clubs/Clubs.css similarity index 100% rename from src/pages/clubs/all/Clubs.css rename to src/pages/clubs/Clubs.css diff --git a/src/pages/clubs/all/Clubs.jsx b/src/pages/clubs/Clubs.jsx similarity index 69% rename from src/pages/clubs/all/Clubs.jsx rename to src/pages/clubs/Clubs.jsx index cf8a41e3..c8a64de0 100644 --- a/src/pages/clubs/all/Clubs.jsx +++ b/src/pages/clubs/Clubs.jsx @@ -1,10 +1,10 @@ import React, { useEffect } from "react"; import useSWR from "swr"; -import { DetailedClub } from "../../../components/private"; -import { Footer, Header, Navbar } from "../../../components/shared"; -import { clubEndpoints } from "../../../static/ApiEndpoints"; -import ComponentHelmet from "../../../utils/ComponentHelmet"; -import fetcher from "../../../utils/Fetcher"; +import { DetailedClub } from "../../components/private"; +import { Footer, Header, Navbar } from "../../components/shared"; +import { clubEndpoints } from "../../static/ApiEndpoints"; +import ComponentHelmet from "../../utils/ComponentHelmet"; +import fetcher from "../../utils/Fetcher"; import "./Clubs.css"; const Clubs = () => { diff --git a/src/pages/clubs/profile/Profile.css b/src/pages/clubs/profile/Profile.css deleted file mode 100644 index 9702d1fc..00000000 --- a/src/pages/clubs/profile/Profile.css +++ /dev/null @@ -1,266 +0,0 @@ -.clubdetails_parent { - padding: 5rem 2rem; -} - -.clubdetails_main { - position: relative; - max-width: 1200px; - margin: auto; -} - -.clubdetails_header { - position: relative; - height: 350px; -} - -.clubdetails_header_img { - width: 100%; - height: 100%; - margin: auto; - border-radius: 6px; -} - -.clubdetails_header_pfp { - position: absolute; - width: 150px; - border-radius: 6px; - left: 1rem; - bottom: -4rem; - height: 150px; - object-fit: cover; -} - -.clubdetails_subscribe { - display: flex; - justify-content: flex-end; - margin-top: 1rem; - gap: 1rem; -} - -.clubdetails_body { - margin-top: 1.5rem; - margin-left: 1rem; -} - -.clubdetails_body > h1 { - font-size: 30px; - color: #28183b; - font-weight: 800; - font-family: "Inter", sans-serif; -} - -.clubdetails_body > p:nth-of-type(1) { - font-size: 17px; - color: black; - font-family: "Poppins", sans-serif; - font-weight: normal; - margin: 0; - width: 500px; -} - -.clubdetails_address { - margin-top: 15px; -} - -.clubdetails_address > p { - color: rgba(0, 0, 0, 0.782); - font-family: "Poppins", sans-serif; - margin: 0; - font-size: 11px; -} - -.clubdetails_about { - margin-top: 2rem; -} - -.clubdetails_contact { - margin-top: 1rem; - display: flex; - align-items: center; - gap: 7px; - color: blue; - font-weight: 700; - font-family: "Inter", sans-serif; -} - -.clubdetails_contact > a { - margin: 0; - font-size: 17px; - cursor: pointer; - text-decoration: none; -} - -.clubdetails_contact_dot { - width: 5px; - height: 5px; - border-radius: 50%; - background-color: rgb(0, 0, 0); -} - -.clubdetails_about > h1 { - font-size: 27px; - color: black; - font-weight: 800; - font-family: "Inter", sans-serif; - margin-top: 4rem; -} - -.clubdetails_about > p { - font-size: 17px; - color: black; - font-family: "Poppins", sans-serif; - font-weight: normal; - margin: 0; -} - -.clubdetails_events > h1 { - font-size: 27px; - color: black; - font-weight: 800; - font-family: "Inter", sans-serif; - margin-top: 4rem; -} - -.clubdetails_eventcard { - border-radius: 6px; - width: 350px; - height: 300px; - position: relative; -} - -.clubdetails_eventcard > img:nth-of-type(1) { - width: 100%; - - margin: auto; - border-radius: 6px 6px 0 0px; -} - -.clubdetails_eventcard_body > h1 { - font-size: 17px; - color: black; - font-weight: 900; - font-family: "Poppins", sans-serif; - margin-top: 0.5rem; - width: 60%; -} - -.clubdetails_eventcard_body_date { - background-color: white; - position: absolute; - top: 7px; - right: 7px; - text-align: center; - padding: 7px 2px; - border-radius: 4px; -} - -.clubdetails_eventcard_body_date > p { - color: black; - font-family: "Inter", sans-serif; - font-weight: 700; - margin: 0; - font-size: 1px; -} - -.clubdetails_map > h1 { - font-size: 27px; - color: black; - font-weight: 800; - font-family: "Inter", sans-serif; - margin-top: 4rem; -} - -/* Mobile screen */ -@media screen and (max-width: 500px) { - .clubdetails_parent { - padding: 4rem 1rem; - } - - .clubdetails_header { - height: 150px; - } - - .clubdetails_header_pfp { - width: 70px; - height: 70px; - left: 0.5rem; - bottom: -3rem; - } - - .clubdetails_subscribe { - display: flex; - justify-content: flex-end; - margin-top: 1rem; - gap: 10px; - } - - .clubdetails_subscribe > button { - border-radius: 5px; - padding: 3px 10px; - gap: 5px; - } - .clubdetails_subscribe > button > p { - font-size: 11px; - } - - .clubdetails_subscribe > button > svg { - font-size: 15px; - margin-bottom: 3px; - } - - .clubdetails_body { - margin-top: 1.5rem; - margin-left: 0.6rem; - } - - .clubdetails_body > h1 { - font-size: 23px; - } - - .clubdetails_body > p:nth-of-type(1) { - font-size: 16px; - width: 100%; - } - - .clubdetails_address { - margin-top: 15px; - } - - .clubdetails_address > p { - font-size: 16px; - } - - .clubdetails_about { - margin-top: 2rem; - } - - .clubdetails_contact > a { - font-size: 16px; - } - - .clubdetails_about > h1 { - font-size: 21px; - } - - .clubdetails_about > p { - font-size: 16px; - } - - .clubdetails_events > h1 { - font-size: 21px; - } - - .clubdetails_eventcard { - width: 100%; - } - - .clubdetails_eventcard > img:nth-of-type(1) { - width: 100%; - } - - .clubdetails_eventcard_body > h1 { - font-size: 17px; - } -} - -/* 501px to */ diff --git a/src/pages/clubs/profile/Profile.jsx b/src/pages/clubs/profile/Profile.jsx deleted file mode 100644 index 0fc81937..00000000 --- a/src/pages/clubs/profile/Profile.jsx +++ /dev/null @@ -1,429 +0,0 @@ -import React, { useEffect } from "react"; -import { useNavigate, useParams } from "react-router-dom"; -import useSWR from "swr"; - -import { Button, Footer, Navbar } from "../../../components/shared"; - -import { Logout } from "../../../service/MilanApi"; -import { clubEndpoints } from "../../../static/ApiEndpoints"; -import fetcher from "../../../utils/Fetcher"; -import { showErrorToast, showSuccessToast } from "../../../utils/Toasts"; -import "./Profile.css"; - -import { BiEdit, BiLinkExternal, BiLogOut } from "react-icons/bi"; -import { BsDot } from "react-icons/bs"; -import { MdOutlineAttachMoney } from "react-icons/md"; - -import Cookies from "js-cookie"; -import "swiper/css"; -import "swiper/css/autoplay"; -import "swiper/css/navigation"; -import "swiper/css/pagination"; -import { Autoplay, Navigation, Pagination } from "swiper/modules"; -import { Swiper, SwiperSlide } from "swiper/react"; - -const Profile = () => { - useEffect(() => { - window.scrollTo(0, 0); - }, []); - - const params = useParams(); - const navigate = useNavigate(); - - const { data: clubdetails, isLoading } = useSWR( - clubEndpoints.details(params.slug), - fetcher, - ); - - if (isLoading) return
Loading...
; - - async function handleLogout() { - const data = await Logout(); - - if (data?.status === 200) { - showSuccessToast(data?.data?.message); - setTimeout(() => { - navigate("/"); - }, 1500); - } else { - showErrorToast(data?.message); - } - } - - return ( - <> - -
-
-
- - -
- -
- {Cookies.get("username") !== params.slug ? ( - - ) : ( - <> - - - - )} -
- -
-

{clubdetails?.name}

-

{clubdetails?.tagLine}

-
-

{clubdetails?.address}

-

- {clubdetails?.city}, {clubdetails?.state},{" "} - {clubdetails?.country} -

-
- -
- Contact Info - {clubdetails?.website && ( - <> - - - - Website - - - )} -
- -
-

About us

- {/*

{clubdetails?.description}

*/} -

- Lorem Ipsum is simply dummy text of the printing and typesetting - industry. Lorem Ipsum has been the industrys standard dummy text - ever since the 1500s, when an unknown printer took a galley of - type and scrambled it to make a type specimen book. It has - survived not only five centuries, but also the leap into - electronic typesetting, remaining essentially unchanged. It was - popularised in the 1500s, when an unknown printer took a galley - of type and scrambled it to make a type specimen book. It has - survived not only five cent -
-
- Lorem Ipsum has been the industrys standard dummy text ever - since the 1500s, when an unknown printer took a galley of type - and scrambled it to make a type specimen book. It has survived - not only five centuries, but also the leap into electronic - typesetting, remaining essentially unchanged. -

-
- -
-

Past Events

- {window.innerWidth > 1200 ? ( - - -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
-
- ) : ( - - -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
- -
- - -
-

ISB Alumni Social Impact SIG Initiative

-
-

01

-

OCT

-
-
-
-
-
- )} -
- -
-

Find us at

- -
-
-
-
- -