From d8e6feb2420c999cc9c073bc5fec216b56a953c3 Mon Sep 17 00:00:00 2001 From: David Bradham Date: Thu, 22 Jun 2023 12:43:09 -0500 Subject: [PATCH 01/13] fix(clean code) --- .../common/HamburgerMenu/HamburgerMenu.js | 1 - .../src/components/common/Header/Header.js | 2 -- .../src/components/modules/SignUp/SignUp.js | 5 ++--- .../UserProfile/Opportunities/Opportunities.js | 11 ----------- .../modules/UserProfile/People/People.js | 11 ----------- .../RecommendedIdeas/RecommendedIdeas.js | 10 ---------- .../UserProfile/UserInterests/UserInterests.js | 4 ---- .../components/modules/UserProfile/UserProfile.js | 3 --- .../UserProfile/UserProjects/UserProjects.js | 9 --------- .../organisms/Navigation/Navigation.tsx | 15 ++++++--------- 10 files changed, 8 insertions(+), 63 deletions(-) diff --git a/apps/website/src/components/common/HamburgerMenu/HamburgerMenu.js b/apps/website/src/components/common/HamburgerMenu/HamburgerMenu.js index 85d30fa8d..0a2751a0b 100644 --- a/apps/website/src/components/common/HamburgerMenu/HamburgerMenu.js +++ b/apps/website/src/components/common/HamburgerMenu/HamburgerMenu.js @@ -5,7 +5,6 @@ import { slide as SlideHamburgerMenu } from "react-burger-menu"; import style from "./HamburgerMenu.module.css"; import logoMonogramImage from "../../../images/logo-monogram.png?webp"; import Logout from "../../../utils/Logout"; -import { env } from "../../../utils/EnvironmentVariables"; import { useUserDataContext } from "../../../context/UserDataContext"; function HamburgerMenu() { diff --git a/apps/website/src/components/common/Header/Header.js b/apps/website/src/components/common/Header/Header.js index 541d4b327..bcdb3b473 100644 --- a/apps/website/src/components/common/Header/Header.js +++ b/apps/website/src/components/common/Header/Header.js @@ -1,7 +1,6 @@ import React from "react"; import Link from "next/link"; import AccountDropdown from "./AccountDropdown"; - import { HeaderBlock, Logo, @@ -12,7 +11,6 @@ import { HeaderNav, NavEntry, } from "./StyledHeader"; - import { useUserDataContext } from "../../../context/UserDataContext"; import HamburgerMenu from "../HamburgerMenu"; diff --git a/apps/website/src/components/modules/SignUp/SignUp.js b/apps/website/src/components/modules/SignUp/SignUp.js index d21ea44e6..eca4dd859 100644 --- a/apps/website/src/components/modules/SignUp/SignUp.js +++ b/apps/website/src/components/modules/SignUp/SignUp.js @@ -3,11 +3,8 @@ import { useRouter } from "next/router"; import axios from "axios"; import PageBody from "../../common/PageBody"; // import DiscordImage from "../../../images/signup/discord.png?webp"; - import { FormWrapper } from "./StyledSignUp"; - import { useUserDataContext } from "../../../context/UserDataContext"; -import { env } from "../../../utils/EnvironmentVariables"; export default function SignUp() { // const [loading, setLoading] = useState(true); @@ -22,6 +19,7 @@ export default function SignUp() { useEffect(() => { // setLoading(userData.id === -1); // Prefetch the user profile page + console.log('just being stupid?'); router.prefetch("/users/me"); // eslint-disable-next-line react-hooks/exhaustive-deps }, [userData]); @@ -29,6 +27,7 @@ export default function SignUp() { const updateUser = async (e) => { e.preventDefault(); try { + console.log('updateUser'); const currentUser = await axios(`${process.env.NEXT_PUBLIC_STRAPI_URL}/users/me`, { withCredentials: true, }); diff --git a/apps/website/src/components/modules/UserProfile/Opportunities/Opportunities.js b/apps/website/src/components/modules/UserProfile/Opportunities/Opportunities.js index be07c1682..9ae096b9b 100644 --- a/apps/website/src/components/modules/UserProfile/Opportunities/Opportunities.js +++ b/apps/website/src/components/modules/UserProfile/Opportunities/Opportunities.js @@ -1,15 +1,4 @@ import React from "react"; -import axios from "axios"; -import Link from "next/link"; -import { useRouter } from "next/router"; - -import Button from "../../../common/Button"; -import Card from "../../../common/Card"; - -import { env } from "../../../../utils/EnvironmentVariables"; - -import { useUserDataContext } from "../../../../context/UserDataContext"; - import { OpportunitiesContainer } from "./StyledOpportunities"; const Opportunities = ({ opportunities }) => { diff --git a/apps/website/src/components/modules/UserProfile/People/People.js b/apps/website/src/components/modules/UserProfile/People/People.js index 89e7d97b6..bf0728b3f 100644 --- a/apps/website/src/components/modules/UserProfile/People/People.js +++ b/apps/website/src/components/modules/UserProfile/People/People.js @@ -1,16 +1,5 @@ import React from "react"; import Image from "next/image"; -import axios from "axios"; -import Link from "next/link"; -import { useRouter } from "next/router"; - -import Button from "../../../common/Button"; -import Card from "../../../common/Card"; - -import { env } from "../../../../utils/EnvironmentVariables"; - -import { useUserDataContext } from "../../../../context/UserDataContext"; - import { PeopleContainer } from "./StyledPeople"; const People = ({ people }) => { diff --git a/apps/website/src/components/modules/UserProfile/RecommendedIdeas/RecommendedIdeas.js b/apps/website/src/components/modules/UserProfile/RecommendedIdeas/RecommendedIdeas.js index ef1363c91..46be637fc 100644 --- a/apps/website/src/components/modules/UserProfile/RecommendedIdeas/RecommendedIdeas.js +++ b/apps/website/src/components/modules/UserProfile/RecommendedIdeas/RecommendedIdeas.js @@ -1,15 +1,5 @@ import React from 'react'; -import axios from 'axios'; -import Link from 'next/link'; -import { useRouter } from 'next/router'; - -import Button from '../../../common/Button'; import Card from '../../../common/Card'; - -import { env } from '../../../../utils/EnvironmentVariables'; - -import { useUserDataContext } from '../../../../context/UserDataContext'; - import { RecommendedIdeasContainer, RecommendedIdeaCardContainer, diff --git a/apps/website/src/components/modules/UserProfile/UserInterests/UserInterests.js b/apps/website/src/components/modules/UserProfile/UserInterests/UserInterests.js index 5260bc6b9..58bf7a7f6 100644 --- a/apps/website/src/components/modules/UserProfile/UserInterests/UserInterests.js +++ b/apps/website/src/components/modules/UserProfile/UserInterests/UserInterests.js @@ -1,10 +1,6 @@ import axios from "axios"; import React from "react"; - import { useUserDataContext } from "../../../../context/UserDataContext"; - -import { env } from "../../../../utils/EnvironmentVariables"; - import { UserInterestCard, UserInterestsCardContainer, diff --git a/apps/website/src/components/modules/UserProfile/UserProfile.js b/apps/website/src/components/modules/UserProfile/UserProfile.js index 5841ed867..8602d4ffe 100644 --- a/apps/website/src/components/modules/UserProfile/UserProfile.js +++ b/apps/website/src/components/modules/UserProfile/UserProfile.js @@ -14,9 +14,6 @@ import ProfileCard from './ProfileCard'; import RecommendedIdeas from './RecommendedIdeas'; import UserProjects from './UserProjects'; import People from './People'; - -import { env } from '../../../utils/EnvironmentVariables'; - import { Misc, UserInfo, UserSection, Wrapper } from './StyledUserProfile'; import UserInterests from './UserInterests'; import { useRouter } from "next/router"; diff --git a/apps/website/src/components/modules/UserProfile/UserProjects/UserProjects.js b/apps/website/src/components/modules/UserProfile/UserProjects/UserProjects.js index d2dbb53b2..052f091c3 100644 --- a/apps/website/src/components/modules/UserProfile/UserProjects/UserProjects.js +++ b/apps/website/src/components/modules/UserProfile/UserProjects/UserProjects.js @@ -1,15 +1,6 @@ import React from "react"; -import axios from "axios"; -import Link from "next/link"; -import { useRouter } from "next/router"; - import Button from "../../../common/Button"; import Card from "../../../common/Card"; - -import { env } from "../../../../utils/EnvironmentVariables"; - -import { useUserDataContext } from "../../../../context/UserDataContext"; - import { UserProjectsContainer } from "./StyledUserProjects"; const UserProjects = ({ myProjects }) => { diff --git a/packages/UI/src/components/organisms/Navigation/Navigation.tsx b/packages/UI/src/components/organisms/Navigation/Navigation.tsx index e1bdd6532..1504975ad 100644 --- a/packages/UI/src/components/organisms/Navigation/Navigation.tsx +++ b/packages/UI/src/components/organisms/Navigation/Navigation.tsx @@ -39,11 +39,8 @@ const links = { */ export default function Navigation({ user }: NavigationProps) { const ListStyle = { listStyle: 'none' }; - let userInfo = user; - if (!user) { - userInfo = useUserDataContext().userData; - } - // const { userData } = useUserDataContext(); + const { userData } = useUserDataContext(); + return ( <> @@ -74,7 +71,7 @@ export default function Navigation({ user }: NavigationProps) { })} - {userInfo.id === 0 ? ( + {userData.id === 0 ? ( diff --git a/packages/UI/src/components/organisms/Navigation/Navigation.tsx b/packages/UI/src/components/organisms/Navigation/Navigation.tsx index 1504975ad..f7477d9c9 100644 --- a/packages/UI/src/components/organisms/Navigation/Navigation.tsx +++ b/packages/UI/src/components/organisms/Navigation/Navigation.tsx @@ -1,5 +1,4 @@ import Link from 'next/link'; -import React from 'react'; import { ThemeProvider } from 'styled-components'; import theme from '../../../styles/theme'; import Logout from '../../../utils/Logout'; @@ -39,7 +38,31 @@ const links = { */ export default function Navigation({ user }: NavigationProps) { const ListStyle = { listStyle: 'none' }; - const { userData } = useUserDataContext(); + const { userData, setUserData } = useUserDataContext(); + + const handleLogout = () => { + Logout(); + setUserData({ + id: 0, + name: '', + username: '', + email: '', + bio: '', + profilePictureUrl: '', + socialMediaLinks: [], + totalPoints: 0, + totalSeasonPoints: 0, + availablePoints: 0, + volunteerHours: 0, + discord: { + id: 0, + avatar: '', + username: '', + discriminator: '', + }, + interests: [], + }); + }; return ( <> @@ -109,7 +132,7 @@ export default function Navigation({ user }: NavigationProps) { @@ -117,7 +140,7 @@ export default function Navigation({ user }: NavigationProps) { )} - + diff --git a/packages/UI/src/utils/Logout.js b/packages/UI/src/utils/Logout.js index e587abd4c..c8fce0b95 100644 --- a/packages/UI/src/utils/Logout.js +++ b/packages/UI/src/utils/Logout.js @@ -2,8 +2,6 @@ import Router from 'next/router'; import axios from 'axios'; const Logout = () => { - localStorage.setItem('userData', ''); - axios .get(`${process.env.NEXT_PUBLIC_STRAPI_URL}/auth/logout`, { withCredentials: true, From b4106fcee76344ac0ca74d262cd076de1d2835ff Mon Sep 17 00:00:00 2001 From: David Bradham Date: Sun, 25 Jun 2023 15:43:24 -0500 Subject: [PATCH 13/13] fix(remove multiple calls to providers) --- apps/dev-recruiters/src/pages/_app.jsx | 3 -- apps/ideaspace/src/pages/_app.js | 9 ++--- apps/site-projects/src/pages/_app.jsx | 3 -- apps/website/src/pages/_app.js | 47 ++++++++++++-------------- 4 files changed, 25 insertions(+), 37 deletions(-) diff --git a/apps/dev-recruiters/src/pages/_app.jsx b/apps/dev-recruiters/src/pages/_app.jsx index 483bd438c..a497e6d23 100644 --- a/apps/dev-recruiters/src/pages/_app.jsx +++ b/apps/dev-recruiters/src/pages/_app.jsx @@ -7,7 +7,6 @@ import GlobalStyle from '@devlaunchers/components/src/styles/global'; import 'react-toastify/dist/ReactToastify.css'; import theme from '@devlaunchers/components/src/styles/theme'; -import { UserDataProvider } from '@devlaunchers/components/src/context/UserDataContext'; // import Footer from '@devlaunchers/components/Footer'; // import Header from '@devlaunchers/components/components/Header'; @@ -41,7 +40,6 @@ function MyApp(props) { gtag('config', 'AW-599284852'); `} -
*/}
-
); diff --git a/apps/ideaspace/src/pages/_app.js b/apps/ideaspace/src/pages/_app.js index 7345dcdc0..28db4f423 100644 --- a/apps/ideaspace/src/pages/_app.js +++ b/apps/ideaspace/src/pages/_app.js @@ -4,7 +4,6 @@ import { ThemeProvider } from 'styled-components'; import GlobalStyle from '../styles/globals'; import Head from 'next/head'; -import { UserDataProvider } from '@devlaunchers/components/context/UserDataContext'; import IdeasBetaFeedbackModal from '../components/modules/IdeasBetaFeedbackModal'; import 'react-toastify/dist/ReactToastify.css'; @@ -38,11 +37,9 @@ function MyApp(props) {
- - - - {props.children} - + + + {props.children}
); diff --git a/apps/site-projects/src/pages/_app.jsx b/apps/site-projects/src/pages/_app.jsx index 01c26c1aa..03b1261f4 100644 --- a/apps/site-projects/src/pages/_app.jsx +++ b/apps/site-projects/src/pages/_app.jsx @@ -6,7 +6,6 @@ import GlobalStyle from "../styles/globals"; import "react-toastify/dist/ReactToastify.css"; import oldTheme from "../styles/theme"; -import { UserDataProvider } from '@devlaunchers/components/context/UserDataContext'; const hashRedirect = (router) => { // Strip out hash from url (if any) so we can transition from HashRouter to BrowserRouter @@ -37,7 +36,6 @@ function MyApp(props) { gtag('config', 'AW-599284852'); `} -
*/} {props.children}
-
diff --git a/apps/website/src/pages/_app.js b/apps/website/src/pages/_app.js index 96d497b43..0d263aa31 100644 --- a/apps/website/src/pages/_app.js +++ b/apps/website/src/pages/_app.js @@ -10,7 +10,6 @@ import 'react-toastify/dist/ReactToastify.css'; import theme from '../styles/theme'; import { initGA, logPageView } from '../utils/GoogleAnalytics'; -import { UserDataProvider } from '@devlaunchers/components/context/UserDataContext'; import { SheetsProvider } from '../context/SheetsContext'; const hashRedirect = (router) => { @@ -45,32 +44,30 @@ function MyApp(props) { return ( <> - - - - -
- - - + + + +
+ + + -
- -
- {/* */} - {props.children} +
+
- - - + {/* */} + {props.children} +
+
+
); }