Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

353/user data fetched on page load #1218

Merged
merged 13 commits into from
Aug 26, 2023
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import {
Secret,
} from "./StyledNewsletter";
import validateEmail from "@utils/ValidateEmail";
import { env } from "@utils/EnvironmentVariables";

const NewsLetter = (props) => {
const [email, setEmail] = useState("");
Expand All @@ -25,7 +24,7 @@ const NewsLetter = (props) => {
setCheck(true);
} else {
axios
.post(`${env().STRAPI_URL}/newsletters`, {
.post(`${process.env.NEXT_PUBLIC_STRAPI_URL}/newsletters`, {
email,
})
.then(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ 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 { useUserDataContext } from "@contexts/UserDataContext";
import { useUserDataContext } from "@devlaunchers/components/context/UserDataContext";

const HamburgerMenu: React.FC = () => {
const { userData } = useUserDataContext();
const { userData, setUserData } = useUserDataContext();
const [menuOpen, setMenuOpen] = React.useState(false);

// Called when the open/close state of the menu changes (onStateChange callback)
Expand All @@ -22,6 +22,30 @@ const HamburgerMenu: React.FC = () => {
setMenuOpen(false);
}

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 (
<SlideHamburgerMenu
right
Expand Down Expand Up @@ -84,7 +108,7 @@ const HamburgerMenu: React.FC = () => {
<div className={style.navEntry}>VISIT ACCOUNT PAGE</div>
</a>
</Link>
<a onClick={Logout} className="nav-link">
<a onClick={handleLogout} className="nav-link">
<div className={style.navEntry}>LOG OUT </div>
</a>
</>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,43 @@
import React from "react";
import Link from "next/link";
import Logout from "@utils/Logout";
import { env } from "@utils/EnvironmentVariables";
import {
AccountMenuDropdownItem,
AccountMenuDropdownButton,
MenuButton,
} from "./StyledAccountDropdown";
import { useUserDataContext } from "@devlaunchers/components/src/context/UserDataContext";

export default function AccountDropdown(props) {
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 (
<div>
{props.userData.id ? (
{userData.id ? (
<AccountMenuDropdownButton
toggleBtnText="Menu"
dropdownItems={
Expand All @@ -22,7 +48,7 @@ export default function AccountDropdown(props) {
<a>Visit Account Page</a>
</Link>
</AccountMenuDropdownItem>
<AccountMenuDropdownItem onClick={Logout}>
<AccountMenuDropdownItem onClick={handleLogout}>
Logout{" "}
</AccountMenuDropdownItem>
</>
Expand Down
7 changes: 2 additions & 5 deletions apps/dev-recruiters/src/components/common/Header/Header.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,9 @@ import {
NavEntry,
} from "./StyledHeader";

import { useUserDataContext } from "@contexts/UserDataContext";
import HamburgerMenu from "../HamburgerMenu";

export default function Header() {
const { userData } = useUserDataContext();

export default function Header() {
return (
<HeaderBlock>
<Logo>
Expand Down Expand Up @@ -61,7 +58,7 @@ export default function Header() {
</Link>
</HeaderNav>
<div />
<AccountDropdown userData={userData} />
<AccountDropdown />
<HamburgerMenu />
</HeaderBlock>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import FormEntry from "./FormEntry";
import InputField from "./InputField";
import SelectField from "./SelectField";
import TextAreaField from "./TextAreaField";
import { env } from "@utils/EnvironmentVariables";
import InputAdder from "./InputAdder";

function validateEmail(email) {
Expand Down Expand Up @@ -74,7 +73,7 @@ export default function SignUpForm(props) {
// console.log(response);
});
axios
.post(`${env().STRAPI_URL}/applicants`, {
.post(`${process.env.NEXT_PUBLIC_STRAPI_URL}/applicants`, {
email,
name,
age,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import React, { useEffect } from 'react';
import React from 'react';
import { Field, Form, Formik, FormikHelpers } from 'formik';
import * as Yup from 'yup';
import { useRouter } from 'next/router';
import { useUserDataContext } from '../../../contexts/UserDataContext';
import { NewApplicant } from '@devlaunchers/models/newApplicant';
import { SkillLevel } from '@devlaunchers/models/level';
import { atoms, organisms } from '@devlaunchers/components/src/components';
import { agent } from '@devlaunchers/utility';
import FormErrorScroller from '@devlaunchers/components/src/utils/formErrorScroller';
Expand Down
62 changes: 0 additions & 62 deletions apps/dev-recruiters/src/contexts/UserDataContext.js

This file was deleted.

3 changes: 0 additions & 3 deletions apps/dev-recruiters/src/pages/_app.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -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';

Expand Down Expand Up @@ -41,7 +40,6 @@ function MyApp(props) {
gtag('config', 'AW-599284852');
`}
</Script>
<UserDataProvider>
<div className="App">
<ToastContainer
className="toast-container"
Expand All @@ -55,7 +53,6 @@ function MyApp(props) {
{props.children}
{/* <Footer /> */}
</div>
</UserDataProvider>
</div>
</ThemeProvider>
);
Expand Down
30 changes: 0 additions & 30 deletions apps/dev-recruiters/src/utils/EnvironmentVariables.js

This file was deleted.

3 changes: 1 addition & 2 deletions apps/dev-recruiters/src/utils/Logout.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import Router from "next/router";
import axios from "axios";
import { env } from "./EnvironmentVariables";

const Logout = () => {
axios
.get(`${env().STRAPI_URL}/auth/logout`, { withCredentials: true })
.get(`${process.env.NEXT_PUBLIC_STRAPI_URL}/auth/logout`, { withCredentials: true })
.then(() => {
Router.reload(window.location.pathname);
});
Expand Down
10 changes: 3 additions & 7 deletions apps/ideaspace/src/pages/_app.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@ 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';
import theme from '@devlaunchers/components/styles/theme';

import useMockDataInDevelopment from "../utils/useMockData";
/*
import { UserDataProvider } from "@contexts/UserDataContext";
import Header from "../components/common/Header";
import Footer from "../components/common/Footer"
*/
Expand All @@ -39,11 +37,9 @@ function MyApp(props) {
<div className="IdeasApp">
<ThemeProvider theme={theme}>
<Head><meta name="google-site-verification" content="KUjgcCuL0UXshh3A0F02itHW6KizSyra4BIsFE9Iz8I" /></Head>
<UserDataProvider>
<GlobalStyle />
<IdeasBetaFeedbackModal />
{props.children}
</UserDataProvider>
<GlobalStyle />
<IdeasBetaFeedbackModal />
{props.children}
</ThemeProvider>
</div>
);
Expand Down
32 changes: 0 additions & 32 deletions apps/ideaspace/src/utils/EnvironmentVariables.js

This file was deleted.

1 change: 0 additions & 1 deletion apps/ideaspace/src/utils/Logout.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Router from "next/router";
import axios from "axios";
import { env } from "./EnvironmentVariables";

const Logout = () => {
axios
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import {
Secret,
} from "./StyledNewsletter";
import validateEmail from "../../../../utils/ValidateEmail";
import { env } from "../../../../utils/EnvironmentVariables";

const NewsLetter = (props) => {
const [email, setEmail] = useState("");
Expand All @@ -25,7 +24,7 @@ const NewsLetter = (props) => {
setCheck(true);
} else {
axios
.post(`${env().STRAPI_URL}/newsletters`, {
.post(`${process.env.NEXT_PUBLIC_STRAPI_URL}/newsletters`, {
email,
})
.then(() => {
Expand Down
Loading
Loading